AADSTS7000222 - BadRequest または InvalidClientSecret エラー
この記事では、Microsoft Azure Kubernetes Service (AKS) クラスターを作成またはアップグレードしようとしたときに発生する AADSTS7000222
エラー (BadRequest
または InvalidClientSecret
) を特定して解決する方法について説明します。
前提条件
現象
AKS クラスターを作成またはアップグレードしようとすると、次のいずれかのエラー メッセージが表示されます。
エラー コード | Message |
---|---|
BadRequest |
ServicePrincipalProfile の資格情報が無効でした。 詳細については、 https://aka.ms/aks-sp-help を参照してください。 (詳細: adal: 更新要求に失敗しました。 状態コード = '401'。 応答本文: {"error": "invalid_client"、"error_description": "AADSTS7000222: アプリ '<application-id>' に指定されたクライアント シークレット キーの有効期限が切れています Azure portal にアクセスしてアプリの新しいキーを作成します。 https://aka.ms/NewClientSecret、またはセキュリティを強化するために証明書資格情報を使用することを検討してください: https://aka.ms/certCreds。 |
InvalidClientSecret |
テナントに対する顧客認証が無効です: <テナント ID>: adal: 更新要求に失敗しました。 状態コード = '401'。 応答本文: {"error": "invalid_client"、"error_description": "AADSTS7000222: アプリ '<application-id>' に指定されたクライアント シークレット キーの有効期限が切れています Azure portal にアクセスしてアプリの新しいキーを作成します。 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"
または、サービス プリンシパル名とシークレットが正しく、有効期限が切れていないことを確認することもできます。 これを行うには、次の手順を実行します。
Azure portal で、Microsoft Entra ID を探して選択します。
Microsoft Entra ID のナビゲーション ウィンドウで、アプリの登録を選択します。
Owned アプリケーションタブで、影響を受けるアプリケーションを選択します。
サービス プリンシパル名とシークレット情報を見つけ、情報が正しく最新であることを確認します。
ソリューション
AKS クラスターの資格情報の更新またはローテーション記事で、必要に応じて、次のいずれかの記事セクションの手順に従います。
新しいサービス プリンシパルの資格情報を使用して、 AKS クラスターとサービス プリンシパル資格情報の更新 セクションの手順に従います。
詳細
- Azure Kubernetes Service (AKS) でサービス プリンシパルを使用する (特に Troubleshoot セクション)
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。