【问题标题】:S3 access denied when accessed from a different VPC Endpoint in a different account从不同账户中的不同 VPC 端点访问时,S3 访问被拒绝
【发布时间】:2020-10-21 14:39:09
【问题描述】:

我正在限制对我的 VPC 端点的存储桶访问,我有一个存储桶说 test-bucket 在 Dev 帐户中,我添加了以下策略以使访问仅限于 VPC 端点:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Access From Dev, QA Account",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                    "arn:aws:iam::x:root",
                    "arn:aws:iam::y:root",
                ]
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::test-bucket",
                "arn:aws:s3:::test-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-1234",
                        "vpce-1235"
                    ]
                }
            }
        }

开发帐户中的所有实例都能够通过 wget 和 AWS CLI 访问对象,当我从 QA 帐户的实例访问时出现问题,我能够 wget 对象但无法通过 AWS 访问CLI,出现以下错误:

fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden

虽然我已经在 S3 存储桶策略中添加了与 QA 账户相关的 VPC Endpoint。

如果我从存储桶策略中删除拒绝和删除 VPC 终端节点规则的操作,那么我可以从 QA 账户实例进行访问,因为有为其定义的 IAM 角色。我的问题是,当我通过 VPC Endpoint 限制访问时,为什么我无法从 QA 帐户实例访问?

帐户来自同一地区。

【问题讨论】:

  • 在这里尝试理解为合法。如果请求确实来自vpce-1235,那么Condition 是假的,因为StringNotEquals?因此,该政策甚至不适用。我对么?那么 QA 账户需要哪些角色才能访问存储桶呢?

标签: amazon-web-services amazon-s3


【解决方案1】:

好的,终于找到了答案,需要允许在 QA 帐户中定义的角色才能进行 awscli 访问。在存储桶策略中添加了以下几行。

   {
        "Sid": "Allow QA role",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::y:role/s3-access"
        },
        "Action": "s3:GetObject",
        "Resource": [
            "arn:aws:s3:::test-bucket",
            "arn:aws:s3:::test-bucket/*"
        ]
    }

【讨论】:

    猜你喜欢
    • 2021-02-16
    • 2020-06-13
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 2017-04-30
    • 2012-09-11
    相关资源
    最近更新 更多