署名付き Cookie とは: 署名付き URL と同じアクセス制御を Cookie で行う方式。URL にパラメータを付けずに、Cookie でアクセス権を証明します。
メリット: 複数のファイル(/return/signed* 全体)に対して 1 回の Cookie 設定でアクセスできる。URL が短くなる。
1署名付き Cookie を発行
Canned Policy
Custom Policy
Canned Policy: Cookie 名は CloudFront-Expires / CloudFront-Signature / CloudFront-Key-Pair-Id。ワイルドカード不可。
⚠️ ALB に直接アクセスしています。リソース URL は CloudFront ドメイン(または CNAME)を入力してください。
以下のコマンドで署名付き Cookie を使ったアクセスを試せます:
# まず Cookie を発行
COOKIES=$(curl -s 'http://52.197.11.208/api/sign-cookie?path=https://d3adbkxggjuyw9.cloudfront.net/return/signed*&ttl=3600')
# Cookie の値を取得
POLICY=$(echo $COOKIES | python3 -c "import json,sys; print(json.load(sys.stdin)['cookies']['CloudFront-Policy'])")
SIGNATURE=$(echo $COOKIES | python3 -c "import json,sys; print(json.load(sys.stdin)['cookies']['CloudFront-Signature'])")
KEYPAIR=$(echo $COOKIES | python3 -c "import json,sys; print(json.load(sys.stdin)['cookies']['CloudFront-Key-Pair-Id'])")
# Cookie 付きでアクセス
curl -b "CloudFront-Policy=$POLICY; CloudFront-Signature=$SIGNATURE; CloudFront-Key-Pair-Id=$KEYPAIR" \
https://d3adbkxggjuyw9.cloudfront.net/return/signed_cookie_test