AWS AWSDenyAll策略是一种拒绝所有权限的策略,适用于很多场景,包括只允许IAM或特定的VPC访问资源。但是,它并不能直接阻止公共访问S3存储桶中的数据,因为公共数据也就意味着任何人都可以访问。
若想阻止公共访问S3存储桶,可以使用AWS S3提供的Bucket Policy功能。通过在Bucket Policy中配置相应的规则,即可限制公共访问。其中包括:
以下是一个Bucket Policy的例子,它仅允许指定的IAM实体持有GetObject和ListBucket的访问权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::bucket-name/*"
],
"Condition": {
"StringNotEquals": {
"aws:userId": [
"IAM-USER-ID",
"IAM-GROUP-ID",
"IAM-ROLE-ID"
]
}
}
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket
下一篇:awsdebian