Blog

Schlüssellose Google Cloud-Bereitstellungen aus Azure Pipelines

Laurens Knoll

Laurens Knoll

Aktualisiert Oktober 15, 2025
2 Minuten

Für die Bereitstellung von Google Cloud (GCP)-Ressourcen über Azure Pipelines waren früher Schlüssel für Servicekonten erforderlich. Heute jedoch können Azure DevOps OIDC-Tokens mit Hilfe von Google Cloud Workload Identity Federation in Google-Anmeldeinformationen umgewandelt werden. Dieser Blog verwendet dazu Google Cloud Auth.

Azure DevOps Google Cloud Deployment Pipeline Übersicht

Die High-Level Deployment Pipeline besteht aus zwei Schritten. Zunächst werden die Google Credentials ausgetauscht. Zweitens wird die Google Cloud-Bereitstellung ausgeführt.

Überblick über die Einrichtung
Nutzen Sie diesen Blog, um Google Cloud Workload Identity Federation für Azure DevOps zu konfigurieren.

Azure Pipeline Konfiguration

Ein Beispiel für eine Terraform-Bereitstellungspipeline wird unten konfiguriert:

steps:
- task: GcpWifAuth@0
  inputs:
    connectedServiceId: gcp-wip-ado
- task: TerraformInstaller@1
  inputs:
    terraformVersion: 'latest'
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: 'terraform init'
    workingDirectory: 'terraform'
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: 'terraform apply -auto-approve'
    workingDirectory: 'terraform'

Die GcpWifAuth-Aufgabe initialisiert eine externe Anmeldedaten-Datei und verweist die GOOGLE_APPLICATION_CREDENTIALS darauf. Die Google Auth-Bibliothek tauscht daraufhin das OIDC-Token von Azure DevOps gegen eine Google-Anmeldedatei aus.

Die Anmeldeinformationen stammen aus der ausführbaren Datei, da die URL für OIDC-Token erstellen eine POST-Methode erfordert. Folglich wird auch die GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES exportiert.

Google Cloud Workload Identity Federation Service Verbindung

Die GcpWifAuth-Aufgabe erfordert eine Dienstverbindung, um die Pipeline für eine bestimmte Google Cloud-Ressource zu autorisieren. Diese Google Cloud Workload Identity Federation-Dienstverbindung gibt den Workload-Identitätspool-Anbieter und optional das anzunehmende Dienstkonto an:

Serviceverbindung

Bonus: Das angenommene Servicekonto außer Kraft setzen

Das angenommene Dienstkonto kann optional in der Schrittdefinition überschrieben werden. Auf diese Weise können Sie einen einzigen Workload Identity Pool Provider und eine Dienstverbindung verwalten und gleichzeitig auf mehrere Dienstkonten zugreifen. Beachten Sie jedoch, dass das Azure DevOps-Token nur angibt, dass der Pipeline der Zugriff auf die Service-Verbindung gewährt wird und nicht auf das Ziel-Servicekonto.

steps:
- task: GcpWifAuth@0
  inputs:
    connectedServiceId: gcp-wip-ado
    serviceAccount: special-deployment@my-project.iam.gserviceaccount.com

Fazit

Ersetzen Sie Dienstkontenschlüssel durch föderierte Google-Anmeldeinformationen. Reduzieren Sie die Verwaltung von Anmeldeinformationen mit der GcpWifAuth-Aufgabe.

Bild von RENE RAUSCHENBERGER aus Pixabay

Verfasst von

Laurens Knoll

As a cloud consultant I enjoy improving what your company does best. I enable your business using cloud technology and enable your engineers by applying software engineering practices to your infrastructure domain.

Contact

Let’s discuss how we can support your journey.