The 32-year-old will represent the Cardiff club when his spell with Gujarat Lions in the Indian Premier League comes to an end.
Steyn is due to compete in home matches against Essex Eagles, Hampshire, Kent Spitfires and Surrey.
The club's chief executive Hugh Morris said: "We've had to remain patient in our search for overseas talent this season, but we're delighted to have got this deal over the line.
"Dale's standing in the international game is testament to the talent and consistency that he continues to display in all formats and we look forward to welcoming him to our club.
"The opportunity to sign a player of this calibre was one that we had to take and we can't wait for him to wear a Glamorgan shirt."
Steyn added: "The timing of this opportunity is ideal and there is no better way to prepare than playing in the IPL.
"I know that Jacques and the rest of the team have set an initial target of qualifying for the quarter-finals and I will do all that I can to give the team the best possible start.
"It's also a valuable opportunity to get some overs under the belt in the lead up to the SA Test series in a controlled T20 environment."
For South Africa, Steyn has taken 406 wickets in 82 Test appearances, 112 one-day internationals and 42 T20 matches.