共用方式為


AADSTS7000222 - BadRequest 或 InvalidClientSecret 錯誤

本文討論如何識別及解決AADSTS7000222當您嘗試建立或InvalidClientSecret升級 Microsoft Azure Kubernetes Service (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 community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群