创建 Azure Active Directory 应用
在本部分中,您将创建 Azure Active Directory (Azure AD) 应用和服务主账号对象。GKE on Azure 使用这些对象在 Azure 上存储配置信息。
如需创建 Azure AD 应用,请运行以下命令:
az ad app create --display-name APPLICATION_NAME将
APPLICATION_NAME替换为您的应用的名称,例如anthos-clusters。要将应用的 ID 保存到环境变量以供稍后使用,请运行以下命令:
APPLICATION_ID=$(az ad app list --all \ --query "[?displayName=='APPLICATION_NAME'].appId" \ --output tsv)将
APPLICATION_NAME替换为应用的名称。如需为应用创建服务主账号,请运行以下命令:
az ad sp create --id "${APPLICATION_ID}"
设置工作负载身份联合
工作负载身份联合允许 GKE on Azure 使用 Google 服务账号向 Azure 进行身份验证。向 Azure 进行身份验证的这个方法比旧版 AzureClient 身份验证方法更简单,后者要求您管理证书并手动将其上传到 Azure Active Directory (AD)。
如需在 Azure AD 应用中配置联合身份凭据,请运行以下命令。请注意,您最多可以向每个 Azure AD 应用添加 20 个凭据。
创建名为
credential.json的 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:凭据名称。PROJECT_NUMBER:托管集群的 Google Cloud 项目的编号。
在 Azure AD 应用中创建联合身份凭据:
az ad app federated-credential create --id "${APPLICATION_ID}" --parameters credential.json
如需了解详情,请参阅 Azure 文档与 Google Cloud 的 Azure AD 工作负载身份联合。
您还可以使用 Terraform 预配 Azure 联合身份凭据。如需了解详情,请参阅 azuread_application_federated_identity_credential。