この記事では、さまざまなTokenCredential実装を使用して、開発者マシンでローカルに実行されているJava アプリケーションのAzure SDKを認証するときに発生する開発環境の認証の問題のトラブルシューティングに関するガイダンスを提供します。 詳細については、Java 開発環境での Azure 認証を参照してください。
AzureCliCredential のトラブルシューティング
AzureCliCredential を使用する場合、必要に応じて CredentialUnavailableException を try/catch で処理できます。 次の表に、この例外が示すエラーと軽減策を示します。
| エラー メッセージ | 説明 | 緩和 |
|---|---|---|
Azure CLI not installed |
Azure CLI がインストールされていないか、見つかりませんでした。 | - Azure CLIをインストールしていることを確認します。 - インストール場所が PATH 環境変数に追加されていることを検証します。 |
Please run 'az login' to set up account |
どのアカウントも Azure CLI にサイン インしていないか、サインインの有効期限が切れています。 | - az login コマンドを使用してAzure CLIにサインインします。 詳細については、Azure CLI でサインインを参照してください。 - Azure CLI がトークンを取得できることを検証します。 詳細については、次のセクションを参照してください。 |
Azure CLI がトークンを取得できることを確認します。
Azure CLIを認証し、トークンを取得できることを手動で確認できます。 まず、次のコマンドを使用して、アカウントが現在 Azure CLI にサイン インしていることを確認します。
az account show
Azure CLIが正しいアカウントを使用していることを確認したら、次のコマンドを使用して、このアカウントのトークンを取得できることを検証します。
az account get-access-token \
--output json \
--resource https://management.core.windows.net
警告
このコマンドの出力には、有効なアクセス トークンが含まれています。 アカウントのセキュリティを損なわないように、このアクセス トークンを共有しないでください。
AzureDeveloperCliCredential のトラブルシューティング
AzureDeveloperCliCredential を使用する場合は、必要に応じて CredentialUnavailableException を try/catch で処理できます。 次の表に、この例外が示すエラーと軽減策を示します。
| エラー メッセージ | 説明 | 緩和 |
|---|---|---|
Azure Developer CLI not installed |
Azure Developer CLI がインストールされていないか、見つかりませんでした。 | - Azure Developer CLI をインストールしていることを確認します。 - インストール場所が PATH 環境変数に追加されていることを検証します。 |
Please run 'azd auth login' to set up account |
どのアカウントも Azure Developer CLI にサイン インしていないか、サイン インの有効期限が切れています。 | - azd auth login コマンドを使用して、Azure Developer CLI にサインインします。 - Azure Developer CLI がトークンを取得できることを検証します。 詳細については、次のセクションを参照してください。 |
- Azure Developer CLI がトークンを取得できることを確認します
Azure Developer CLI を適切に認証し、トークンを取得できることを手動で確認できます。 まず、次のコマンドを使用して、アカウントが現在 Azure Developer CLI にサイン インしていることを確認します。
azd config list
Azure Developer CLI が正しいアカウントを使用していることを確認したら、次のコマンドを使用して、このアカウントのトークンを取得できることを検証します。
azd auth token --output json --scope https://management.core.windows.net/.default
警告
このコマンドの出力には、有効なアクセス トークンが含まれています。 アカウントのセキュリティを損なわないように、このアクセス トークンを共有しないでください。
AzurePowerShellCredential のトラブルシューティング
AzurePowerShellCredential を使用する場合は、必要に応じて CredentialUnavailableException に対して try/catch を使用できます。 次の表に、この例外が示すエラーと軽減策を示します。
| エラー メッセージ | 説明 | 緩和 |
|---|---|---|
PowerShell isn't installed. |
PowerShell のローカル インストールが見つかりませんでした。 | コンピューターに PowerShell をインストールしていることを確認します。 |
Az.Account module >= 2.2.0 isn't installed. |
Azure PowerShell での認証に必要な Az.Account モジュールがインストールされていません。 |
最新の Az.Account モジュールをインストールします。 詳細については、Azure PowerShell のインストール方法を参照してください。 |
Please run 'Connect-AzAccount' to set up account. |
現在、Azure PowerShell にサイン インしているアカウントはありません。 | - Connect-AzAccount コマンドを使用してAzure PowerShellにサインインします。 詳細については、Azure PowerShell へのサインインを参照してください。 - Azure PowerShell がトークンを取得できることを検証します。 |
Azure PowerShellがトークンを取得できることを確認する
Azure PowerShellが正しく認証されていること、およびトークンを取得できることを手動で確認できます。 まず、次のコマンドを使用して、アカウントが現在 Azure CLI にサイン インしていることを確認します。
Get-AzContext
次の例のような出力が表示されます。
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x...
Azure PowerShellが正しいアカウントを使用していることを確認したら、次のコマンドを使用して、このアカウントのトークンを取得できることを検証します。
Get-AzAccessToken -ResourceUrl "https://management.core.windows.net"
警告
このコマンドの出力には、有効なアクセス トークンが含まれています。 アカウントのセキュリティを損なわないように、このアクセス トークンを共有しないでください。
VisualStudioCodeCredential のトラブルシューティング
注
既知の問題として、VisualStudioCodeCredential は 0.9.11 より新しいバージョンの Azure Account 拡張機能 では動作しません。 この問題に対する長期的な修正が進行中です。 それまでの間、Azure CLI による認証を検討してください。
VisualStudioCodeCredential を使用する場合は、必要に応じて CredentialUnavailableException に対して try/catch を使用できます。 次の表に、この例外が示すエラーと軽減策を示します。
| エラー メッセージ | 説明 | 緩和 |
|---|---|---|
Failed To Read VS Code Credentials</p></p>OR</p>Authenticate via Azure Tools plugin in VS Code |
VS Code 構成で Azure アカウント情報が見つかりませんでした。 | - Azure アカウント プラグインが正しくインストールされていることを確認します。 - View > コマンド パレットを使用して、Azure: Sign In コマンドを実行します。 このコマンドを実行すると、ブラウザー ウィンドウが開き、Azureへのサインインに使用できるページが表示されます。 - Azure アカウント拡張機能が既にインストールされていて、アカウントにサインインしている場合は、サインアウトしてもう一度サインインしてみてください。 このアクションにより、キャッシュが再作成され、発生しているエラーが軽減される可能性があります。 |
MSAL Interaction Required Exception |
VisualStudioCodeCredential はキャッシュからキャッシュされた資格情報を読み取ることができましたが、キャッシュされたトークンは期限切れになっている可能性があります。 |
VS Code IDE で View > Command Palette から Azure: Sign In コマンドを実行して、Azure Account 拡張機能にサインインします。 |
ADFS tenant not supported |
Visual Studio Azure サービス認証では、現在 ADFS テナントはサポートされていません。 | Visual Studio で認証する場合は、サポートされているクラウドの資格情報を使用します。 サポートされているクラウドの詳細情報については、ナショナル クラウドを参照してください。 |
次のステップ
この記事のトラブルシューティング ガイダンスで、Java クライアント ライブラリのAzure SDKを使用するときに問題を解決できない場合は、Java GitHub リポジトリのAzure SDKに問題を提出してください。