如何创建带资源标签例外的SCP以阻止公共S3存储桶
解决方案:带例外标签的S3公共访问阻止SCP
你可以通过在SCP中添加条件判断实现需求:默认阻止所有存储桶设置公共访问,但允许带有key1:value1标签的存储桶绕过限制。
修改后的完整SCP代码如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "s3:PutBucketPublicAccessBlock", "s3:PutAccountPublicAccessBlock" ], "Resource": "*", "Condition": { "StringNotEquals": { "s3:ResourceTag/key1": "value1" } } } ] }
核心逻辑说明:
- 保留原Deny规则,新增
Condition字段,通过StringNotEquals判断:仅当存储桶的key1标签值不等于value1时,才触发Deny操作。 - 带有
key1:value1标签的存储桶会自动绕过该Deny规则,可正常设置公共访问。 - 注意:
s3:PutAccountPublicAccessBlock是账号级的公共访问设置,该操作没有关联的存储桶标签。如果不需要限制账号级的公共访问配置,可从Action列表中移除该条目。
内容的提问来源于stack exchange,提问作者Jatin
相关产品推荐
相关产品推荐

