我有一个IAM角色,附加了自定义策略,允许访问我们称之为 foo-bar
的S3存储桶 . 我已尝试使用 PutObject
和其他一些操作授予对该特定资源的访问权限 . 当我使用 aws s3 sync. s3://foo-bar
时,IAM角色附加到EC2实例,但EC2实例无权访问上载文件 .
为了测试它是否是策略的问题,我只是授予了S3:* to * resources,它仍然无法上传 .
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:ListExports", "s3:*" ], "Resource": "*" } ] }
我在CLI获得的错误是:
upload failed:infrastructure \ vpc.template to s3://foo-bar/infrastructure/vpc.template调用PutObject操作时发生错误(AccessDenied):拒绝访问
还有什么我需要做的才能让它访问吗?为什么附加到IAM角色的策略不起作用?
1 回答
我试着用
--debug
运行它来看看发生了什么 . 这有助于我发现我有一个本地.aws/credentials
文件,它覆盖了连接到机器的IAMRole .如果您需要凭证文件 - 您可以使用不同的配置文件
[some name]
并使用--profile
来选择它 .HTH .