[CloudFront] 追加できるリクエストヘッダ一覧

CloudFront から、ALBなどのリクエスト先にヘッダを追加することができます。アクセス環境によって、表示を変えたり、アクセス制御に利用することができます。すべて、リクエストを送ってきた端末(AWSのマニュアルではビューア−)の情報を示しています。
Google Analytics などでも取得できますが、リクエスト時に判別可能で、アプリ側で開発が不要にできることがメリットです。

OS

端末が iOS か Android かを判別できます。表示するストアを変えることもできます。

CloudFront-Is-IOS-ViewerApple (iOS) であれば true
CloudFront-Is-Android-ViewerAndroid であれば true

端末タイプ

電話・タブレット・デスクトップで画面を変更するといったことに使えます。

CloudFront-Is-Desktop-Viewerデスクトップデバイスであれば true
CloudFront-Is-Mobile-Viewerモバイルデバイスであれば true
CloudFront-Is-SmartTV-Viewerスマートテレビであれば true
CloudFront-Is-Tablet-Viewerタブレットであれば true

位置情報

2020年7月に IPアドレスベースのジオロケーション項目が追加されました。アクセス元の場所を把握することが可能になりました。(Amazon CloudFront が、より詳細なジオターゲティングのために追加の位置情報ヘッダーを追加

CloudFront-Viewer-AddressIPアドレスとソースポート番号
CloudFront-Viewer-ASNAS 番号 (ASN)
CloudFront-Viewer-Country-Regionリージョン (最大3文字) (ISO 3166-2 第1レベル)
CloudFront-Viewer-Country-Region-Nameリージョン名 (ISO 3166-2 第1レベル)
CloudFront-Viewer-Country国コード (ISO 3166-1 alpha-2)
CloudFront-Viewer-Country-Name国名
CloudFront-Viewer-City市区町村名
CloudFront-Viewer-Latitude緯度
CloudFront-Viewer-Longitude経度
CloudFront-Viewer-Postal-Code郵便番号
CloudFront-Viewer-Metro-Codeメトロコード (米国のみ)
CloudFront-Viewer-Time-Zoneタイムゾーン (ex. America/Los_Angeles)

リクエストヘッダ

リクエストされてきたヘッダの順序、増減をチェックすることで不正なリクエストを検知することが可能です。

CloudFront-Viewer-Header-Orderリクエストされたヘッダー名をリクエスト順にコロンで区切り
CloudFront-Viewer-Header-Countリクエストされたヘッダー数

その他

2022年11月、JA3フィンガープリントの追加が行われました。同一のアクセス環境であることを把握することができる値ですが、確実性は低いので不正検知程度にとどまります。(Amazon CloudFront が JA3 フィンガープリントヘッダーのサポートを開始

CloudFront-Forwarded-Protoプロトコル (HTTP または HTTPS)
CloudFront-Viewer-Http-VersionHTTP バージョン
CloudFront-Viewer-JA3-FingerprintJA3 フィンガープリント (HTTPS専用)
CloudFront-Viewer-TLSSSL/TLS バージョン、暗号、SSL/TLS ハンドシェイク

AWSAWS,CloudFront

Posted by kidatti