创建 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。