Aluminium-safe dishwasher detergents do exist, using sodium silicate, but they're damn expensive. Sadly you're better off cleaning aluminium cookware by hand.
That tarnish happens because aluminium is way more reactive than it looks like. It's amphoteric, so both acids and bases attack it. And, in a simplified way, soaps and dishwasher detergents tend to be basic enough to attack aluminium.
Typically this is not a big deal because there's a neat layer of aluminium oxide covering metallic aluminium (that's why it looks dull, instead of shiny). But if the aluminium or the solution are hot enough, that layer itself gets quickly corroded. And, well, dishwashers heat things up, right?
Weirdly enough I believe that the tarnish and white powder are also a mix of aluminium oxide and hydroxide. But since the tarnish isn't in a neat crystalline structure, but a porous one, it gets dark. You can remove that layer of oxide with some weak acid, like vinegar; the metal will regenerate a neater one.