すらいむがあらわれた

こまんど >  たたかう  にげる

Amazon CloudFrontにアクセス制限付きURLを発行する(その1)

Amazon CloudFrontでは署名付きのURLからのアクセスのみ受け付けるように制限することによって、コンテンツにアクセス制限をかけることができます。

Using a Signed URL to Serve Private Content - Amazon CloudFront Developer Guide
http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html


そのためには署名付きURLを受け付けられるCloudFront Distributionを作成します。
まずは下準備です。

  • S3にコンテンツを置くBucketを作成する

アクセス制限をかけるので一般公開の設定(Public)を外しておきます。

  • CloudFrontの利用を申請する

Amazon Management ConsoleでCloudFrontの利用を申請します。CloudFrontのタブを開いて表示されているボタンを押し、その後の案内に従えば利用開始できます。

  • CloudFrontのアカウントにKey Pairを結びつける

Key Pairは自分のものをアップロードするか、AWSで生成したものを使います。
セキュリティ証明書
https://aws-portal.amazon.com/gp/aws/developer/account?ie=UTF8&action=access-key
のページの「アクセス証明書」欄の「一対の鍵」タブに「Amazon CloudFront の一対の鍵 」という欄があります。ここで鍵を登録するか生成するかします。
登録、生成の仕方は以下から。
http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RestrictingAccessPrivateContent.html

  • CloudFront OriginAccessIdentity(OAI)を作る

アクセス制限はOAIを使って行います。
こちらで解説した方法などでOAIを作成し、「S3CanonicalUserId」を取得します。
AWS SDK for .NETでCloudFront Origin Access Identityを扱う
http://d.hatena.ne.jp/hayashih/20111205/p1

  • OAIの「S3CanonicalUserId」をS3上のコンテンツのアクセス権に追加

アクセス制限をしたいコンテンツに上記で取得したOAIを紐づけてしかるべきアクセス権を与えます。
AWS SDK for .NETでS3上のファイルにOrigin Access Identityを設定する
http://d.hatena.ne.jp/hayashih/20111213/p1


次回は署名付きURLを受け付けるCloudFront Distributionを作成します。