我刚刚开始使用 AWS S3 和 Cloudfront 的权限,所以请放轻松。
两个主要问题:
我想允许访问某些用户(例如,已登录的用户),但不允许访问其他用户。我假设我需要使用 ACL 而不是存储桶策略,因为前者更具可定制性,因为您可以使用查询参数在 URL 中识别用户。首先这是正确的吗?有人可以向我指出如何在文件/用户逐个文件/用户的基础上执行此操作的最简单的英文描述吗?ACL 上的文档让我很困惑。
我还想限制访问权限,使人们只能查看 my-site.com 上的内容,而不能查看 your-site.com 上的内容。不幸的是,S3 文档示例存储桶策略对我的演示存储桶的访问没有影响(请参阅下面的代码,稍微改编自 AWS 文档)。此外,如果我首先需要专注于允许逐个用户访问,我是否甚至想要定义存储桶策略?
我意识到我什至没有谈到如何在 Cloudfront(最终目标)的背景下进行这项工作,但对问题 1 和 2 的任何想法将不胜感激,此时提及 Cloudfront 将是一个奖励。
`
{
"Version": "2008-10-17",
"Id":"http referer policy example",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"https://mysite.com/*",
"https://www.mysite.com/*"
]
}
}
}
]
}