[英]Need help to deny S3 bucket creation without specific Tags
我想创建一个 IAM 策略,只允许“测试”用户在创建时创建带有“名称”和“存储桶”标签的 S3 存储桶。 但是做不到。
我已经尝试过这个,但即使在指定的条件下,用户也无法创建存储桶。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "s3:CreateBucket",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestTag/Name": "Bucket"
}
}
}
]
}
提前致谢。
Amazon S3的操作、资源和条件键 - 服务授权参考文档页面列出了可应用于CreateBucket
命令的条件。
标签不包括在此列表中。 因此,无法根据使用命令指定的标签来限制CreateBucket
命令。
正如 John Rotenstein 指出的那样,这不可能(至少现在)明确否认这一点,但人们可以为此做一些选择,因为这种类型的标记策略在许多组织中都很常见。
您可以使用AWS Config服务来检测不合规的 S3 存储桶资源。 您可以使用 Config rule 为 S3 存储桶定义标记策略。
这不会阻止用户创建存储桶,但它会提供一种审核您的帐户并主动通知的方法。
如果您希望自动删除或标记存储桶,您可以创建一个由 CloudTrail API在创建存储桶时触发的 lambda 函数。
可以实施 Lambda 来检查标签,如果存储桶不合规,则尝试删除存储桶或通过您定义的其他一些流程将其标记为删除。
@pop 我相信您不能使用 IAM 策略或 SCP 来执行此操作,因为按照设计,S3 创建标签 API 被配置为作为对 CreateBucket API 的后续调用触发。 因此,即使您添加了此标签,您的 IAM 策略也会阻止创建 S3 存储桶本身。 与其他 AWS 服务相比,这是为 S3 服务设计的。
在我看来,唯一的选择是部署后操作,即选择一个事件驱动模型,您可以在其中使用 S3 事件根据存储桶的创建方式采取行动(删除存储桶/添加访问阻止存储桶策略等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.