AADSTS7000222 - BadRequest 或 InvalidClientSecret 错误

本文讨论如何识别和解决AADSTS7000222尝试创建或InvalidClientSecret升级 Microsoft Azure Kubernetes 服务 (AKS) BadRequest 群集时发生的错误 (或) 。

先决条件

症状

尝试创建或升级 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 客户身份验证对租户无效: <tenant-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 反馈社区提交产品反馈。