AADSTS7000222 - BadRequest 或 InvalidClientSecret 错误

本文介绍如何识别和解决AADSTS7000222尝试创建或升级Microsoft Azure Kubernetes 服务(AKS)群集时发生的错误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 反馈社区