Russia had initially banned any political protests in Sochi during the February Games as part of a tough security crackdown ostensibly aimed at preventing attacks by Islamist militants.
Putin signed a presidential decree saying that demonstrations, pickets and marches "can be held" but that their locations and routes must be agreed with officials in the Black Sea resort city along with regional police and security forces.
The amended decree, published on the Kremlin's website, also allows officials to set limits on how many people can take part in protests during the Games, which run from February 7 to 23.
"The president charged the Olympic Games' organisers along with the leadership of the Krasnodar region and Sochi city hall with picking out a spot in the city where it would be possible to freely hold actions, rallies and other events -- including if necessary protests," Peskov said.
More From This Section
Putin is currently in Sochi where he is inspecting the Olympic sites.
Putin had issued a decree in August that forbade any rallies or marches over issues unrelated to the Games from being held inside the tightly controlled security zone.
IOC President Thomas Bach said in December that the Russian organisers had agreed to allow a "protest zone" at the games after discussions with the committee, saying he welcomed the move.
Russia's powerful security force, the FSB, drafted the amendment, which it said would comply with the Olympic Charter while allowing the authorities to "effectively manage potential protest actions".
US President Barack Obama and European leaders including British Prime Minister David Cameron have announced they will not attend the opening ceremony amid concerns over Russia's rights record and particularly a recent law banning "homosexual propaganda".