S3 PutObject操作使用包含策略的IAM角色拒绝访问,授予对S3

时间:2018-06-12 03:58:53

标签: amazon-web-services amazon-s3 amazon-iam

我有一个IAM角色,附加了自定义策略,允许访问我们称之为foo-bar的S3存储桶。我尝试使用PutObject和其他几项操作授予对该特定资源的访问权限。当我使用aws s3 sync. s3://foo-bar时,IAM角色已附加到EC2实例,但EC2实例无权访问上载文件。

为了测试这是否是该政策的问题,我只是授予S3:*到*资源,但它仍然无法上传。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:ListExports", "s3:*" ], "Resource": "*" } ] }

我在CLI获得的错误是:

  

上传失败:infrastructure \ vpc.template为s3://foo-bar/infrastructure/vpc.template调用PutObject操作时发生错误(AccessDenied):拒绝访问

为了让它可以访问,我还需要做些什么吗?为什么附加到IAM角色的政策不起作用?

1 个答案:

答案 0 :(得分:0)

我尝试用get '/show_all_reviews', to: 'users#show_all_reviews', as: :show_all_reviews 运行它以查看发生了什么。 这有助于我发现我有一个本地--debug文件,该文件覆盖了连接到计算机的IAMRole。

如果您需要凭据文件-您可以使用其他配置文件.aws/credentials并使用[some name]进行选择。

HTH。