AWS S3 と Cloudfront のアクセス許可を始めたばかりなので、気楽にやってください。
2 つの主な質問:
一部のユーザー (ログインしているユーザーなど) にはアクセスを許可し、他のユーザーには許可しないようにしたいと考えています。バケット ポリシーの代わりに 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/*"
]
}
}
}
]
}