【发布时间】:2018-02-22 23:50:27
【问题描述】:
我使用我的组织主账户创建了一个存储桶,并为其分配了存储桶策略。
{
"Version": "2012-10-17",
"Id": "Policy1519198081967",
"Statement": [
{
"Sid": "Stmt1519198076838",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::XXXX:root",
"arn:aws:iam::XXXX:root",
"arn:aws:iam::XXXX:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket_name"
},
{
"Sid": "Stmt1519198076838",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::XXXX:root",
"arn:aws:iam::XXXX:root",
"arn:aws:iam::XXXX:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket_name/*"
}
]
}
当我尝试从我已允许访问存储桶的组织成员帐户访问存储桶时,我收到错误“拒绝访问”。
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>XXXXX</RequestId>
<HostId>
XXXXX
</HostId>
</Error>
我需要在存储桶策略中进行哪些更改才能从成员帐户访问我的文件。
另一个指针:
我的会员账户中的文件显示为:
服务器端加密
访问被拒绝
虽然,我没有在我的存储桶中配置任何服务器端加密。
[更新]
我尝试访问的文件在主帐户中如下所示:
而且,成员中的文件如下所示:
我要指出的是会员帐户中没有所有者,这可能是问题的原因。
【问题讨论】:
-
“成员”如何访问文件?他们是否使用 CLI/SDK?这样,他们的凭据就会被传递到 S3。
-
目前我只是尝试使用 AWS 控制台下载文件,稍后我将尝试使用 boto3 下载。
-
请注意,服务器端加密访问被拒绝仅仅意味着您没有询问对象加密的权限。它是此处显示的唯一不由 List Objects API 提供的属性。我怀疑您的主帐户不拥有该对象的事实是相关的,在这里。主帐户在此存储桶中创建的对象可能会正常工作。
标签: amazon-web-services amazon-s3