The 24-year-old appealed to the Court of Arbitration for Sport (Cas) after the International Olympic Committee ruled any Russian athlete who had been sanctioned for doping would be banned.
The 2012 bronze medallist will compete in the 100m and 200m breaststroke.
She was banned for 16 months in 2013 after traces of an anabolic steroid were found in her system.
Earlier this year she was given a provisional ban after testing positive for meldonium, but the International Swimming Federation lifted the suspension after advice from the World Anti-Doping Agency (Wada).
Cas has ruled that athletes cannot be banned from Rio on the basis that they have been previously sanctioned.
Swimmer Yulia Efimova has been added to the 271 Russian athletes already eligible to compete at the Olympics.