not*_*ink 11 amazon-s3 amazon-ec2 amazon-web-services
我在EC2实例上安装了AWS cli,并通过运行aws configure
并为其配置了我的AWSAccessKeyId和AWSSecretKey密钥来配置它,因此如果我运行该命令,aws s3 ls
它将返回我的S3存储桶的名称(称之为"mybucket").
但是,如果我然后尝试aws s3 cp localfolder/ s3://mybucket/ --recursive
我得到一个看起来像的错误
A client error (AccessDenied) occurred when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads. Please authenticate.
Run Code Online (Sandbox Code Playgroud)
我认为通过运行aws configure并给它我的root密钥,我有效地给了aws cli它需要进行身份验证的一切吗?有没有关于复制到S3存储桶而不是列出它们的东西?
Sco*_*McC 20
我想我会添加一个非常类似的问题,我可以在其中列出存储桶,但无法写入返回错误的给定存储桶
--sse
如果存储桶使用服务器端加密,则需要添加--sse
标志以便能够写入此存储桶.
Root Access密钥和Secret密钥具有完全控制权和完全权限,可与AWS进行交互.请尝试aws configure
再次运行以重新检查设置,然后重试.
PS:强烈建议不要使用root访问密钥 - 请考虑创建一个IAM(使用root权限管理员权限)并使用它们.
如果您有环境变量AWS_SECRET_ACCESS_KEY
,AWS_ACCESS_KEY_ID
并AWS_REGION
集,AWS CLI提供更高的优先给他们,而不是你的凭据与指定aws configure
。
因此,就我而言,bash命令unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
解决了该问题。
归档时间: |
|
查看次数: |
21904 次 |
最近记录: |