ServicePrincipalValidationClientError エラー コードのトラブルシューティング

この記事では、Microsoft Azure Kubernetes Service (AKS) クラスターを作成してデプロイしようとした場合に発生する可能性があるエラーを特定して解決ServicePrincipalValidationClientErrorする方法について説明します。

前提条件

  • Azure CLI バージョン 2.0.59 以降のバージョン。 Azure CLI が既にインストールされている場合は、 を実行 az --versionしてバージョン番号を確認できます。

現象

AKS クラスターをデプロイしようとすると、次のエラー メッセージが表示されます。

adal: 更新要求が失敗しました。 状態コード = '401'。

応答本文: {

"error": "invalid_client",

"error_description": "AADSTS7000215: 無効なクライアント シークレットが指定されました。要求で送信されるシークレットが、アプリ '123456789-1234-1234-1234-1234-1234-123567890987'.\r\nに追加されたシークレットのクライアント シークレット値であることを確認します

トレース ID: 12345\r\n

関連付け ID: 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

このコマンドはシークレットをリセットし、それを出力として表示します。 その後、新しいクラスターの作成を再試行するときに、新しいシークレットを指定できます。

解決策 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"
}

生成される と passwordappId値に注意してください。 これらの値を取得したら、新しいサービス プリンシパルとシークレットのクラスター作成コマンドを再実行できます。

詳細

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。