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"
}
生成される と password
のappId
値に注意してください。 これらの値を取得したら、新しいサービス プリンシパルとシークレットのクラスター作成コマンドを再実行できます。
詳細
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示