Spring Boot アプリの検出および評価中の一般的な問題を解決する (プレビュー)
Key Vault のアクセス ポリシーに関連するエラーについては、次の手順に従って、接続されているクラスターで実行されているアプライアンス拡張機能のプリンシパル ID を見つけます。
Migrate アプライアンス拡張機能に必要な Key Vault アクセス許可を割り当てる
Azure Migrate プロジェクトに移動します。
Azure Migrate: Discovery and assessment で [概要]、[管理]、[アプライアンス] の順に移動し、サービス プリンシパルを見つける必要がある Kubernetes ベース アプライアンスの名前を見つけます。
アプライアンス名を選択し、アプライアンスのプロパティで Key Vault 名を見つけることで、アプライアンスに関連付けられている Key Vault も見つけることができます。
ワークステーションに移動し、管理者として PowerShell を起動します。
ARM クライアント zip フォルダーをインストールします。
フォルダーを解凍し、PowerShell ウィンドウで、抽出したフォルダーを含むディレクトリに切り替えます。
次のコマンドを実行し、Azure サブスクリプションにサインインします。
armclient login
正常にサインインしたら、アプライアンス名を追加して次のコマンドを実行します。
armclient get /subscriptions/<subscription>/resourceGroups/<resourceGroup> /providers/Microsoft.Kubernetes/connectedClusters/<applianceName>/Providers/Microsoft.KubernetesConfiguration/extensions/credential-sync-agent?api-version=2022-03-01
- 応答には、アプライアンス拡張機能に関連付けられている ID が一覧表示されます。 応答の
identity
セクションにあるPrincipal ID
フィールドをメモします。 - Azure portal に移動し、シークレット処理に選択された Azure Key Vault で必要なアクセス権がプリンシパル ID にあるか確認します。
- キー コンテナーに移動し、アクセス ポリシーに移動し、プリンシパル ID を一覧から選択してそのアクセス許可を確認するか、コマンドを実行して見つけたプリンシパル ID 専用の新しいアクセス ポリシーを作成します。
- "シークレット アクセス許可" と、"シークレット管理操作と特権管理操作" の両方のアクセス許可がプリンシパル ID に割り当てられていることを確認します。
エラー コード | 操作 |
---|---|
404 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可があることを確認します。 |
406 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可があることを確認します。 |
407 | キー コンテナーでファイアウォール規則を調べて、アプライアンスの IP アドレスからのアクセスを許可し、操作を再試行します。 |
413 | キー コンテナーがオンプレミスのアプライアンスからアクセスできること、および <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーに格納されているシークレットに対する操作を実行するために必要なアクセス許可があることを確認します。 |
415 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可があることを確認します。 |
416 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーでの消去アクセス許可があることを確認します。 |
418 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可があることを確認します。 |
オペレーター エラー
エラー コード | エラー メッセージ | 考えられる原因 | 修正 |
---|---|---|---|
400 | 内部エラーが発生しました。 | ハンドルされないエラーのために、操作が失敗しました。 | 操作を再試行してください。 問題が解決しない場合は、サポートにお問い合わせください。 |
401 | リソースの仕様を更新しようとしましたが、エラーが発生しました。 | オペレーター サービス アカウントに、カスタム リソースを変更するためのアクセス許可がない可能性があります。 | オペレーター サービス アカウントに付与されているアクセス許可を調べて、カスタム リソースを更新する権限があることを確認し、操作を再試行します。 |
402 | 指定された転送モードが無効であるか、サポートされていません。 | 資格情報リソースの作成時に使われた転送モードはサポートされていません。 | 転送モードが有効でサポートされていることを確認し、操作を再試行します。 |
403 | Kubernetes ベースのアプライアンスに資格情報を保存できませんでした。 | アプライアンス オペレーター <Microsoft.ConnectedCredentials> のサービス アカウント connectedcredentials-sa に、Kubernetes クラスターに資格情報を保存するための必要なアクセス許可がない可能性があります。 |
アプライアンス オペレーターのサービス アカウントに必要なアクセスを許可した後、操作を再試行します。 |
404 | キー コンテナーから資格情報を削除できませんでした (それらをオンプレミスのアプライアンスに同期した後)。 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可がない可能性があります。 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可があることを確認します。 |
405 | キー コンテナーのシークレットにアクセスできませんでした。 | キー コンテナーは削除された可能性があるため、見つかりません。 | キー コンテナーが存在するかどうかを調べます。 存在する場合は、しばらくしてから操作を再試行します。そうでない場合は、同じ名前で、Azure Migrate プロジェクトと同じサブスクリプションおよびリソース グループに、キー コンテナーを作成し直します。 |
406 | キー コンテナーのシークレットにアクセスできませんでした。 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可がない可能性があります。 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可があることを確認します。 |
407 | キー コンテナーのエンドポイントに接続できませんでした。 | キー コンテナーに関連付けられているファイアウォール規則によって、アクセスが制限されている可能性があります。 | キー コンテナーでファイアウォール規則を調べて、アプライアンスの IP アドレスからのアクセスを許可し、操作を再試行します。 |
408 | 操作の競合により、キー コンテナーのシークレットにアクセスできませんでした。 | シークレットが別の操作によって変更されたことで、シークレットへのアクセスで競合が発生しました。 | 別の Kubernetes クラスター上の他のアプライアンス拡張機能が、同じキー コンテナーのシークレットにアクセスしていないことを確認します。 |
409 | リージョンがサポートされていないため、キー コンテナーのシークレットへのアクセスが失敗しました。 | サポートされていないリージョン。 | Key Vault でリージョンがサポートされていることを確認し、操作を再試行します。 |
410 | SKU がサポートされていないため、シークレットへのアクセスが失敗しました。 | サポートされていない SKU。 | SKU が Key Vault でサポートされていて有効であることを確認し、操作を再試行します。 |
411 | リソース グループが見つからないため、シークレットへのアクセスが失敗しました。 | リソース グループが削除されています。 | リソース グループが存在し、有効であることを確認して、操作を再試行します。 |
412 | アクセスが拒否されたため、シークレットへのアクセスが失敗しました。 | 拡張機能の ID に関連付けられている証明書の有効期限が切れています。 | NA |
413 | 不明なエラーのため、キー コンテナーのシークレットにアクセスできませんでした。 | キー コンテナーのアクセス ポリシーとネットワーク アクセス規則が正しく構成されていません。 | キー コンテナーのアクセス ポリシーまたはネットワーク ポリシーが、正しく構成されていない可能性があります。 キー コンテナーがオンプレミスのアプライアンスからアクセスできること、および <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーに格納されているシークレットに対する操作を実行するために必要なアクセス許可があることを確認します。 |
414 | キー コンテナーでシークレットが見つからなかったため、アクセスできませんでした。 | 操作が進行している間に、シークレットが削除された可能性があります。 | キー コンテナーにシークレットが存在しているかどうかを調べます。 存在しない場合は、既存の資格情報を削除して、もう一度追加します。 |
415 | キー コンテナーのシークレットにアクセスできませんでした。 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可がない可能性があります。 | Microsoft.ConnectedCredentials の拡張機能 ID に、キー コンテナーの資格情報にアクセスするために必要なアクセス許可があることを確認します。 |
416 | キー コンテナーから資格情報を削除できませんでした (それらをオンプレミスのアプライアンスに同期した後)。 | <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可がない可能性があります。 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーでの消去アクセス許可があることを確認します。 キー コンテナーで消去保護が有効になっている場合、シークレットは消去保護期間の後で自動的にクリーンされます。 |
417 | キー コンテナーのシークレットにアクセスできませんでした。 | キー コンテナーは削除された可能性があるため、見つかりません。 | キー コンテナーが存在するかどうかを調べます。 存在する場合は、しばらくしてから操作を再試行します。そうでない場合は、同じ名前で、Azure Migrate プロジェクトと同じサブスクリプションおよびリソース グループに、キー コンテナーを作成し直します。 |
418 | 削除されたシークレットをキー コンテナーから消去できませんでした。 | シークレットの削除操作が完了していない可能性があります。 | 資格情報がキー コンテナーに存在するかどうかを調べます。 <Microsoft.ConnectedCredentials> の拡張機能 ID に、キー コンテナーから資格情報を削除するために必要なアクセス許可があることを確認します。 |