Crear una aplicación de Azure Active Directory
En esta sección, crearás una aplicación de Azure Active Directory (Azure AD) y objetos principales de servicio. GKE en Azure usa estos objetos para almacenar información de configuración en Azure.
Para crear la aplicación de Azure AD, ejecuta el siguiente comando:
az ad app create --display-name APPLICATION_NAME
Sustituye
APPLICATION_NAME
por el nombre de tu aplicación (por ejemplo,anthos-clusters
).Para guardar el ID de la aplicación en una variable de entorno y usarlo más adelante, ejecuta el siguiente comando:
APPLICATION_ID=$(az ad app list --all \ --query "[?displayName=='APPLICATION_NAME'].appId" \ --output tsv)
Sustituye
APPLICATION_NAME
por el nombre de tu aplicación.Para crear un principal de servicio para la aplicación, ejecuta el siguiente comando:
az ad sp create --id "${APPLICATION_ID}"
Configurar la federación de identidades de cargas de trabajo
La federación de identidades de carga de trabajo permite que GKE en Azure se autentique en Azure mediante una cuenta de servicio de Google. Este método de autenticación en Azure es más sencillo que el método de autenticación AzureClient antiguo, que requiere que gestiones los certificados y los subas manualmente a Azure Active Directory (AD).
Para configurar una credencial de identidad federada en tu aplicación de Azure AD, ejecuta los siguientes comandos. Ten en cuenta que puedes añadir hasta veinte credenciales a cada aplicación de Azure AD.
Crea un archivo JSON llamado
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
: el nombre de la credencial.PROJECT_NUMBER
: número del Google Cloud proyecto que aloja el clúster.
Crea una credencial de identidad federada en la aplicación de Azure AD:
az ad app federated-credential create --id "${APPLICATION_ID}" --parameters credential.json
Para obtener más información, consulta la documentación de Azure sobre la federación de identidades de carga de trabajo de Azure AD con Google Cloud.
También puedes aprovisionar la credencial de identidad federada de Azure con Terraform. Para obtener más información, consulta azuread_application_federated_identity_credential.