kau*_*kdr 46 amazon-s3 amazon-web-services aws-cli
我创建了一个新的Access Key,并在AWS CLI中对其进行了配置aws configure.它创建了.ini文件~/.aws/config.当我运行aws s3 ls它时给出:
调用ListBuckets操作时发生客户端错误(InvalidAccessKeyId):您提供的AWS Access Key ID在我们的记录中不存在.
AmazonS3FullAccess策略也附加到用户.如何解决这个问题?
Man*_*shi 33
可能正在发生的是您通过env变量(bash_profile)导出旧密钥,并且因为env变量优先于凭证文件,所以它给出错误"访问密钥ID不存在".
从bash_profile中删除旧密钥,你会很高兴.
我早些时候发生过这样的事情,当我忘了我在bash_profile中有证书并且让我头疼了很长一段时间:)
小智 25
看起来已经为环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY设置了一些值.
如果是这样,您可以在执行以下命令时看到一些值.
echo $AWS_SECRET_ACCESS_KEY
echo $AWS_ACCESS_KEY_ID
Run Code Online (Sandbox Code Playgroud)
如果使用aws configure,则需要重置这些变量
要重置,请执行以下命令.
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
Run Code Online (Sandbox Code Playgroud)
小智 15
需要补充说明的 aws_session_token凭证,连同 aws_access_key_id,aws_secret_access_key
小智 11
您可能已正确配置 AWS 凭证,但使用这些凭证,您可能会连接到某些特定的 S3 端点(就像我的情况一样)。
而不是使用:
aws s3 ls
Run Code Online (Sandbox Code Playgroud)
尝试使用:
aws --endpoint-url=https://<your_s3_endpoint_url> s3 ls
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助那些面临类似问题的人。
对我来说,我依赖于IAM EC2 roles为我们的机器提供特定资源的访问权限。
我什至不知道 处有一个credentials文件~/.aws/credentials,直到我在 IAM 控制台上旋转/删除了一些 accessKeys 以加强我们的安全性,这突然使其中一个脚本停止在一台计算机上运行。
删除该credentials文件为我解决了这个问题。
小智 6
没有一个投票的答案对我有用。最后,我使用客户端 API 在 python 脚本中传递凭据。
import boto3
client = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN)
Run Code Online (Sandbox Code Playgroud)
请注意 aws_session_token 参数是可选的。不推荐用于公共工作,但可以让简单的试用生活更轻松。
我一直在寻找有关此问题的信息,并找到了这篇文章。我知道它已经过时了,但我想留下这篇文章,以防有人遇到问题。
好的,我已经安装了AWS CLI并打开:
看来您需要运行aws configure来添加当前凭据。更改后,我可以访问
看起来~/.aws/credentials没有创建。尝试使用以下内容手动创建它:
[default]
aws_access_key_id = sdfesdwedwedwrdf
aws_secret_access_key = wedfwedwerf3erfweaefdaefafefqaewfqewfqw
Run Code Online (Sandbox Code Playgroud)
(在我的测试盒上,如果我aws在没有凭据文件的情况下运行命令,错误是Unable to locate credentials. You can configure credentials by running "aws configure".)您可以尝试从您尝试运行的同一个 shell 运行这两个命令吗aws:
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Run Code Online (Sandbox Code Playgroud)
然后尝试aws命令。
| 归档时间: |
|
| 查看次数: |
68131 次 |
| 最近记录: |