这个问题可以通过创建一个IAM策略来解决,该策略禁止指定IP块的所有IP访问AWS S3存储桶。
在IAM控制台上创建一个名称为“S3DenyIPBlockAccess”的新策略,然后将以下代码添加到“JSON”标签中。将x.x.x.x/y替换成大拒绝IP范围。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3DenyIPBlockAccess",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::your_bucket_name/*"
],
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"x.x.x.x/y"
]
}
}
}
]
}
需要注意的是,上面的IAM策略中的“s3:*”操作会拒绝指定IP块的所有S3操作。换句话说,如果需要允许特定IP访问受保护的S3存储桶,则需要在策略中添加一个适当的允许条款。