The 33-year-old, capped 104 times by his country across the formats, will play for Middlesex from late June until mid-August.
He will replace compatriot Adam Voges while the Middlesex captain is on Test duty in Sri Lanka and follows New Zealanders Brendon McCullum and Mitchell McClenaghan in pitching up at Lord's this year.
"Obtaining high-quality overseas player cover for an entire season is extremely difficult and everyone at Middlesex is delighted that we have been able to acquire the services of a player of George's ability," said Middlesex's managing director of cricket Angus Fraser.
Bailey, who played for Sussex last year, told the Middlesex website: "I can't wait to get over there.
"I'm itching to play in the UK again after a productive and enjoyable stint last year. Playing at Lord's is an absolute honour. Who wouldn't want to have Lord's as their home ground?"
Bailey is currently playing for Rising Pune Supergiants in the Indian Premier League.