请求配置S3桶根目录及所有子目录的List/Put/Get权限政策
完善S3桶全层级访问权限政策
我来帮你把这个权限政策补全,确保你的用户组能对my-bucket根目录及所有子目录(包括嵌套的子子目录)执行列出目录/对象、上传对象、获取对象的操作。
完整的IAM政策配置
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-bucket", "Condition": { "StringLike": { "s3:prefix": ["", "*", "*/*", "*/*/*", "*/*/*/*"] } } }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-bucket/*" } ] }
政策各部分详解
ListBucket权限:这个操作是针对桶本身的(资源为
arn:aws:s3:::my-bucket),用来列出桶内的目录和对象。添加Condition里的StringLike规则是为了确保能遍历所有层级的子目录——从根目录(空字符串)到多层嵌套的子目录(*/*/*这类通配符),避免出现只能看到根目录内容、无法深入子目录的问题。GetObject & PutObject权限:这两个操作是针对桶内的对象的(资源为
arn:aws:s3:::my-bucket/*),*通配符覆盖了桶下所有路径的对象,不管是根目录的file.ext,还是/folder3/subfolder/subsubfolder/里的文件,都能执行下载和上传操作。
额外说明
如果你的桶启用了版本控制,还可以按需添加s3:ListObjectVersions和s3:GetObjectVersion权限;如果需要删除对象,再加上s3:DeleteObject即可——不过根据你的需求,上面的配置已经完全覆盖了列出、上传、获取的核心操作。
内容的提问来源于stack exchange,提问作者gprime
相关产品推荐
相关产品推荐

