In diesem Beitrag möchte ich euch zeigen, wie bei einem Azure Runbook die zertifikatsbasierte Authentifizierung mit einem Dienstprinzipal funktioniert. Das ist vor allem dann spannend, wenn ich per PowerShell auf einen anderen Tenant zugreifen möchte, als wo das Azure Runbook ausgeführt wird. Dadurch benötigt man auch keine Subscription im Ziel-Tenant, sondern kann als Dienstleister für meine Kunden eigene Services anbieten. Die Grundlagen für die Authentifizierung habe ich bereits in einem anderen Beitrag beschrieben.
Im Azure Portal legen wir also zuerst ein entsprechendes Automation-Konto an.
Das geschieht ganz einfach über den Hinzufügen
Button.
Wir vergeben einen Namen für das Konto, legen das Abonnement (notwendig für die Abrechnung) fest und wählen eine Ressourcengruppe aus. Weiterhin muss noch ein Standort für das Konto hinterlegt werden. Dann können wir das Automation-Konto auch schon erstellen.
Nachdem wir uns in diesem Beispiel gegen das Azure AD verbinden wollen, benötigen wir noch das entsprechende Modul. Das Modul AzureAD
muss aus dem Modulkatalog dem Automation-Konto hinzugefügt/importiert werden.
Weiterhin benötigen wir das Zertifikat für die Authentifizierung. Dieses müssen wir dem Automation-Konto ebenfalls hinzufügen. Dabei ist zu beachten, dass der private Schlüssel enthalten sein muss (.pfx).
Dann können wir dem Automation-Konto auch unser Runbook hinzufügen.
Für unsere Zwecke erstellen wir ein Runbook vom Typ PowerShell.
Unter den Ressourcen muss nun das vorher importierte Zertifikat auftauchen, dass für die Authentifizierung verwendet wird.
Das Skript besteht nur aus einem Befehl, nämlich der eigentlichen Authentifizierung. Die notwendigen Parameter sind wie schon gesagt, in einem vorherigen Beitrag erklärt. Wir können nun den Testbereich öffnen und kontrollieren, ob die Authentifizierung erfolgreich war.
Wenn wir alle Parameter korrekt gesetzt haben und das Zertifikat verfügbar ist, dürfen keine Fehlermeldungen erscheinen. Der Ergebnis sieht dann wie im Bild oben aus. Wir sind nun mit einem Azure Runbook Dienstprinzipal authentifiziert und können nun beliebige Aktionen im Azure Active Directory durchführen.