Das hier herauszufinden und zu verstehen hat mich einiges an Zeit gekostet. Ich hoffe euch diese Zeit ersparen zu können.
Ihr wollt mittels PowerShell automatisiert und außerhalb des Userkontextes „Dinge“ via REST API in Azure machen? Hier das passende Tutorial.
Vorab:
Um etwas machen zu können, muss man sich trotzdem irgendwie authentifizieren…
Das machen wir in Form einer Applikation. Wir erstellen also eine „Pseudo“ Applikation. Diese Applikation hat eine eindeutige ID (Username) und kann ein App Secret (Passwort) generiert bekommen.
Bei https://portal.azure.com anmelden, in der Suche „App Registration“ eingeben und auswählen.
Neu App registrieren.
Namen der App frei wählen. Etwas das passt ist natürlich schön… Ggf. wollt ihr auch pro Script, pro Fachbereich oder pro Admin eine eigene Identität erstellen…
Application ID notieren. Diese entspricht dem Benutzernamen. Anschl. „Settings“ editieren.
Gewünschte Berechtigungen auswählen.
In diesem Fall lese ich einige Sachen aus dem Azure AD via Graph aus. Später habe ich diese angepasst, da ich ebenfalls ein paar Dinge via Key Vault auslesen musste.
Berechtigungen „granten“, damit diese „pauschal“ vergeben sind. Sonst bräuche der Nutzer der App noch einen Consent.
Passwort für die Applikation generieren.
Für die Abfragen muss man sich auch immer gegen den Tenant verbinden. Darum braucht man die Tenant ID. In manchen Fällen kann man diese automatisch auslesen, in unserem Beispiel jedoch nicht. So findet man sie händisch heraus:
Weiter geht es mit Teil 2: Dem eigentlichen Code.