Skip to content
CALL ME STUPID
TwittergithubnotezennQiita

CORS と Cookie まとめ

Security2 min read

First

AWS CloudFront で静的リソースを配信するときに,認証をつけたいケースについて ちょっと前に少し調べたのでまとめておく.
ちなみに,調べてみたところ,あまりにも初歩的な内容なのでこっそり隠れて更新しているこっちのブログに記事にして Qiita とかでは「そんなの前から知っていましたぷー」という顔をすることにする.

前提を図にすると,こんな感じになります.

// FIXME

で,AWS 的にはこの認証には次の仕組みがおすすめされている.

  • 署名付き URL
  • 署名付き Cookie

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

よくあるのは,署名付き URL (Signed URL) だけども,画面上で参照するリソースが多く, いちいち SignedURL 払い出すのはちょっときつい・・というケースは署名付き Cookie の使用を検討するかと思う.
今回はこっちの話です.

署名付き Cookie の動作確認

Cookie の送信条件

さて,ここで Cookie の送信される条件と,CloudFront とかを利用する場合の cross-origin 要件を整理しておこう.

最後に

たいていの場合,CloudFront + S3 でホストする SPA ないし 静的 site から 同じ CloudFront で配信している リソースを参照する,というケースなのかなぁって気がするので,シチュエーション自体はそんなにハマるシーンはないと 思う.
ただ,ちょっと検証がうまくいかなかったりしてじゃっかん長引いてしまったのと, 途中までこれでいけるやろとおもってた俺もだいぶ不安になってしまった. というわけでかんたんにメモとして残しておく.