Ukraine has declared martial law in part of the country after the capture of three of its naval vessels and 23 crew members by Russia.
Lawmakers backed President Petro Poroshenko's request to introduce it in regions mostly bordering Russia for 30 days starting from 28 November.
The authorities can now restrict public rallies and regulate the media.
Some MPs expressed fears Mr Poroshenko could suspend a presidential poll on 31 March 2019 - a claim he firmly denied.
Sunday's naval clash was off the coast of Crimea, annexed by Russia in 2014. Russian coastguard ships opened fire before special forces stormed the Ukrainian vessels. Between three and six Ukrainians were injured.
Ukraine said it was a Russian "act of aggression". Moscow said the ships had illegally entered its waters.
The naval clash is the first time Russia and Ukraine have come into open conflict in recent years, although Ukrainian forces have been fighting Russian-backed separatists and Russian "volunteers" in the east since 2014.
A number of Western countries condemned Russia's actions.
In New York, the United Nations Security Council met to discuss the crisis - but failed to agree a Russian-proposed agenda amid sharp disagreements between Moscow and the West.
What is the latest?
After heated debate in Ukraine's parliament, 276 lawmakers voted in favour of martial law covering:
- Five regions bordering Russian territory
- Two regions bordering Moldova's breakaway Transdnistria region
- Three regions on the Black Sea/Sea of Azov coast
- Thirty lawmakers voted against the move.
Thirty lawmakers voted against the move.
Martial law will enter into force at 09:00 local time on 28 November and will end on 27 December.
Monday's vote in parliament came after an emotional address by President Poroshenko, who promised not to restrict basic freedoms.
But he stressed he needed firm power in case of a full-scale Russian invasion.
Ukraine's national security and defence council had initially recommended a 60-day martial law.
But Mr Poroshenko said he amended the proposal because he did not want martial law to affect the presidential elections.
Still, critics expressed fears that Mr Poroshenko - whose ratings have plummeted in recent months - could suspend the elections to stay in power.
What happened on Sunday?
This is the chronology of the dramatic events that led to the naval clash:
- In the morning, Ukraine said it had sent two gunboats and a tug from the Black Sea port of Odessa to Mariupol in the Sea of Azov
- Ukraine's navy then said Russian boats had tried to intercept its vessels, ramming the tug
- Russia accused Ukraine of illegally entering its territorial waters
- Russia scrambled fighter jets and helicopters as the Ukrainian vessels approached a bridge over the Kerch Strait - the only access to the Sea of Azov
- The bridge itself was blocked by a tanker
- In the evening, Ukraine said its vessels had been fired on and seized by the Russians. Six Ukrainian crew members were injured
- Russia confirmed it had used weapons to force the Ukrainian vessels to stop, saying three Ukrainians were injured
Russia said the Ukrainian ships were in its waters illegally because Moscow had temporarily closed an area of water for shipping.
Kiev called Russia's actions a flagrant violation of international law, because the Black Sea is free for shipping, and Crimea belongs to Ukraine.
Ukraine also cited a 2003 Russia-Ukraine treaty on unimpeded access to the Kerch Strait and Sea of Azov.
It said it had informed the Russians in advance of its plan to move its ships to Mariupol - a claim denied by Russia.
In recent weeks, two Ukrainian vessels passed through the Kerch Straight without incident.