允许通过 VPC 或控制台访问 S3 存储桶?

允许通过 VPC 或控制台访问 S3 存储桶?

我希望我的 S3 存储桶可以通过两种方式访问​​:

  • 当我登录时,通过控制台,这样我就可以修改文件
  • 通过特定 VPC 中的 EC2 实例(为此正确设置了 IAM 角色)

这是我正在使用的存储桶策略:

{
    "Version": "2012-10-17",
    "Id": "Policy1415115909152",
    "Statement": [
        {
            "Sid": "Principal-Access",
            "Effect": "Allow",
            "Principal": {
                "CanonicalUser": "<my c_id>"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::my-keys",
                "arn:aws:s3:::my-keys/*"
            ]
        },
        {
            "Sid": "Access-to-specific-VPCE-only",
            "Action": "s3:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::my-keys",
                "arn:aws:s3:::my-keys/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": "vpce-<my_vpce_id>"
                }
            },
            "Principal": "*"
        }
    ]
}

这对于从 VPC 访问有效,但对于在控制台登录的我无效。显然我可以删除存储桶策略,进行更改,然后重新应用它,但我宁愿不这样做...

答案1

您是否为控制台访问设置了特定的用户?如果您的会话未使用 CanonicalUser,则可能无权访问。

相关内容