開発環境認証のトラブルシューティング
この記事では、さまざまな TokenCredential
実装を介して開発者のコンピューターでローカルで実行されている Azure SDK for Java アプリケーションの認証の際に発生する問題の対処方法についてのガイダンスを提供します。 詳細については、「Java 開発環境での Azure 認証」を参照してください。
AzureCliCredential のトラブルシューティング
AzureCliCredential
を使用する場合は、必要に応じて、CredentialUnavailableException
を試行/キャッチします。 次の表に、この例外が示すエラーと軽減策を示します。
エラー メッセージ | 説明 | 対応策 |
---|---|---|
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
を試行/キャッチします。 次の表に、この例外が示すエラーと軽減策を示します。
エラー メッセージ | 説明 | 対応策 |
---|---|---|
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
を試行/キャッチします。 次の表に、この例外が示すエラーと軽減策を示します。
エラー メッセージ | 説明 | 対応策 |
---|---|---|
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 のトラブルシューティング
Note
これは、0.9.11
より新しい Azure アカウント拡張機能 VisualStudioCodeCredential
バージョンでは動作しない既知の問題です。 この問題に対する長期的な修正が進行中です。 それまでの間は、Azure CLI を使用した認証を検討してください。
VisualStudioCodeCredential
を使用する場合は、必要に応じて、CredentialUnavailableException
を試行/キャッチします。 次の表に、この例外が示すエラーと軽減策を示します。
エラー メッセージ | 説明 | 対応策 |
---|---|---|
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 は、キャッシュからキャッシュされた資格情報読み取ることができましたが、キャッシュされたトークンの有効期限が切れている可能性があります。 |
View > コマンド パレット を介して Azure アカウント拡張機能にサイン インし、VS Code IDE で Azure: Sign In コマンドを実行します。 |
ADFS tenant not supported |
Visual Studio Azure サービス認証では、現在 ADFS テナントはサポートされていません。 | Visual Studio で認証する場合は、サポートされているクラウドの資格情報を使用します。 サポートされているクラウドの詳細については、「ナショナル クラウド」を参照してください。 |
次のステップ
この記事のトラブルシューティング ガイダンスが、Azure SDK for Java クライアント ライブラリを使用するときの問題の解決に役立たない場合は、 Azure SDK for Java GitHub リポジトリに 問題を提出する ことをお勧めします。