Brady will not report directly to Anaheim, but he will fill the last spot on the Angels' 40-man roster.
Brady, 27, had been designated for assignment by the Marlins. He had 23 saves and a 1.53 earned-run average in 49 games at double-A Jacksonville last season, with nine walks and 55 strikeouts in 53 innings.
Brady is an Orange County product. He was born in Laguna Beach and played at Santa Margarita High. He then played at the University of California, from where the Marlins selected him in the 24th round of the 2009 draft.