見出し画像

CloudFrontのキャッシュキーとSet-Cookieヘッダー[#AWSメモ]

背景

CloudFrontでキャッシュキーとしてCookieを利用できるが、セッションIDなど重要なCookie情報がキャッシュコンテンツに含まれるのか、曖昧だったため調べてみた

結論

オリジンにCookieを送る設定をしている場合、オリジンからレスポンスされるSet-Cookieヘッダーもキャッシュされる

Cookieのオリジンへの転送設定とSet-Cookieについて(AWS公式ドキュメントより)
Set-Cookieヘッダーキャッシュの無効化(AWS公式ドキュメントより)

リスクと対策

  • セッションIDを利用したユーザーごとの会員専用ページなどがあるアプリケーションの場合、セッションIDがキャッシュされると別のユーザー情報が出るといったセキュリティ事故に繋がる恐れがある

  • Cookieをオリジンへ転送をしている場合は、レスポンスにCache-Controlヘッダを付与し、Set-Cookieがキャッシュされないよう設定しておく必要がある

補足

S3のオブジェクトの場合は、MetadataでCache-ControlとExpiresが設定可能

S3オブジェクトのキャッシュ関連ヘッダー設定(AWS BlackBelt資料より)

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AmazonCloudFront-CacheControl_0430_v1.pdf

いいなと思ったら応援しよう!