我已经为存储桶设置了S3库存报告,正在分析的数据位于存储桶/数据中,同时生成了库存报告并将其存储到存储桶/元数据/库存/中。
现在,我想从另一个AWS账户访问它,我已经创建了用于跨账户访问的IAM角色策略,并且只能从存储桶/数据/前缀中通过SDK或AWS CLI复制/获取文件。如果我尝试获取为S3库存报告创建的文件,例如manifest.json文件或清单报告中路径为bucket / meta / inventory /.../ data / report.csv的任何csv文件,则会得到:>
403访问被拒绝
或通过CLI
调用GetObject操作时发生错误(AccessDenied):访问被拒绝。
这很奇怪,因为我具有允许该IAM角色的整个存储桶使用s3:ListBucket和s3:GetObject的策略,但似乎是s3.amazonaws.com服务创建的文件,在这种情况下,该IAM角色无法访问库存报告。
有人遇到过这个吗?任何人都可以提出修复建议?
答案 0 :(得分:1)
我已发现问题,看来您必须在S3广告资源的存储桶策略语句中提供"s3:x-amz-acl": "bucket-owner-full-control"
StringEquals Condition,如下所示:
否则,“库存报告”中文件上的ACL将阻止拥有库存所在存储桶的帐户之外的任何访问。