はじめに
今回はAmazon CloudFrontに署名付きCookieを設定するまでの手順(AWSコンソール上での手動設定)をまとめてみました。
少しでも参考になれば幸いです。
関連記事を公開していますので、ぜひ合わせてご参照ください。
前提
CloudFrontに登録する公開鍵(RSA鍵ペアの片方)が作成済みであること
操作の流れ
- CloudFrontパブリックキーを登録
- CloudFrontキーグループを作成
- CloudFrontディストリビューションに保護用ビヘイビアを追加
1. CloudFrontパブリックキーを登録
公開鍵をCloudFrontに登録します。
AWSコンソール >> CloudFront >> キー管理 >> パブリックキー画面に遷移し、「パブリックキーを作成」を押します。
①わかりやすい名前を入力します。
②わかりやすい説明を入力します。
③作成済みの公開鍵(例:gif_public_key.pem)の中身をそのまま全部貼ります。
④「パブリックキーを作成」を押します。
IDが'K'から始まるパブリックキーが登録されます。
2. CloudFrontキーグループを作成
CloudFrontキーグループは、署名付きURL・署名付きCookieの公開鍵を(複数)管理する仕組みです。
CloudFrontディストリビューションには、CloudFrontパブリックキーではなく、このCloudFrontキーグループを紐づけます。
※AWS KMSは署名付きCookieの公開鍵登録先にはならないため、CloudFrontキーグループを利用します。
なぜキーグループが必要か
公開鍵をAを削除し、新しく公開鍵Bを登録したいケースなどでは、キーグループの中で公開鍵AとBをしばらく共存させることで、鍵ローテーションをスムーズに行うことが可能になります(古いCookieの全滅を防ぐ)
AWSコンソール >> CloudFront >> キー管理 >> キーグループ画面に遷移し、「キーグループを作成」を押します。
①わかりやすい名前を入力します。
②わかりやすい説明を入力します。
③先ほど作成した公開鍵を選択します。
④「Create key group」を押します。
3. CloudFrontディストリビューションに保護用ビヘイビアを追加
AWSコンソール >> CloudFront >> ディストリビューション画面に遷移し、対象のディストリビューションを選択します。
「ビヘイビア」タブを開き、「ビヘイビアを作成」を押します。
①「パスパターン」に、今回アクセスを制限したいパスを入力します。
②「オリジンとオリジングループ」には、default behaviorと同じS3(OAC)オリジンを選択します。
③④⑤デフォルトの設定を使用します。
①「ビューワーのアクセスを制限する」で「Yes」を選択します。
②「信頼された認可タイプ」で「Trusted key groups (recommended)」を選択します。
③先ほど作成したキーグループを選択します。
④⑤デフォルトの設定を使用します。
「Create behavior」を押します。
/images/completion-gift-*は/api/*やデフォルト(*)より具体的なパスなので、ビヘイビアの優先順位が上位に来るよう設定します。
①対象のビヘイビアを選択します。
②「上へ移動」を押します。
③「保存」を押します。
AWSコンソール上での設定は以上になります!
秘密鍵のセットアップ手順や、実際にアプリの実装と連携した記事もぜひ合わせご参照ください。
最後までお読みいただきありがとうございました。





