如何限制AWS S3桶所有访问并为指定IAM用户配置权限
限制S3桶全局访问并通过访问点授权指定IAM用户
第一步:完全锁死S3桶的所有访问
- 开启**S3块公共访问(Block Public Access)**的全部4项配置:
- 阻止新的公共桶策略
- 阻止公共和跨账户的桶策略访问
- 阻止新的公共ACL
- 阻止通过ACL的公共访问
- 删除桶上所有已存在的桶策略,确保没有任何允许访问的规则残留
- 将桶及所有对象的ACL设置为私有(仅桶所有者拥有访问权限)
第二步:创建S3访问点
- 可通过AWS控制台或CLI命令
aws s3control create-access-point创建访问点,关联目标桶 - 网络配置建议选「私有」(仅允许VPC内访问),如果需要公网访问可选择「互联网」,但私有模式安全性更高
第三步:给访问点附加授权策略
策略必须附加到访问点而非桶,这样既能保证桶本身完全锁定,又能精准控制通过访问点的访问权限。
以下是示例授权策略,替换占位符后使用:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::你的账户ID:user/指定IAM用户名" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:你的区域:你的账户ID:accesspoint/你的访问点名称", "arn:aws:s3:你的区域:你的账户ID:accesspoint/你的访问点名称/object/*" ] } ] }
第四步:验证配置
- 用其他IAM用户或匿名方式尝试访问桶,确认被拒绝
- 使用指定IAM用户通过访问点执行操作(比如CLI命令:
aws s3 cp --endpoint-url https://你的访问点名称-你的账户ID.s3-accesspoint.你的区域.amazonaws.com 本地文件.txt s3://你的访问点名称/),验证操作可正常执行
内容的提问来源于stack exchange,提问作者shrijay
相关产品推荐
相关产品推荐

