错误 AADSTS7000222 - BadRequest 或 InvalidClientSecret

本文讨论了如何识别和解决在尝试创建或升级 Microsoft Azure Kubernetes 服务(AKS)群集时出现的 AADSTS7000222 错误(BadRequestInvalidClientSecret)。

先决条件

症状

尝试创建或升级 AKS 群集时,会收到以下错误消息之一。

错误代码 消息
BadRequest ServicePrincipalProfile 中的凭据无效。 有关详细信息,请参阅 https://aka.ms/aks-sp-help 。 (详细信息:adal:刷新请求失败。 状态代码 = “401”。 响应正文:{“error”: “invalid_client”, “error_description”: “AADSTS7000222:应用”<application-id>“提供的客户端密钥已过期。 访问 Azure 门户,为应用创建新密钥: https://aka.ms/NewClientSecret或考虑使用证书凭据增强安全性: https://aka.ms/certCreds
InvalidClientSecret 客户身份验证对租户无效: <租户 ID>:adal:刷新请求失败。 状态代码 = “401”。 响应正文:{“error”: “invalid_client”, “error_description”: “AADSTS7000222:应用”<application-id>“提供的客户端密钥已过期。 访问 Azure 门户,为应用创建新密钥: https://aka.ms/NewClientSecret或考虑使用证书凭据增强安全性: https://aka.ms/certCreds

原因

生成此服务主体警报的问题通常因以下原因之一而发生:

  • 客户端密码已过期。

  • 提供了不正确的凭据。

  • 订阅的 Microsoft Entra ID 租户中不存在服务主体。

验证原因

运行以下 Azure CLI 代码,检索 AKS 群集的服务主体配置文件并 检查服务主体的到期日期

SP_ID=$(az aks show --resource-group <rg-name> \
    --name <aks-cluster-name> \
    --query servicePrincipalProfile.clientId \
    --output tsv)
az ad app credential list --id "$SP_ID"

或者,可以验证服务主体名称和机密是否正确且未过期。 为此,请执行以下步骤:

  1. Azure 门户中,搜索并选择“Microsoft Entra ID”

  2. 在Microsoft Entra ID 的导航窗格中,选择 “应用注册”。

  3. 在“ 拥有的应用程序 ”选项卡上,选择受影响的应用程序。

  4. 查找服务主体名称和机密信息,并验证信息是否正确和最新。

解决方案

  1. 更新或旋转 AKS 群集凭据的文章中,请根据需要参阅以下任一文章部分中的说明:

  2. 使用新的服务主体凭据,请参阅该文章中 “使用服务主体凭据更新 AKS 群集”部分的说明。

详细信息

联系我们以获得帮助

如果有疑问,可以询问 Azure 社区支持。 您还可以向Azure反馈社区提交产品反馈。