【问题标题】:S3 PutObject operation gives Access Denied with IAM Role containing Policy granting access to S3S3 PutObject 操作使用包含授予 S3 访问权限的策略的 IAM 角色拒绝访问
【发布时间】:2018-11-21 08:56:03
【问题描述】:

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

为了测试是否是政策问题,我刚刚将 S3:* 授予 * 资源,但它仍然不会上传。

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

我在 CLI 得到的错误是:

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

我还需要做些什么来授予它访问权限吗?为什么附加到 IAM 角色的策略不起作用?

【问题讨论】:

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


    【解决方案1】:

    我尝试使用--debug 运行它以查看发生了什么。 这帮助我发现我有一个本地 .aws/credentials 文件,它覆盖了附加到机器上的 IAMRole。

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

    HTH。

    【讨论】:

    • 我会看看这个,看看是不是这样。
    猜你喜欢
    • 2020-06-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2017-08-04
    相关资源
    最近更新 更多