It's good to be Cameron Diaz. The actress topped Forbes magazine's list of the best-paid actresses in Hollywood with a bank-breaking $50 million in the past year, thanks to her role in the Shrek franchise. Right on her heels is Keira Knightley, who scored $32 million with her roles in Pirates of the Caribbean: At World's End and the tear-jerking Atonement. Jennifer Aniston came in at number three with $27 million earned from her various romantic comedies, Friends syndication and a big endorsement deal with Glacéau's Smartwater. Gwyneth Paltrow and Reese Witherspoon tied for fourth place with each making $25 million in the past year. Reese just landed a three-year cosmetics contract with Avon worth approximately $30 million while Gwyneth already scored a deal with Estée Lauder.