Creare un'applicazione Azure Active Directory
In questa sezione, creerai un'applicazione e oggetti entità servizio Azure Active Directory (Azure AD). GKE su Azure utilizza questi oggetti per archiviare le informazioni di configurazione su Azure.
Per creare l'applicazione Azure AD, esegui questo comando:
az ad app create --display-name APPLICATION_NAME
Sostituisci
APPLICATION_NAME
con un nome per la tua applicazione, ad esempioanthos-clusters
.Per salvare l'ID dell'applicazione in una variabile di ambiente per un utilizzo successivo, esegui il seguente comando:
APPLICATION_ID=$(az ad app list --all \ --query "[?displayName=='APPLICATION_NAME'].appId" \ --output tsv)
Sostituisci
APPLICATION_NAME
con il nome della tua applicazione.Per creare un service principal per l'applicazione, esegui questo comando:
az ad sp create --id "${APPLICATION_ID}"
Configura la federazione delle identità per i workload
La federazione delle identità per i carichi di lavoro consente a GKE su Azure di autenticarsi su Azure utilizzando un account di servizio Google. Questo metodo di autenticazione in Azure è più semplice rispetto al metodo di autenticazione AzureClient legacy, che richiede di gestire i certificati e caricarli manualmente in Azure Active Directory (AD).
Per configurare una credenziale federata di identità nell'applicazione Azure AD, esegui i seguenti comandi. Tieni presente che puoi aggiungere fino a 20 credenziali a ogni applicazione Azure AD.
Crea un file JSON denominato
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
: il nome della credenziale.PROJECT_NUMBER
: il numero del progetto Google Cloud che ospita il cluster.
Crea una credenziale federata di identità nell'applicazione Azure AD:
az ad app federated-credential create --id "${APPLICATION_ID}" --parameters credential.json
Per maggiori dettagli, consulta la documentazione di Azure Federazione delle identità per i workload di Azure AD con Google Cloud.
Puoi anche eseguire il provisioning delle credenziali di identità federata di Azure utilizzando Terraform. Per maggiori dettagli, vedi azuread_application_federated_identity_credential.