首页 文章

S3 PutObject操作为Access Denied提供了包含允许访问S3的策略的IAM角色

提问于
浏览
0

我有一个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 回答

  • 0

    我试着用 --debug 运行它来看看发生了什么 . 这有助于我发现我有一个本地 .aws/credentials 文件,它覆盖了连接到机器的IAMRole .

    如果您需要凭证文件 - 您可以使用不同的配置文件 [some name] 并使用 --profile 来选择它 .

    HTH .

相关问题