CORS と Cookie まとめ
— Security — 2 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 で配信している
リソースを参照する,というケースなのかなぁって気がするので,シチュエーション自体はそんなにハマるシーンはないと
思う.
ただ,ちょっと検証がうまくいかなかったりしてじゃっかん長引いてしまったのと,
途中までこれでいけるやろとおもってた俺もだいぶ不安になってしまった.
というわけでかんたんにメモとして残しておく.