我想阻止组织中的用户创建公共存储桶以及更改现有存储桶以授予他们任何公共访问权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3-whitelist",
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
/* many others, but not: */
/* "s3:PutBucketPublicAccessBlock" */
],
"Resource": "*"
},
{
"Sid": "s3-explicit-deny",
"Effect": "Deny",
"Action": [
"s3:PutBucketPublicAccessBlock"
],
"Resource": "*"
}
]
}
第二个块只是为了更好的衡量,但据我所知它不会增加任何价值。使用 SCP,我的用户无法将任何现有的非公共存储桶更改为公共存储桶,反之亦然(没关系)。但他们仍然可以创建新的存储桶,并且在对话框中可以取消选中“阻止所有公共访问”,从而创建公共存储桶。但我不能完全否认它们
s3:CreateBucket
,因为只要它们是非公开的,就应该能够创建存储桶。
所以我想我只需要在用户勾选“阻止所有公共访问”的情况下允许s3:CreateBucket
。但我该如何在 scp 中表达这一点呢?
如果您想关闭对帐户中所有 s3 存储桶的公共访问,只需在帐户级别进行设置即可。帐户级别阻止公共访问,将禁用为给定帐户授予的任何公共访问权限,并防止任何新的覆盖存储桶级别设置。
https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-block-public-access-account.html