我有一个存储桶策略(如下所列),当从特定 VPC 以外的任何地方访问时,它应该防止访问 S3 存储桶。我在 VPC 中启动了一个 EC2 实例,测试并确认 S3 访问工作正常。现在,当我通过 Web 控制台访问同一个 S3 存储桶时,我收到“错误 - 访问被拒绝”消息。
这是否意味着在通过 Web 控制台与 S3 交互时,请求上下文中也存在 aws:SourceVpc 条件键?
我的假设是它存在于请求上下文中,否则策略声明将失败,因此该声明的“效果”不适用,因为没有“Ifexists”添加到 StringNotEquals - 问这个问题,因为我无法在AWS 文档。即使在将“Ifexists”添加到 StringNotEquals 之后,结果也是一样的 - 有人可以确认吗?
{
"Version": "2012-10-17",
"Id": "Policy1589385141624",
"Statement": [
{
"Sid": "Access-to-specific-VPC-only",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::abhxy12bst3",
"arn:aws:s3:::abhxy12bst3/*"
],
"Condition": {
"StringNotEquals": {
"aws:sourceVpc": "vpc-0xy915sdfedb5667"
}
}
}
]
}