新しいアクセスキーを作成し、aws configure
を使用してAWS CLIで設定しました。 .ini
に~/.aws/config
ファイルを作成しました。 aws s3 ls
を実行すると、次の結果が得られます。
ListBucketsオペレーションを呼び出すときにクライアントエラー(InvalidAccessKeyId)が発生しました:指定したAWSアクセスキーIDがレコードに存在しません。
AmazonS3FullAccess
ポリシーもユーザーに添付されます。これを修正する方法は?
Env変数(bash_profile)を介してエクスポートされた古いキーがあり、env変数がクレデンシャルファイルよりも優先度が高いため、「アクセスキーIDが存在しません」というエラーが発生している可能性があります。
Bash_profileから古いキーを削除すると、準備が整います。
Bash_profileに資格情報があることを忘れてかなり前から頭痛を覚えていたときに、以前に私に一度起こりました:)
環境変数AWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEYに既にいくつかの値が設定されているようです。
そのような場合、以下のコマンドを実行するといくつかの値が表示されます。
echo $AWS_SECRET_ACCESS_KEY
echo $AWS_ACCESS_KEY_ID
aws configureを使用している場合、これらの変数をリセットする必要があります
リセットするには、以下のコマンドを実行します。
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
私にとっては、IAM EC2 roles
に依存して、特定のリソースへのマシンへのアクセスを許可していました。
~/.aws/credentials
にcredentials
ファイルがあることさえ知りませんでしたが、セキュリティを強化するためにIAMコンソールでaccessKeysを回転/削除し、スクリプトの1つが突然機能しなくなりました単一のマシン上。
そのcredentials
ファイルを削除すると、修正されました。
すべてが正しくセットアップされていても、これを引き起こす可能性のある別のことは、Makefileからコマンドを実行していることです。たとえば、私にはルールがありました:
awssetup:
aws configure
aws s3 sync s3://mybucket.whatever .
make awssetup
を実行すると、エラーが発生しました:fatal error: An error occurred (InvalidAccessKeyId) when calling the ListObjects operation: The AWS Access Key Id you provided does not exist in our records.
。しかし、コマンドラインから実行することはできました。
私は以下の手順を試してみましたが、うまくいきました:1. cd〜2. cd .aws 3. viクレデンシャル.
両方のラインを削除し、ゲインを確認します。
次を使用してbash_profileファイルでプロファイルを構成できます。
<profile_name>
aws_access_key_id = <access_key>
aws_secret_access_key = <acces_key_secret>
複数のプロファイルを使用している場合。次に使用します:
aws s3 ls --profile <profile_name>
~/.aws/credentials
は作成されなかったようです。このコンテンツを使用して手動で作成してみてください。
[default]
aws_access_key_id = sdfesdwedwedwrdf
aws_secret_access_key = wedfwedwerf3erfweaefdaefafefqaewfqewfqw
(私のテストボックスで、資格情報ファイルなしでaws
コマンドを実行すると、エラーはUnable to locate credentials. You can configure credentials by running "aws configure".
になります)aws
を実行しようとしている同じシェルからこれらの2つのコマンドを実行できますか:
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
そしてaws
コマンドを試してください。