Erstellen einer Service Connection zwischen Azure DevOps und Azure (ARM)

Das ist ein Test Excerpt

Mit Service Connections bietet Azure DevOps uns eine sichere Möglichkeit eine Verbindung zu einem externen Service wie dem Azure Resource Manager - kurz ARM - aufzubauen, ohne uns selbst um die Verwahrung der sensiblen Informationen kümmern zu müssen.

Also anstatt eines az login, kümmert sich ein Task wie AzureCLI@2 mithilfe einer zuvor angelegten Service Connection, um beispielsweise auf Ressourcen in Azure zuzugreifen und Tasks wie AzureCLI@2 kümmern sich

Service Connection

Damit eine Azure Pipeline auf Azure Ressourcen zugreifen kann, musst du zuvor eine Verbindung zu Azure (ARM) herstellen.

Natürlich kannst du die Verbindung mit az login herstellen, allerdings musst du dich dann auch um die sichere Verwahrung der Credentials kümmern - ein Sicherheitsrisiko!

Zum Glück bietet Azure DevOps uns hierfür mit seinen Service Connections eine gute Lösung, die sich leichter bedienen lässt, weniger fehleranfällig beim Login ist und vor allem mehr Sicherheit bietet.

In diesem Artikel zeige ich dir, wie du ganz einfach eine sichere Service Connection mithilfe der Workload Identity Federation zu Azure (ARM) in Azure DevOps erstellst.

Doch bevor es losgeht, klären wir erst einmal, was eine Workload Identity Federation ist.

Was ist Workload Identity Federation?

Die Workload Identity Federation (WIF) ist die empfohlene Authentifizierungsmethode für eine Service Connection und nutzt OpenID Connect (OIDC), um eine sichere Verbindung zu Azure (ARM) herzustellen.

Sie hat im Gegensatz zu der herkömmlichen Methode einen Service Principal mit Client Secret zu verwenden, mehrere Vorteile:

Mehr Sicherheit: Gibt es kein Secret, kann nichts kompromittiert werden.

Weniger Aufwand: Du musst dich nicht um ablaufenden Secrets kümmern und diese erneuern, denn anstelle eines Secrets wird ein sogenanntes Federation Subject verwendet.

Das folgende Schaubild von Microsoft zeigt dir den Authentication Flow mit Workload Identity Federation.

Schaubild: Workload Identity Federation Flow in Azure DevOps
Schaubild: Workload Identity Federation Flow in Azure DevOps (Quelle: Microsoft)

Microsoft Wenn du mehr über die Workload Identity Federation wissen möchtest, kannst

Für die Service Connection verwenden wir eine Managed Identity mit Workload Identity Federation. Diese müssen wir manuell anlegen, da Azure DevOps hierfür aktuell keine Automatisierung über die UI anbietet.

Aktuell wird Diese ermöglichen es Ihnen, Azure DevOps auf sicherere Weise mit Azure zu verbinden, ohne dass ablaufende Geheimnisse, eine App-Registrierung oder sogar ein Dienstprinzip erforderlich sind.

Zunächst schauen wir uns an, was die Workload Identity Federation ist