Ensberg will earn a base salary of $650,000 if he makes the major league club out of spring training.
Last season the 33-year-old Ensberg hit .203 in 28 games with the Yankees and .189 in 52 games with Cleveland's Triple-A team in Buffalo. His production has declined steadily since he hit 36 home runs and made the National League All-Star team with Houston in 2005.
Ensberg said he'll have an opportunity to back up Evan Longoria at third base and Carlos Pena at first for the defending AL champion Rays, and that he's also willing to fill in at second base and left field. If he doesn't make the major league roster, he will begin the season with Triple-A Durham.
"I haven't had a lot of success lately, so I'm really excited about this," Ensberg said. "There's no pride issue here. I have to go in and play well. This isn't rocket science."
The DRaysBay blog in Tampa reported last week that the Rays were close to signing Ensberg. He reached agreement with the club Friday.
Jerry Crasnick covers Major League Baseball for ESPN.com.