当前位置: 首页 > 知识库问答 >
问题:

使用根密钥从AWS cli拒绝S3 cp访问

韩阳云
2023-03-14

我在一个EC2实例上安装了AWS cli,我通过运行AWS configure并给它我的AWSAccessKeyId和AWSSCretKey密钥对其进行了配置,因此如果我运行命令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.

我认为通过运行aws配置并给它我的根密钥,我实际上给了aws cli它需要验证的一切?关于复制到S3桶而不是列出它们,我是否错过了什么?

共有3个答案

叶浩荡
2023-03-14

如果设置了环境变量AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_IDAWS_REGION,AWS CLI会赋予它们更高的优先级,而不是您用AWS configure指定的凭据。

因此,在我的例子中,bash命令取消设置AWS\u访问权\u密钥\u ID AWS\u秘密\u访问权\u密钥解决了这个问题。

吴安和
2023-03-14

根访问密钥和密钥具有与AWS交互的完全控制和完全权限。请尝试再次运行aws configure以重新检查设置,然后重试。

附言:强烈不建议使用根访问密钥——请考虑创建一个IAM(它具有像根一样的管理权限)并使用这些密钥。

向安福
2023-03-14

我想我会添加一个非常相似的问题,我在那里可以列出桶,但不能写入给定的桶返回错误

调用CreateMultipartUpload操作时出错(AccessDended):拒绝访问

如果存储桶使用服务器端加密,则需要添加--sse标志才能写入此存储桶。

https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html

 类似资料: