View a markdown version of this page

AWS CLI のコンソール認証情報を使用したログインのトラブルシューティング - AWS Command Line Interface

AWS CLI のコンソール認証情報を使用したログインのトラブルシューティング

AWS CLI のコンソール認証情報を使用して AWS ローカル開発にログインする際に発生する可能性のあるエラーや問題のトラブルシューティングのアドバイスを以下に示します。これには、AWS CLI の使用時に発生する可能性のある問題は含まれません。詳細については、「AWS CLI のエラーのトラブルシューティング」を参照してください。

問題:「aws login」の実行時にファイアウォールがネットワークアクセスをブロックする

aws login の実行中に、ファイアウォールソフトウェアのポップアップまたはメッセージにより、AWS CLI がネットワークにアクセスできない場合があります。

考えられる原因: ファイアウォールまたはセキュリティソフトウェアが AWS CLI が OAuth コールバックの処理に使用されるポートを開くのを妨げています。

この問題を回避するには、代わりに --remote オプションを使用します。これにより、OAuth コールバックを使用する代わりに、認可コードをコピーして貼り付けるよう求められます。

$ aws login --remote

問題: リクエストを完了できなかった

aws login を実行すると、新しいブラウザが正常に開き AWS にアクセスできますが、新しいページでセッションを選択することはできません。代わりに、リクエストを完了できなかったことがページに表示されます。これは、次のような理由で発生する場合があります。

  • 新しい AWS エクスペリエンスを使用している場合は、間違った AWS リージョンを使用している可能性があります。aws configure list を使用して、AWS CLI コマンドに関連付けられたデフォルトのリージョンを表示します。使用する必要がある AWS リージョンがわからない場合は、「プロジェクトの AWS リージョン」を参照してください。

  • 新しい AWS エクスペリエンスを使用していて、誰かがプロジェクトを共有している場合、そのプロジェクトへのアクセスが失われる可能性があります。詳細については、プロジェクト所有者にお問い合わせください。

  • 特定の AWS リージョンへのアクセスがブロックされる場合があります。詳細については、システム管理者にお問い合わせください。

  • AWS へのアクセスがブロックされている可能性があります。詳細については、システム管理者にお問い合わせください。

問題:「aws login」使用後の ExpiredToken または AccessDeniedException エラー

特定のプロファイルに対して aws login を実行した後に AWS CLI コマンドを実行すると、期限切れまたは無効な認証情報エラーが発生する可能性があります。

$ aws s3 ls An error occurred (ExpiredToken) when calling the ListBuckets operation: The provided token has expired.

考えられる原因: そのプロファイルに既存の認証情報と新しいログイン認証情報が混在している可能性があります。

aws configure list または aws configure list --profile <profile-name> を実行して、CLI がデフォルトまたは指定されたプロファイルの認証情報を解決する場所を出力します。

TYPE 列がログイン以外のものである場合は、ターゲットプロファイルに別のタイプの認証情報が設定されていることを意味します。

この例では、ログイン認証情報よりも優先されるホームディレクトリの共有認証情報ファイルから認証情報が解決されています。

$ aws configure list NAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************MPLE : shared-credentials-file : secret_key : ****************EKEY : shared-credentials-file : region : us-east-1 : config-file : ~/.aws/config

これに対処するには、ターゲットプロファイルの設定と認証情報ファイルから既存の認証情報を手動で削除します。これを行うと、aws configure list 再実行時にログイン認証情報が表示されます。

$ aws configure list NAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************MPLE : login : secret_key : ****************EKEY : login : region : us-east-1 : config-file : ~/.aws/config

または、--debug オプションを使用すると、CLI が認証情報を解決する場所が表示されます。