使用CloudBerry Drive挂载S3后,如何配置IAM分角色文件夹权限?
解决S3存储桶挂载后的IAM权限配置问题
我来帮你搞定这三类用户的权限配置,结合CloudBerry Drive挂载的需求,核心要注意桶级的列表权限和对象级的读写权限配合,不然挂载后可能看不到文件夹或者操作失败。下面是针对每个用户的具体配置方案:
核心注意点
CloudBerry Drive作为挂载工具,需要用户具备ListBucket权限来浏览桶内的文件夹结构,所以每个用户的策略里都得包含对应的桶级权限,不能只配置对象级的读写。
1. Admin用户权限(已正常,再确认标准配置)
Admin需要对整个environment桶的dev和prod文件夹拥有完全读写权限,策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::environment" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:PutObjectVersion" ], "Resource": [ "arn:aws:s3:::environment/dev/*", "arn:aws:s3:::environment/prod/*" ] } ] }
这个策略允许Admin列出桶内所有内容,同时对两个文件夹下的所有对象进行读写、删除等操作。
2. Dev用户权限(仅dev文件夹写入)
Dev用户需要能看到dev文件夹并进行写入操作,注意只允许写入,不能读取或操作prod文件夹:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::environment", "Condition": { "StringLike": { "s3:prefix": [ "dev/", "dev/*" ] } } }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::environment/dev/*" } ] }
- 桶级的
ListBucket加了条件,只允许Dev查看dev前缀的内容,看不到prod文件夹 - 对象级权限仅开放
dev/*的写入和删除操作,确保无法读取或修改其他内容
3. Prod用户权限(dev读取 + prod写入)
Prod用户需要读取dev文件夹的内容,同时对prod文件夹拥有写入权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::environment", "Condition": { "StringLike": { "s3:prefix": [ "dev/", "dev/*", "prod/", "prod/*" ] } } }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::environment/dev/*" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::environment/prod/*" } ] }
- 桶级
ListBucket允许查看dev和prod的内容,确保挂载后能看到这两个文件夹 - 对象级权限分别开放
dev/*的读取,以及prod/*的写入和删除
配置后的验证步骤
- 给每个用户配置好对应的IAM策略后,用CloudBerry Drive重新挂载存储桶
- 分别用Dev和Prod用户登录,测试对应文件夹的操作权限:
- Dev用户只能看到
dev文件夹,且能上传/删除文件,无法读取文件或访问prod - Prod用户能看到两个文件夹,
dev下只能读取,prod下可以上传/删除
- Dev用户只能看到
内容的提问来源于stack exchange,提问作者serverstackqns
相关产品推荐
相关产品推荐

