共用方式為


針對 ServicePrincipalValidationClientError 錯誤碼進行疑難解答

本文討論如何識別並解決 ServicePrincipalValidationClientError 如果您嘗試建立和部署Microsoft Azure Kubernetes Service (AKS) 叢集時可能發生的錯誤。

必要條件

  • Azure CLI 2.0.59 版或更新版本。 如果已安裝 Azure CLI,您可以執行 az --version來尋找版本號碼。

徵兆

當您嘗試部署 AKS 叢集時,您會收到下列錯誤訊息:

adal:重新整理要求失敗。 狀態代碼 = '401'。

回應本文: {

“error”: “invalid_client”,

“error_description”: “AADSTS7000215: 提供的客戶端密碼無效。請確定要求中傳送的秘密是客戶端密碼值,而不是用戶端密碼標識碼,用於新增至應用程式 '123456789-1234-1234-1234-1234567890987'。\r\n

追蹤標識碼:12345\r\n

相互關聯標識碼:6789\r\n

時間戳:2022-02-03 03:07:11Z“,

“error_codes”: [7000215],

“timestamp”: “2022-02-03 03:07:11Z”,

“trace_id”: “12345”,

“correlation_id”: “6789”,

“error_uri”: “https://login.microsoftonline.com/error?code=7000215

} 端點 https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0

原因

針對醒目提示的服務主體提供的秘密無效。

解決方案 1:重設服務主體秘密

若要解決此問題,請使用下列其中一種方法重設服務主體秘密:

  • 執行 az ad sp credential reset 命令來重設服務主體的認證:

    az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv
    
  • 執行下列命令來指定到期日:

    az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
    

上述命令會重設秘密,並將其顯示為輸出。 然後,當您嘗試再次建立新的叢集時,您可以指定新的秘密。

針對現有叢集中失敗的作業,請確定您使用新的秘密更新 AKS 叢集:

az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>

解決方案2:建立新的服務主體

您可以建立新的服務主體,並執行 az ad sp create-for-rbac 命令來取得與其相關聯的秘密:

az ad sp create-for-rbac --role Contributor

命令輸出應該類似下列 JSON 字串:

{
  "appId": "12345678-9abc-def0-1234-56789abcdef0",
  "name": "23456789-abcd-ef01-2345-6789abcdef01",
  "password": "3456789a-bcde-f012-3456-789abcdef012",
  "tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}

appId請注意產生的和 password 值。 取得這些值之後,您可以重新執行新服務主體和秘密的叢集建立命令。

若要使用新服務主體的認證更新 AKS 叢集,請執行下列命令:

az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>

其他相關資訊

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。