我很好奇要了解使用以下存储桶策略创建S3存储桶的功能区别是什么
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Access-to-specific-VPC-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Deny",
"Resource": ["arn:aws:s3:::example-bucket",
"arn:aws:s3:::example-bucket/*"],
"Condition": {
"StringNotEquals": {
"aws:sourceVpc": "vpc-111bbb22"
}
}
}
]
}
与创建VPC端点类似,
{
"Name": "example-vpc-ap",
"Bucket": "example-bucket",
"NetworkOrigin": "VPC",
"VpcConfiguration": {
"VpcId": "vpc-111bbb22"
},
"CreationDate": "2019-11-27T00:00:00Z"
}
它们在功能上是否等效?是被贬低还是最佳实践?引用后还不清楚答案是什么
谢谢
答案 0 :(得分:1)
我认为aws:sourceVpc
只能与VPC端点一起使用。
来自Example Bucket Policies for VPC Endpoints for Amazon S3 - Amazon Simple Storage Service:
您可以使用
aws:SourceVpc
条件创建一个存储桶策略,以限制对特定VPC的访问。如果您在同一VPC中配置了多个VPC终端节点,并且想要管理所有终端节点对Amazon S3存储桶的访问,这将很有用。
您的问题中显示的VPC端点定义只是在说端点已连接到特定的VPC。它不会不将存储桶访问限制为仅对该端点的访问。用户仍然可以通过Internet或其他端点访问存储桶。
但是,我将承认所有这些端点和配置都相当混乱!