如何通过Amplify Override将S3存储桶指定文件夹设为公开?
如何给S3存储桶指定文件夹设置访问权限
1. 将public/文件夹设为全员可访问
方法一:使用桶策略
在S3控制台的桶权限页面,添加以下桶策略(替换your-bucket-name为你的存储桶名称):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/public/*" } ] }
该策略允许所有用户获取public/文件夹下的所有对象。
方法二:批量设置对象ACL
如果public/文件夹已有文件,可通过AWS CLI批量设置对象ACL为公开读:
aws s3 cp s3://your-bucket-name/public/ s3://your-bucket-name/public/ --acl public-read --recursive
后续上传到该文件夹的文件,需手动指定public-read ACL,或在上传工具中配置默认ACL。
2. 将protected/文件夹设为私有
S3对象默认权限为私有,只需确保没有额外策略或ACL开放该文件夹权限:
- 若存在全局公开的桶策略,需在策略中排除
protected/路径; - 对已有的
protected/下对象,可通过CLI重置ACL为私有:
aws s3 cp s3://your-bucket-name/protected/ s3://your-bucket-name/protected/ --acl private --recursive
内容的提问来源于stack exchange,提问作者Dhanush
相关产品推荐
相关产品推荐

