共用方式為


AADSTS7000222 - BadRequest 或 InvalidClientSecret 錯誤

本文討論如何識別並解決 AADSTS7000222 當您嘗試建立或升級 Microsoft Azure Kubernetes Service (AKS) 叢集時所發生的錯誤BadRequest (或 InvalidClientSecret)。

必要條件

徵兆

當您嘗試建立或升級 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 客戶驗證對租用戶無效: <租用戶標識碼>: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 community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。