3

AWS S3 と Cloudfront のアクセス許可を始めたばかりなので、気楽にやってください。

2 つの主な質問:

  1. 一部のユーザー (ログインしているユーザーなど) にはアクセスを許可し、他のユーザーには許可しないようにしたいと考えています。バケット ポリシーの代わりに ACL を使用する必要があると思います。前者はクエリ パラメータを使用して URL でユーザーを識別できるという点でよりカスタマイズ可能だからです。まず、これで正しいでしょうか?ファイル/ユーザーごと/ユーザーごとにこれを行う方法の最もわかりやすい英語の説明を教えてもらえます? ACL に関するドキュメントは、私を混乱させます。

  2. また、ユーザーが 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/*"
                    ]
                }
            }
        }
    ]
}
4

1 に答える 1

3
  1. CDN へのアクセスを制限し、「プライベート コンテンツ」と呼ばれるものを提供するには、API を使用して署名付き URL を生成する必要があり、URL の有効期限を定義できます。詳細はこちら
  2. オリジン アクセス ID を使用できます—<a href="http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html" rel="nofollow noreferrer ">ここで説明されているように、コンテンツがクラウドフロントの外で提供されるのを防ぐためです。

過去のプロジェクトから共有するコードがいくつかあると思っていましたが、そうではありませんでした。しかし、少なくとも、ブックマークを調べて、その過程で役立つ参考文献の 1 つを見つけることができました。同じ参考文献について言及しているスタックオーバーフローの別の投稿があります。参照と投稿へのリンクの下を参照してください。

http://improve.dk/how-to-set-up-and-serve-private-content-using-s3/

Cloudfront プライベート コンテンツ + 署名付き URL アーキテクチャ

ええと、それは 2 年前のものです。あちこちで少し変更する必要があるかもしれませんが、アイデアはわかるでしょう。

于 2013-09-18T19:32:23.067 に答える