Azure Active Directory-Anwendung erstellen
In diesem Abschnitt erstellen Sie eine Azure Active Directory (Azure AD)-Anwendung und ein Dienstprinzipalobjekt. GKE on Azure verwendet diese Objekte zum Speichern von Konfigurationsinformationen in Azure.
Erstellen Sie mit folgendem Befehl die Azure AD-Anwendung:
az ad app create --display-name APPLICATION_NAMEErsetzen Sie
APPLICATION_NAMEdurch einen Namen für Ihre Anwendung, z. B.anthos-clusters.Führen Sie den folgenden Befehl aus, um die Anwendungs-ID zur späteren Verwendung in einer Umgebungsvariablen zu speichern:
APPLICATION_ID=$(az ad app list --all \ --query "[?displayName=='APPLICATION_NAME'].appId" \ --output tsv)Ersetzen Sie
APPLICATION_NAMEdurch den Namen der Anwendung.Führen Sie den folgenden Befehl aus, um ein Diensthauptkonto für die Anwendung zu erstellen:
az ad sp create --id "${APPLICATION_ID}"
Workload Identity-Föderation einrichten
Mit der Workload Identity-Föderation kann sich GKE on Azure mit einem Google-Dienstkonto bei Azure authentifizieren. Diese Methode zur Authentifizierung bei Azure ist einfacher als die ältere AzureClient-Authentifizierungsmethode, bei der Sie Zertifikate verwalten und manuell in Azure Active Directory (AD) hochladen müssen.
Führen Sie die folgenden Befehle aus, um Anmeldedaten für föderierte Identitäten in Ihrer Azure AD-Anwendung zu konfigurieren. Sie können jeder Azure AD-Anwendung bis zu 20 Anmeldedaten hinzufügen.
Erstellen Sie eine JSON-Datei mit dem Namen
credential.json.{ "name": "CREDENTIAL_NAME", "issuer": "https://accounts.google.com", "subject": "service-PROJECT_NUMBER@gcp-sa-gkemulticloud.iam.gserviceaccount.com", "audiences": ["api://AzureADTokenExchange"], "description": "Allow GKE on Azure to authenticate to the Azure AD application using a Google service account." }CREDENTIAL_NAME: der Name der Anmeldedaten.PROJECT_NUMBER: die Nummer des Google Cloud Projekts, in dem sich der Cluster befindet.
Erstellen Sie Anmeldedaten für föderierte Identitäten in der Azure AD-Anwendung:
az ad app federated-credential create --id "${APPLICATION_ID}" --parameters credential.json
Weitere Informationen finden Sie in der Azure-Dokumentation Azure AD-Workload Identity-Föderation mit Google Cloud.
Sie können die Anmeldedaten für föderierte Azure-Identitäten auch mit Terraform bereitstellen. Weitere Informationen finden Sie unter azuread_application_federated_identity_credential.