Steyn will join his new team-mates at the Cardiff-based club after playing in the Indian Premier League with the Gujarat Lions.
He will be available for Glamorgan’s first seven Twenty20 Blast fixtures, with Australia fast bowler Shaun Tait replacing him for the second half of the competition.
Steyn’s captain at Glamorgan will be his former South Africa colleague Jacques Rudolph.
“The timing of this opportunity is ideal and there is no better way to prepare than playing in the IPL,” said Steyn in a Glamorgan statement.
“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 South Africa Test series in a controlled T20 environment.”
South Africa face New Zealand in a two-Test series in August, with Steyn set to play for another Twenty20 side before that campaign when he joins the Jamaica Tallawahs in the Caribbean Premier League.
He will set miss South Africa’s Tri-Series against Australia and the West Indies in June.
Steyn has taken 178 T20 wickets at 23.22, including 58 at a miserly average of 17.39 in 42 games for South Africa.
He has also taken 406 wickets in 82 Tests and was recently described as the “bowler of our generation” by England quick Stuart Broad.
“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,” said Glamorgan chief executive Hugh Morris.
“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,” the former England batsman added.
Should the Lions reach the IPL final, Steyn’s arrival in Wales will be delayed until after Glamorgan’s Blast opener at Surrey and he could also miss the home match with Essex.