如何在 Amazon S3 中设置存储桶,以便默认情况下所有文件都是公开只读的?
aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read
您可以按照此博客文章中的详细说明设置存储桶策略:
http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/
根据@robbyt 的建议,使用以下 JSON 创建存储桶策略:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket/*"
]
}
]
}
重要提示:将 Resource
行中的 bucket
替换为您的存储桶名称。
Amazon 提供了一个策略生成器工具:
https://awspolicygen.s3.amazonaws.com/policygen.html
之后,您可以在 AWS 控制台上输入存储桶的策略要求:
https://console.aws.amazon.com/s3/home
不定期副业成功案例分享
arn:aws:s3:::bucket
添加到Resource
数组中。 (所以没有/*
。)我希望这可以帮助像我一样在这方面苦苦挣扎的其他人。sync
时才需要这样做,而不仅仅是查看存储桶。List
权限授予Everyone
存储桶的权限部分。"2017-11-16",