AWS コマンドラインインターフェイス (AWS CLI) を使用して Amazon Simple Storage Service (Amazon S3) バケットにアクセスしようとするとエラーが発生します。
解決策
「認証情報が見つかりません」というエラーは、操作する AWS サービスが AWS API 呼び出しを認証するための認証情報を見つけられないことを意味します。たとえば、これは Amazon S3 などの AWS のサービスです。この問題を解決するには、AWS CLI で AWS 認証情報が正しく設定されていることを確認してください。
**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用しているようにしてください。
AWS CLI に認証情報が設定されているかどうかを確認するには、次のコマンドを実行します。
$ aws configure list
認証情報が config ファイルまたは認証情報ファイルに設定されている場合、コマンドは次のような応答を返します。
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************ABCD config_file ~/.aws/config
secret_key ****************ABCD config_file ~/.aws/config
region us-west-2 env AWS_DEFAULT_REGION
認証情報が環境変数を使用して設定されている場合、コマンドは次のような応答を返します。
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************N36N env
secret_key ****************cxxy env
region <not set> None None
認証情報がインスタンスプロファイルに設定されている場合、コマンドは次のような応答を返します。
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************YVEQ iam-role
secret_key ****************2a9N iam-role
region <not set> None None
認証情報が設定されていない場合、コマンドは次の出力を返します。
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key <not set> None None
secret_key <not set> None None
region <not set> None None
応答を参照して、認証情報が欠落していないか、保存された認証情報が間違っていないかどうかを確認します。
インスタンスプロファイルが Amazon EC2 インスタンスにアタッチされていても、設定された信頼ポリシーの AssumeRole の問題が原因で認証情報を読み込めない場合があります。詳細については、インスタンスメタデータの取得を参照してください。
インスタンスメタデータを取得したときにコマンドが次の出力を返す場合、信頼ポリシー内の AssumeRole は制限されます。
{
"Code" : "AssumeRoleUnauthorizedAccess",
"Message" : "EC2 cannot assume the role EXAMPLEROLE. Please see documentation at https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_errors-info-doc.",
"LastUpdated" : "2024-04-03T09:49:40Z"
}
応答を確認して、認証情報が欠落していないか、IAM 信頼ポリシーが正しく設定されていないか、保存されている認証情報が正しくないかを確認します。詳細については、Amazon EC2 の IAM ロールを参照してください。