
CloudFrontのキャッシュキーとSet-Cookieヘッダー[#AWSメモ]
背景
CloudFrontでキャッシュキーとしてCookieを利用できるが、セッションIDなど重要なCookie情報がキャッシュコンテンツに含まれるのか、曖昧だったため調べてみた
結論
オリジンにCookieを送る設定をしている場合、オリジンからレスポンスされるSet-Cookieヘッダーもキャッシュされる


リスクと対策
セッションIDを利用したユーザーごとの会員専用ページなどがあるアプリケーションの場合、セッションIDがキャッシュされると別のユーザー情報が出るといったセキュリティ事故に繋がる恐れがある
Cookieをオリジンへ転送をしている場合は、レスポンスにCache-Controlヘッダを付与し、Set-Cookieがキャッシュされないよう設定しておく必要がある
補足
S3のオブジェクトの場合は、MetadataでCache-ControlとExpiresが設定可能
