NetDrive挂载S3 Bucket文件夹:只读预览可下载不可修改的可行性及政策优化
解决S3 Bucket只读权限配置问题
你的现有IAM策略问题出在第三个Statement里,"Action": ["s3:*"] 允许了对operation/*路径下所有S3操作,包括修改、删除、上传等写操作,这就导致用户能修改保存文件。
下面是修改后的只读权限策略,只保留预览、下载所需的必要操作,完全禁止写操作:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRootAndHomeListingOfCompanyBucket", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::desision-hseq" ], "Condition": { "StringEquals": { "s3:prefix": [ "", "operation/", "operation/formats", "operation/procedures" ], "s3:delimiter": [ "/" ] } } }, { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::desision-hseq" ], "Condition": { "StringLike": { "s3:prefix": [ "operation/*" ] } } }, { "Sid": "AllowReadOnlyActionsInOperationFolder", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": [ "arn:aws:s3:::desision-hseq/operation/*" ] } ] }
关键修改说明:
- 替换原第三个Statement的
s3:*为具体只读操作:s3:GetObject:支持文件预览与下载,是NetDrive挂载后核心的只读权限s3:GetObjectVersion:若Bucket开启版本控制,允许访问文件历史版本(无需可移除)s3:GetObjectTagging:允许查看文件标签(无需可移除)
- 移除所有写操作权限,确保用户无法修改、上传、删除或覆盖原文件
- 保留原有列表权限,保证NetDrive中能正常浏览文件夹结构
配置该策略后,用户通过NetDrive挂载的驱动器仅能查看、下载文件,无法进行任何修改保存操作,不会影响原Bucket内的文件。
内容的提问来源于stack exchange,提问作者Oswaldo Gaitán Araque
相关产品推荐
相关产品推荐

