

# ポリシーを使用して CloudFront レスポンスの HTTP ヘッダーを追加または削除する
<a name="modifying-response-headers"></a>

ビューワー (ウェブブラウザやその他のクライアント) に送信するレスポンスの HTTP ヘッダーを変更するように CloudFront を設定できます。CloudFront は、レスポンスをビューワーに送信する前に、オリジンから受け取ったヘッダーを削除したり、レスポンスにヘッダーを追加したりできます。これらの変更を行うために、コードを記述したり、オリジンを変更したりする必要はありません。

例えば、`X-Powered-By` や `Vary` などのヘッダーを削除し、これらのヘッダーを含まないレスポンスを CloudFront からビューワーに送信できます。または、以下のような HTTP ヘッダーを追加できます。
+ ブラウザのキャッシュを制御する `Cache-Control` ヘッダー。
+ Cross-Origin Resource Sharing (CORS) を有効にする `Access-Control-Allow-Origin` ヘッダー また、他の CORS ヘッダーを追加することもできます。
+ `Strict-Transport-Security`、`Content-Security-Policy`、`X-Frame-Options` のような一般的なセキュリティヘッダーのセット。
+ CloudFront を介したリクエストとレスポンスの両方のパフォーマンスとルーティングに関連する情報を表示する、`Server-Timing` ヘッダー。

CloudFront が HTTP レスポンスで追加または削除するヘッダーを指定するには、*レスポンスヘッダーポリシー*を使用します。レスポンスヘッダーポリシーをもう 1 つの*キャッシュ動作*にアタッチすると、CloudFront は、そのキャッシュ動作に一致するリクエストに対して送信するレスポンスのヘッダーを変更します。CloudFront は、キャッシュから提供するレスポンスとオリジンから転送するレスポンスのヘッダーを変更します。レスポンスヘッダーポリシーで追加したヘッダーの 1 つ以上がオリジンレスポンスに含まれている場合、CloudFront がオリジンから受信したヘッダーを使用するか、このヘッダーをレスポンスヘッダーポリシー内のヘッダーで上書きするかをポリシーで指定できます。

**注記**  
`Cache-Control` などのレスポンスヘッダーポリシーにブラウザキャッシュを制御するヘッダーを追加すると、CloudFront はこれらのヘッダーを*ビューワーレスポンスにのみ*に追加します。これらのヘッダーは、CloudFront がリクエストされたオブジェクトをキャッシュする方法には影響しません。

CloudFront には、一般的なユースケース用に*マネージドポリシー*と呼ばれる事前定義されたレスポンスヘッダーポリシーが用意されています。[これらのマネージドポリシーを使用することも](using-managed-response-headers-policies.md)、独自のポリシーを作成することもできます。AWS アカウント の複数のディストリビューションにおける複数のキャッシュ動作に単一のレスポンスヘッダーポリシーをアタッチすることができます。

詳細については次を参照してください:

**Topics**
+ [

# レスポンスヘッダーポリシーを理解する
](understanding-response-headers-policies.md)
+ [

# レスポンスヘッダーポリシーの作成
](creating-response-headers-policies.md)
+ [

# マネージドレスポンスヘッダーポリシーを使用する
](using-managed-response-headers-policies.md)

# レスポンスヘッダーポリシーを理解する
<a name="understanding-response-headers-policies"></a>

レスポンスヘッダーポリシーを使用して、Amazon CloudFront からビューワーに送信するレスポンスで削除または追加する HTTP ヘッダーを指定できます。レスポンスヘッダーポリシーおよびそれらを使用する理由の詳細については、「[ポリシーを使用して CloudFront レスポンスの HTTP ヘッダーを追加または削除する](modifying-response-headers.md)」を参照してください。

以下のトピックでは、レスポンスヘッダーポリシーの設定について説明します。設定はカテゴリに分類され、そのことについて次のトピックで説明します。

**Topics**
+ [

## ポリシーの詳細 (メタデータ)
](#understanding-response-headers-policies-details)
+ [

## CORS ヘッダー
](#understanding-response-headers-policies-cors)
+ [

## セキュリティヘッダー
](#understanding-response-headers-policies-security)
+ [

## カスタムヘッダー
](#understanding-response-headers-policies-custom)
+ [

## ヘッダーを削除
](#understanding-response-headers-policies-remove-headers)
+ [

## Server-Timing ヘッダー
](#server-timing-header)

## ポリシーの詳細 (メタデータ)
<a name="understanding-response-headers-policies-details"></a>

ポリシーの詳細設定には、レスポンスヘッダーポリシーに関するメタデータが含まれます。
+ **名前** - レスポンスヘッダーポリシーを識別するための名前。コンソールでは、名前を使用して、このポリシーをキャッシュ動作にアタッチします。
+ **説明** (オプション) - レスポンスヘッダーポリシーを説明するコメント。これはオプションですが、このポリシーの目的を特定するのに役立ちます。

## CORS ヘッダー
<a name="understanding-response-headers-policies-cors"></a>

Cross-Origin Resource Sharing (CORS) 設定を使用して、レスポンスヘッダーポリシーに CORS ヘッダーを追加および設定できます。

このリストは、レスポンスヘッダーポリシーの設定および有効な値の指定方法に焦点を合わせています。これらの各ヘッダーと、実際の CORS リクエストとレスポンスの使用方法の詳細については、MDN ウェブドキュメントと [CORS プロトコルの仕様](https://fetch.spec.whatwg.org/#http-cors-protocol)にある「[クロスオリジンリソース共有](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)」を参照してください。

**Access-Control-Allow-Credentials**  
これは Boolean 設定 (`true` または `false`) で、CloudFront が CORS リクエストへのレスポンスに `Access-Control-Allow-Credentials` ヘッダーを追加するかどうかを決定します。この設定が `true` に設定されている場合、CloudFront によって `Access-Control-Allow-Credentials: true` CORS リクエストへのレスポンスのヘッダーが追加されます。そうしないと、このヘッダーは CloudFront によってレスポンスに追加されません。

**Access-Control-Allow-Headers**  
CORS のプリフライトリクエストへのレスポンスで、CloudFront が `Access-Control-Allow-Headers` ヘッダーの値として使用するヘッダー名を指定します。この設定の有効な値には、HTTP ヘッダー名、またはすべてのヘッダーを許可することを示すワイルドカード文字 (`*`) が含まれます。  
`Authorization` ヘッダーではワイルドカードを使用できないため、明示的にリストする必要があります。
    
**ワイルドカード文字の有効な使用例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html)

**Access-Control-Allow-Methods**  
CORS のプリフライトリクエストへのレスポンスで、CloudFront が `Access-Control-Allow-Methods` ヘッダーの値として使用する HTTP メソッドを指定します。有効な値は、`GET`、`DELETE`、`HEAD`、`OPTIONS`、`PATCH`、`POST`、`PUT`、`ALL` です。`ALL` は、リストされているすべての HTTP メソッドが含まれている特別な値です。

**Access-Control-Allow-Origin**  
CloudFront が `Access-Control-Allow-Origin` レスポンスヘッダーで使用できる値を指定します。この設定の有効な値には、特定のオリジン (`http://www.example.com` など)、またはすべてのオリジンを許可することを示すワイルドカード文字 (`*`) が含まれます。  
**注意事項**  
+ ワイルドカード文字 (`*`) は、ドメイン (`*.example.org`) の左端部分として使用できます。
+ ワイルドカード文字 (`*`) は以下の位置では使用*できません*。
  + 最上位ドメイン (`example.*`)
  + サブドメインの右側 (`test.*.example.org`) または任意のサブドメイン内 (`*test.example.org`)
  + 規約の内部 (`exa*mple.org)`
ワイルドカード文字の使用方法の例については、次の表を参照してください。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html)

**Access-Control-Expose-Headers**  
CORS のプリフライトリクエストへのレスポンスで、CloudFront が `Access-Control-Expose-Headers` ヘッダーの値として使用するヘッダー名を指定します。この設定の有効な値には、HTTP ヘッダー名、またはワイルドカード文字 (`*`) が含まれます。

**Access-Control-Max-Age**  
CORS のプリフライトリクエストへのレスポンスで、CloudFront が `Access-Control-Max-Age` ヘッダーの値として使用する秒数。

**オリジンのオーバーライド**  
オリジンからのレスポンスに含まれている CORS ヘッダーの 1 つがポリシー内にもある場合の CloudFront の動作方法を決定する Boolean 設定。  
+ `true` に設定されていて、オリジンレスポンスで、ポリシーにも CORS ヘッダーが含まれている場合、CloudFront は、レスポンスに対するポリシーの CORS ヘッダーを追加します。次に CloudFront はそのレスポンスをビューワーに送信します。CloudFront はオリジンから受け取ったヘッダーを無視します。
+ `false` に設定されており、オリジンレスポンスに CORS ヘッダーが含まれている場合 (CORS ヘッダーがポリシーのものかどうかに関係なく)、CloudFront には、オリジンから受け取りレスポンスに送信する CORS ヘッダーが含まれます。CloudFront は、ビューワーに送信されるレスポンスにポリシー内の CORS ヘッダーを追加しません。

## セキュリティヘッダー
<a name="understanding-response-headers-policies-security"></a>

セキュリティヘッダーの設定を使用して、レスポンスヘッダーポリシーでいくつかのセキュリティ関連の HTTP レスポンスヘッダーを追加および設定できます。

このリストは、レスポンスヘッダーポリシーの設定および有効な値の指定方法を示しています。これらの各ヘッダー、および実際の HTTP レスポンスでの使用方法の詳細については、MDN ウェブドキュメントへのリンクを参照してください。

**Content-Security-Policy**  
CloudFront が `Content-Security-Policy` レスポンスヘッダーの値として使用するコンテンツセキュリティポリシーディレクティブを指定します。  
このヘッダーと有効なポリシーディレクティブの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy)」を参照してください。  
`Content-Security-Policy` ヘッダー値は 1,783 文字に限定されます。

**リファラーポリシー**  
CloudFront が `Referrer-Policy` レスポンスヘッダーの値として使用するリファラーポリシーディレクティブを指定します。この設定の有効値は、`no-referrer`、`no-referrer-when-downgrade`、`origin`、`origin-when-cross-origin`、`same-origin`、`strict-origin`、`strict-origin-when-cross-origin`、`unsafe-url` です。  
このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy)」を参照してください。

**Strict-Transport-Security**  
CloudFront が `Strict-Transport-Security` レスポンスヘッダーの値として使用するディレクティブおよび設定を指定します。この設定では、以下を個別に指定します。  
+ CloudFront がこのヘッダーの `max-age` ディレクティブで値として使用する秒数
+ CloudFront がこのヘッダーの値に `preload` ディレクティブを含めるかどうかを決定する `preload` の Boolean の設定 (`true` または `false`)
+ CloudFront がこのヘッダーの値に `true` ディレクティブを含めるかどうかを決定する `false` の Boolean の設定 (`includeSubDomains` または `includeSubDomains`)
このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)」を参照してください。

**X-Content-Type-Options**  
これは Boolean 設定 (`true` または `false`) で、CloudFront が CORS リクエストへのレスポンスに `X-Content-Type-Options` ヘッダーを追加するかどうかを決定します。この設定が `true` である場合、CloudFront によってレスポンスに `X-Content-Type-Options: nosniff` ヘッダーが追加されます。そうしないと、このヘッダーは CloudFront によって追加されません。  
このヘッダーの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options)」を参照してください。

**X-Frame-Options**  
CloudFront が `X-Frame-Options` レスポンスヘッダーの値として使用するディレクティブを指定します。この設定の有効値は、`DENY` または `SAMEORIGIN` です。  
このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)」を参照してください。

**X-XSS-Protection**  
CloudFront が `X-XSS-Protection` レスポンスヘッダーの値として使用するディレクティブおよび設定を指定します。この設定では、以下を個別に指定します。  
+ `X-XSS-Protection` (XSS フィルタリングを無効にする) または `0` (XSS フィルタリングを有効にする) についての `1` の設定設定
+ CloudFront がこのヘッダーの値に `true` ディレクティブを含めるかどうかを決定する `false` の Boolean の設定 (`block` または `mode=block`)
+ CloudFront が、このヘッダーの値に `report=reporting URI` ディレクティブを含めるかどうかを決定するレポートの URI
`block` のために `true` を指定することができます。または、レポートの URI を指定することもできますが、両方一緒に指定することはできません。このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection)」を参照してください。

**オリジンのオーバーライド**  
これらの各セキュリティヘッダーの設定には、Boolean 設定 (`true` または `false`) が含まれ、オリジンからのレスポンスにそのヘッダーが含まれているときの CloudFront の動作を決定します。  
この設定が `true` に設定されていて、オリジンレスポンスにヘッダーが含まれている場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのヘッダーを追加します。オリジンから受け取ったヘッダーは無視されます。  
この設定が `false` に設定されていて、オリジンレスポンスでヘッダーが含まれている場合、CloudFront には、ビューワーに送信するレスポンスでオリジンから受信したヘッダーが含まれます。  
オリジンレスポンスにヘッダーが含まれていない場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのヘッダーを追加します。CloudFront は、この設定が `true` または `false` に設定されている場合に、この操作を実行します。

## カスタムヘッダー
<a name="understanding-response-headers-policies-custom"></a>

カスタムヘッダーの設定を使用して、レスポンスヘッダーポリシーでカスタム HTTP ヘッダーを追加および設定できます。CloudFront は、ビューワーに返すすべてのレスポンスに、これらのヘッダーを追加します。カスタムヘッダーごとにヘッダーの値も指定しますが、値の指定はオプションです。これは、CloudFront が値なしでレスポンスヘッダーを追加できるためです。

また各カスタムヘッダーには、独自の**オリジンのオーバーライド**の設定があります。
+ この設定が `true` に設定されていて、オリジンレスポンスで、ポリシーにもカスタムヘッダーが含まれている場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのカスタムヘッダーを追加します。オリジンから受け取ったヘッダーは無視されます。
+ この設定が `false` であり、オリジンレスポンスで、ポリシーにカスタムヘッダーが含まれている場合、CloudFront には、ビューワーに送信するレスポンスでオリジンから受信したカスタムヘッダーが含まれます。
+ オリジンレスポンスで、ポリシーにもカスタムヘッダーが含まれていない場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのカスタムヘッダーを追加します。CloudFront は、この設定が `true` または `false` に設定されている場合に、この操作を実行します。

## ヘッダーを削除
<a name="understanding-response-headers-policies-remove-headers"></a>

CloudFront がオリジンから受信したレスポンスから削除するヘッダーを指定し、これらのヘッダーを含まないレスポンスを CloudFront からビューワーに送信できます。CloudFront は、オブジェクトの提供元が CloudFront のキャッシュであるか、オリジンであるかにかかわらず、ビューワーに送信するすべてのレスポンスからヘッダーを削除します。例えば、ブラウザで不要になった `X-Powered-By` や `Vary` などのヘッダーを削除し、これらのヘッダーを削除したレスポンスを CloudFront からビューワーに送信できます。

レスポンスヘッダーポリシーを使用して削除するヘッダーを指定すると、CloudFront はまずヘッダーを削除し、次にレスポンスヘッダーポリシーの他のセクション (CORS ヘッダー、セキュリティヘッダー、カスタムヘッダーなど) で指定されているヘッダーを追加します。削除するヘッダーを指定しても、同じヘッダーをポリシーの別のセクションに追加している場合は、そのヘッダーが含まれたレスポンスが CloudFront からビューワーに送信されます。

**注記**  
レスポンスヘッダーポリシーを使用して、CloudFront がオリジンから受信した `Server` ヘッダーと `Date` ヘッダーを削除し、これらの (オリジンから受信した) ヘッダーを含まないレスポンスを CloudFront からビューワーに送信できます。ただし、これを行うと、これらのヘッダーの CloudFront 独自のバージョンはビューワーに送信するレスポンスに追加されます。CloudFront が追加する `Server` ヘッダーの場合、ヘッダーの値は `CloudFront` です。

### 削除できないヘッダー
<a name="remove-headers-disallowed"></a>

以下のヘッダーは、レスポンスヘッダーポリシーを使用して削除することはできません。これらのヘッダーをレスポンスヘッダーポリシーの **[Remove headers]** (ヘッダーを削除) セクション (API の `ResponseHeadersPolicyRemoveHeadersConfig`) で指定すると、エラーが表示されます。
+ `Connection`
+ `Content-Encoding`
+ `Content-Length`
+ `Expect`
+ `Host`
+ `Keep-Alive`
+ `Proxy-Authenticate`
+ `Proxy-Authorization`
+ `Proxy-Connection`
+ `Trailer`
+ `Transfer-Encoding`
+ `Upgrade`
+ `Via`
+ `Warning`
+ `X-Accel-Buffering`
+ `X-Accel-Charset`
+ `X-Accel-Limit-Rate`
+ `X-Accel-Redirect`
+ `X-Amz-Cf-.*`
+ `X-Amzn-Auth`
+ `X-Amzn-Cf-Billing`
+ `X-Amzn-Cf-Id`
+ `X-Amzn-Cf-Xff`
+ `X-Amzn-ErrorType`
+ `X-Amzn-Fle-Profile`
+ `X-Amzn-Header-Count`
+ `X-Amzn-Header-Order`
+ `X-Amzn-Lambda-Integration-Tag`
+ `X-Amzn-RequestId`
+ `X-Cache`
+ `X-Edge-.*`
+ `X-Forwarded-Proto`
+ `X-Real-Ip`

## Server-Timing ヘッダー
<a name="server-timing-header"></a>

`Server-Timing` ヘッダー設定を使用して、CloudFront から送信された HTTP レスポンスの `Server-Timing` ヘッダーを有効にします。このヘッダーを使用して、CloudFront およびオリジンの動作とパフォーマンスに関するインサイトを得るのに役立つメトリクスを表示することができます。例えば、キャッシュヒットを処理したキャッシュレイヤーを確認できます。または、キャッシュミスがある場合に、オリジンからの最初のバイトレイテンシーを確認できます。`Server-Timing` ヘッダーのメトリクスは、CloudFront またはオリジンの設定における問題のトラブルシューティングや効率のテストに役立ちます。

CloudFront で `Server-Timing` ヘッダーを使用する方法の詳細については、次のセクションを参照してください。

`Server-Timing` ヘッダーを有効にするには、[レスポンスヘッダーポリシーを作成 (または編集) します](creating-response-headers-policies.md)。

**Topics**
+ [

### サンプリングレートと Pragma リクエストヘッダー
](#server-timing-header-sampling-rate)
+ [

### オリジンからの Server-Timing ヘッダー
](#server-timing-header-origin)
+ [

### Server-Timing ヘッダーのメトリクス
](#server-timing-header-metrics)
+ [

### Server-Timing ヘッダーの例
](#server-timing-header-examples)

### サンプリングレートと Pragma リクエストヘッダー
<a name="server-timing-header-sampling-rate"></a>

レスポンスヘッダーポリシーで `Server-Timing` ヘッダーを有効にするときは、*サンプリングレート*も指定します。サンプリングレートは、CloudFront が `Server-Timing` ヘッダーを追加するレスポンスの割合を指定する 0～100 の数値です。サンプリングレートを 100 に設定すると、CloudFront はレスポンスヘッダーポリシーがアタッチされているキャッシュ動作に一致するすべてのリクエストの HTTP レスポンスに、`Server-Timing` ヘッダーを追加します。50 に設定すると、CloudFront は、そのキャッシュ動作に一致するリクエストに対して、レスポンスの 50% にヘッダーを追加します。サンプリングレートは、0～100 の任意の数値 (小数点以下 4 桁まで) に設定できます。

サンプリングレートが 100 未満の数値に設定されている場合、CloudFront が `Server-Timing` ヘッダーを追加するレスポンスは制御できません。割合のみを制御できます。ただし、HTTP リクエストで値を `server-timing` に設定して `Pragma` ヘッダーを追加し、そのリクエストへのレスポンスで `Server-Timing` ヘッダーを受け取ることができます。これは、サンプリングレートの設定とは無関係に機能します。サンプリングレートがゼロ (0) に設定されている場合でも、リクエストに `Pragma: server-timing` ヘッダーが含まれていれば、CloudFront は `Server-Timing` ヘッダーをレスポンスに追加します。

### オリジンからの Server-Timing ヘッダー
<a name="server-timing-header-origin"></a>

キャッシュミスがあり、CloudFront がリクエストをオリジンに転送すると、オリジンには、CloudFront へのレスポンスに `Server-Timing` ヘッダーが含まれている場合があります。この場合、CloudFront は、オリジンから受信した `Server-Timing` ヘッダーに[メトリクス](#server-timing-header-metrics)を追加します。CloudFront がビューワーに送信するレスポンスには、オリジンからの値と CloudFront が追加したメトリクスを含む単一の `Server-Timing` ヘッダーが含まれています。オリジンからのヘッダー値は、最後にある場合と、CloudFront がヘッダーに追加する 2 つのメトリクスセットの間にある場合があります。

キャッシュヒットが発生すると、CloudFront がビューワーに送信するレスポンスには、ヘッダー値に CloudFront メトリクスのみを含む単一の `Server-Timing` ヘッダーが含まれます (オリジンからの値は含まれません)。

### Server-Timing ヘッダーのメトリクス
<a name="server-timing-header-metrics"></a>

CloudFront が HTTP レスポンスに `Server-Timing` ヘッダーを追加する場合、ヘッダーの値には、CloudFront およびオリジンの動作とパフォーマンスに関するインサイトを得ることができる 1 つ以上のメトリクスが含まれます。次のリストには、すべてのメトリクスと想定される値が含まれています。`Server-Timing` ヘッダーには、CloudFront を介したリクエストとレスポンスの性質に応じて、これらのメトリクスの一部のみが含まれます。

これらのメトリクスのいくつかは、名前のみ (値なし) の `Server-Timing` ヘッダーに含まれます。その他は名前と価値です。メトリクスに値がある場合、名前と値はセミコロン (`;`) で区切られます。ヘッダーに複数のメトリクスが含まれている場合、メトリクスはカンマ (`,`) で区切られます。

**cdn-cache-hit**  
CloudFront は、オリジンに対してリクエストを行わずに、キャッシュからレスポンスを提供しました。

**cdn-cache-refresh**  
CloudFront は、リクエストをオリジンに送信してキャッシュされたオブジェクトがまだ有効であることを確認した後で、キャッシュからレスポンスを提供しました。この場合、CloudFront はオリジンから完全なオブジェクトを取得しませんでした。

**cdn-cache-miss**  
CloudFront はキャッシュからレスポンスを提供しませんでした。この場合、CloudFront はレスポンスを返す前にオリジンから完全なオブジェクトをリクエストしました。

**cdn-pop**  
CloudFront のどの Point of Presence (POP) がリクエストを処理したかを示す値が含まれます。

**cdn-rid**  
CloudFront の一意のリクエスト識別子を示す値が含まれます。このリクエスト識別子 (RID) は、サポート に関する問題のトラブルシューティングに使用できます。

**cdn-hit-layer**  
このメトリクスは、CloudFront がオリジンに対してリクエストを行わずにキャッシュからレスポンスを提供する場合に存在します。次のいずれかの値が含まれます。  
+ **EDGE** – CloudFront は POP ロケーションからキャッシュされたレスポンスを提供しました。
+ **REC** – CloudFront は、[リージョン別エッジキャッシュ](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches) (REC) ロケーションからキャッシュされたレスポンスを提供しました。
+ **オリジンシールド** – CloudFront は、[オリジンシールド](origin-shield.md)として機能している REC からキャッシュされたレスポンスを提供しました。

**cdn-upstream-layer**  
このメトリクスは、CloudFront がオリジンに対して完全なオブジェクトをリクエストする場合に存在します。次のいずれかの値が含まれます。  
+ **EDGE** – POP ロケーションがリクエストをオリジンに直接送信しました。
+ **REC** – REC ロケーションがリクエストをオリジンに直接送信しました。
+ **オリジンシールド** – [オリジンシールド](origin-shield.md)として機能している REC が、リクエストをオリジンに直接送信しました。

**cdn-upstream-dns**  
オリジンの DNS レコードの取得にかかったミリ秒数を示す値が含まれます。値がゼロ (0) の場合、CloudFront がキャッシュされた DNS 結果を使用したか、既存の接続を再使用したことを示します。

**cdn-upstream-connect**  
オリジン DNS リクエストが完了してから、オリジンへの TCP 接続 (および該当する場合は TLS 接続) が完了するまでのミリ秒数を示す値が含まれます。値がゼロ (0) の場合、CloudFront が既存の接続を再使用したことを示します。

**cdn-upstream-fbl**  
オリジン HTTP リクエストが完了してから、オリジンからのレスポンスで最初のバイトを受信するまでのミリ秒数 (最初のバイトレイテンシー) を示す値が含まれます。

**cdn-downstream-fbl**  
エッジロケーションがリクエストの受信を終了してから、レスポンスの最初のバイトをビューワーに送信するまでのミリ秒を示す値が含まれます。

### Server-Timing ヘッダーの例
<a name="server-timing-header-examples"></a>

`Server-Timing` ヘッダー設定が有効になっているときに、ビューワーが CloudFront から受信する可能性がある `Server-Timing` の例を以下に示します。

**Example – キャッシュミス**  
リクエストされたオブジェクトが CloudFront キャッシュ内にないときにビューワーが受け取る可能性のある `Server-Timing` ヘッダーの例を以下に示します。  

```
Server-Timing: cdn-upstream-layer;desc="EDGE",cdn-upstream-dns;dur=0,cdn-upstream-connect;dur=114,cdn-upstream-fbl;dur=177,cdn-cache-miss,cdn-pop;desc="PHX50-C2",cdn-rid;desc="yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg==",cdn-downstream-fbl;dur=436
```
この `Server-Timing` ヘッダーは以下を示します。  
+ オリジンリクエストが CloudFront Point of Presence (POP) ロケーション (`cdn-upstream-layer;desc="EDGE"`) から送信されたこと。
+ CloudFront はキャッシュされた DNS 結果をオリジン (`cdn-upstream-dns;dur=0`) に使用しました。
+ CloudFront がオリジン(`cdn-upstream-connect;dur=114`) への TCP (および該当する場合は TLS) 接続を完了するまでに 114 ミリ秒かかったこと。
+ リクエスト (`cdn-upstream-fbl;dur=177`) の完了後、CloudFront がオリジンからレスポンスの最初のバイトを受信するまでに 177 ミリ秒かかったこと。
+ リクエストされたオブジェクトは CloudFront のキャッシュ (`cdn-cache-miss`) にありませんでした。
+ リクエストは、コード `PHX50-C2` (`cdn-pop;desc="PHX50-C2"`) によって識別されるエッジロケーションで受信されました。
+ このリクエストの CloudFront の一意の ID は `yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg==` (`cdn-rid;desc="yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg=="`) でした。
+ ビューワーリクエストを受け取った後、CloudFront がレスポンスの最初のバイトをビューワーに送信するのに 436 ミリ秒かかったこと (`cdn-downstream-fbl;dur=436`)。

**Example – キャッシュヒット**  
リクエストされたオブジェクトが CloudFront キャッシュ内にあるときにビューワーが受け取る可能性のある `Server-Timing` ヘッダーの例を以下に示します。  

```
Server-Timing: cdn-cache-hit,cdn-pop;desc="SEA19-C1",cdn-rid;desc="nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g==",cdn-hit-layer;desc="REC",cdn-downstream-fbl;dur=137
```
この `Server-Timing` ヘッダーは以下を示します。  
+ リクエストされたオブジェクトはキャッシュ (`cdn-cache-hit`) 内にありました。
+ リクエストは、コード `SEA19-C1` (`cdn-pop;desc="SEA19-C1"`) によって識別されるエッジロケーションで受信されました。
+ このリクエストの CloudFront の一意の ID は `nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g==` (`cdn-rid;desc="nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g=="`) でした。
+ リクエストされたオブジェクトは、リージョン別エッジキャッシュ (REC) ロケーション (`cdn-hit-layer;desc="REC"`) にキャッシュされました。
+ ビューワーリクエストを受け取った後、CloudFront がレスポンスの最初のバイトをビューワーに送信するのに 137 ミリ秒かかったこと (`cdn-downstream-fbl;dur=137`)。

# レスポンスヘッダーポリシーの作成
<a name="creating-response-headers-policies"></a>

レスポンスヘッダーポリシーを使用して、Amazon CloudFront が HTTP レスポンスで追加または削除する HTTP ヘッダーを指定できます。レスポンスヘッダーポリシーおよびそれらを使用する理由の詳細については、「[ポリシーを使用して CloudFront レスポンスの HTTP ヘッダーを追加または削除する](modifying-response-headers.md)」を参照してください。

レスポンスヘッダーポリシーは、CloudFront コンソールで作成できます。または、AWS CloudFormation、AWS Command Line Interface (AWS CLI)、CloudFront API のいずれかを使用して作成することもできます。レスポンスヘッダーポリシーを作成したら、CloudFront ディストリビューションの 1 つ以上のキャッシュ動作にアタッチします。

カスタムレスポンスヘッダーポリシーを作成する前に、[マネージドレスポンスヘッダーポリシー](using-managed-response-headers-policies.md)の 1 つがユースケースに適合するかどうか確認します。適合する場合は、そのポリシーをキャッシュ動作にアタッチできます。これにより、独自のレスポンスヘッダーポリシーを作成したり管理したりする必要はありません。

------
#### [ Console ]

**レスポンスヘッダーポリシーを作成するには (コンソール)**

1. AWS マネジメントコンソール にサインインしてから、[https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders) の CloudFront コンソールの [**Policies**] (ポリシー) ページで [**Response headers**] (レスポンスヘッダー) タブに行きます。

1. [**Create response headers policy**] (レスポンスヘッダーポリシーの作成) を選択します。

1. [**Create response headers policy**] (レスポンスヘッダーポリシーの作成) フォームで、次の操作を行います。

   1. [**Details**] (詳細) パネルで、レスポンスヘッダーポリシーおよび (任意で) ポリシーの目的を説明する [**Description**] (説明) に「**名前**」を入力します。

   1. [**Cross-Origin Resource Sharing (CORS)**] パネルで、[**Configure CORS**] (CORS を設定する) トグルを選択し、ポリシーに追加する CORS ヘッダーを設定します。CloudFront がオリジンから受信するヘッダーを上書きするためにヘッダーを設定する場合は、[**Origin override**] (オリジンの上書き) チェックボックスをオンにします。

      CORS ヘッダー設定の詳細については、「[CORS ヘッダー](understanding-response-headers-policies.md#understanding-response-headers-policies-cors)」を参照してください。

   1. [**Security headers**] (セキュリティヘッダー) パネルで、トグルを選択し、ポリシーに追加する各セキュリティヘッダーを設定します。

      セキュリティヘッダー設定の詳細については、「[セキュリティヘッダー](understanding-response-headers-policies.md#understanding-response-headers-policies-security)」を参照してください。

   1. [**Custom headers**] (カスタムヘッダー) パネルで、ポリシーに含めるカスタムヘッダーを追加します。

      カスタムヘッダー設定の詳細については、「[カスタムヘッダー](understanding-response-headers-policies.md#understanding-response-headers-policies-custom)」を参照してください。

   1. **[Remove headers]** (ヘッダーの削除) パネルで、CloudFront でオリジンのレスポンスから削除し、CloudFront からビューワーに送信するレスポンスには含めないヘッダーの名前を追加します。

      ヘッダーの削除設定の詳細については、「[ヘッダーを削除](understanding-response-headers-policies.md#understanding-response-headers-policies-remove-headers)」を参照してください。

   1. **[Server-Timing header]** (Server-Timing ヘッダー) パネルで、**[Enable]** (有効化) トグルを選択して、サンプリングレート (0～100 の数値) を入力します。

      `Server-Timing` ヘッダーの詳細については、「[Server-Timing ヘッダー](understanding-response-headers-policies.md#server-timing-header)」を参照してください。

1. [**Create**] (作成) を選択して、ポリシーを作成します。

レスポンスヘッダーポリシーを作成したら、CloudFront ディストリビューションのキャッシュ動作にアタッチできます。

**既存のディストリビューションにレスポンスヘッダーポリシーをアタッチするには (コンソール)**

1. [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions) で CloudFront コンソールの [**Distributions**] (ディストリビューション) ページを開きます。

1. 更新するディストリビューションを選択し、[**動作**] タブを選択します。

1. 更新するキャッシュ動作を選び、[**Edit**] (編集) を選択します。

   または、新しいキャッシュ動作を作成するには、[**動作を作成**] を選択します。

1. [**Response headers policy**] (レスポンスヘッダーポリシー) の場合は、キャッシュ動作に追加するポリシーを選択します。

1. [**Save changes**] (変更を保存) を選択して、キャッシュ動作を更新します。新しいキャッシュ動作を作成する場合は、[**Create behavior**] (動作を作成) を選択します。

**新しいディストリビューションにレスポンスヘッダーポリシーをアタッチするには (コンソール)**

1. [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) で CloudFront コンソールを開きます

1. **[ディストリビューションの作成]** を選択します。

1. [**Response headers policy**] (レスポンスヘッダーポリシー) の場合は、キャッシュ動作に追加するポリシーを選択します。

1. その他のディストリビューションの設定を選択します。詳細については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」を参照してください。

1. [**Create distribution**] (ディストリビューションを作成) を選択して、ディストリビューションを作成します。

------
#### [ CloudFormation ]

CloudFormation を使用してレスポンスヘッダーポリシーを作成するには、`AWS::CloudFront::ResponseHeadersPolicy` リソースタイプを使用します。以下に例を示します。CloudFormationレスポンスヘッダーポリシーを作成するための YAML 形式のテンプレート構文。

```
Type: AWS::CloudFront::ResponseHeadersPolicy
Properties: 
  ResponseHeadersPolicyConfig: 
    Name: EXAMPLE-Response-Headers-Policy
    Comment: Example response headers policy for the documentation
    CorsConfig: 
      AccessControlAllowCredentials: false
      AccessControlAllowHeaders: 
        Items: 
          - '*'
      AccessControlAllowMethods: 
        Items: 
          - GET
          - OPTIONS
      AccessControlAllowOrigins: 
        Items: 
          - https://example.com
          - https://docs.example.com
      AccessControlExposeHeaders: 
        Items: 
          - '*'
      AccessControlMaxAgeSec: 600
      OriginOverride: false
    CustomHeadersConfig: 
      Items: 
        - Header: Example-Custom-Header-1
          Value: value-1
          Override: true
        - Header: Example-Custom-Header-2
          Value: value-2
          Override: true
    SecurityHeadersConfig: 
      ContentSecurityPolicy: 
        ContentSecurityPolicy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'; frame-ancestors 'none'
        Override: false
      ContentTypeOptions: # You don't need to specify a value for 'X-Content-Type-Options'.
                          # Simply including it in the template sets its value to 'nosniff'.
        Override: false
      FrameOptions: 
        FrameOption: DENY
        Override: false
      ReferrerPolicy: 
        ReferrerPolicy: same-origin
        Override: false
      StrictTransportSecurity: 
        AccessControlMaxAgeSec: 63072000
        IncludeSubdomains: true
        Preload: true
        Override: false
      XSSProtection: 
        ModeBlock: true # You can set ModeBlock to 'true' OR set a value for ReportUri, but not both
        Protection: true
        Override: false
    ServerTimingHeadersConfig:
      Enabled: true
      SamplingRate: 50
    RemoveHeadersConfig:
      Items:
        - Header: Vary
        - Header: X-Powered-By
```

詳細については、*AWS CloudFormationユーザーガイド*内の「[AWS:: CloudFront:: ResponseHeadersPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)」を参照してください。

------
#### [ CLI ]

AWS Command Line Interface (AWS CLI) でレスポンスヘッダーポリシーを作成するには、**aws cloudfront create-response-headers-policy** コマンドを使用します。コマンドの入力パラメータは、コマンドライン入力として個別に指定せずに、入力ファイルを使用して指定できます。

**レスポンスヘッダーポリシーを作成するには (入力ファイルを含む CLI)**

1. 次のコマンドを使用して、`response-headers-policy.yaml` という名前のファイルを作成します。このファイルには、**create-response-headers-policy** コマンドのすべての入力パラメータが含まれます。

   ```
   aws cloudfront create-response-headers-policy --generate-cli-skeleton yaml-input > response-headers-policy.yaml
   ```

1. 先ほど作成した `response-headers-policy.yaml` ファイルを開きます。ファイルを編集してポリシー名と必要なレスポンスヘッダーポリシー設定を指定し、ファイルを保存します。

   レスポンスヘッダーポリシー設定の詳細については、「[レスポンスヘッダーポリシーを理解する](understanding-response-headers-policies.md)」を参照してください。

1. 次のコマンドを使用してレスポンスヘッダーポリシーを作成します。作成するポリシーでは、`response-headers-policy.yaml` ファイルからの入力パラメータを使用します。

   ```
   aws cloudfront create-response-headers-policy --cli-input-yaml file://response-headers-policy.yaml
   ```

   コマンド出力の `Id` 値を書き留めます。これはレスポンスヘッダーポリシー ID です。ポリシーを CloudFront ディストリビューションのキャッシュ動作にアタッチするために必要です。

**既存のディストリビューションにレスポンスヘッダーポリシーをアタッチするには (入力ファイルを含む CLI)**

1. 以下のコマンドを使用して、更新する CloudFront ディストリビューションのディストリビューション設定を保存します。*distribution\$1ID* をディストリビューション ID に置き換えます。

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. 先ほど作成した `dist-config.yaml` という名前のファイルを開きます。ファイルを編集し、レスポンスヘッダーポリシーを使用するように、次の変更をキャッシュ動作に加えます。
   + キャッシュ動作で、`ResponseHeadersPolicyId` という名前のフィールドを追加します。フィールドの値には、ポリシーの作成後に書き留めたレスポンスヘッダーポリシー ID を使用します。
   + `ETag` フィールドの名前を `IfMatch` に変更します。ただし、フィールドの値は変更しないでください。

   完了したら、ファイルを保存します。

1. レスポンスヘッダーポリシーを使用するようにディストリビューションを更新するには、次のコマンドを使用します。*distribution\$1ID* をディストリビューション ID に置き換えます。

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**新しいディストリビューションにレスポンスヘッダーポリシーをアタッチするには (入力ファイルを含む CLI)**

1. 次のコマンドを使用して、`distribution.yaml` という名前のファイルを作成します。このファイルには、**create-distribution** コマンドのすべての入力パラメータが含まれます。

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. 先ほど作成した `distribution.yaml` ファイルを開きます。デフォルトのキャッシュ動作の [`ResponseHeadersPolicyId`] フィールドに、ポリシーの作成後に書き留めたレスポンスヘッダーポリシー ID を入力します。ファイルの編集を続行して必要なディストリビューション設定を指定し、完了したらファイルを保存します。

   ディストリビューション設定の詳細については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」を参照してください。

1. 次のコマンドを使用して、`distribution.yaml` ファイルの入力パラメータを使用し、ディストリビューションを作成します。

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

CloudFront API を使用してレスポンスヘッダーポリシーを作成するには、「[CreateResponseHeadersPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateResponseHeadersPolicy.html)」を使用します。この API コールで指定するフィールドの詳細については、「[レスポンスヘッダーポリシーを理解する](understanding-response-headers-policies.md)」と、AWS SDK またはその他 API クライアントの API リファレンスドキュメントを参照してください。

レスポンスヘッダーポリシーを作成したら、次の API コールのいずれかを使用して、それをキャッシュ動作にアタッチできます。
+ 既存のディストリビューションのキャッシュ動作にアタッチするには、[UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) を使用します。
+ 新しいディストリビューションのキャッシュ動作にアタッチするには、[CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) を使用します。

これらの API コールの両方について、キャッシュ動作内で、`ResponseHeadersPolicyId` フィールドにレスポンスヘッダーポリシー ID を指定します。これらの API コールで指定するその他フィールドの詳細については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」と、AWS SDK またはその他 API クライアントの API リファレンスドキュメントを参照してください。

------

# マネージドレスポンスヘッダーポリシーを使用する
<a name="using-managed-response-headers-policies"></a>

レスポンスヘッダーポリシーを使用して、Amazon CloudFront からビューワーに送信するレスポンスで削除または追加する HTTP ヘッダーを指定できます。レスポンスヘッダーポリシーおよびそれらを使用する理由の詳細については、「[ポリシーを使用して CloudFront レスポンスの HTTP ヘッダーを追加または削除する](modifying-response-headers.md)」を参照してください。

CloudFront で、CloudFront ディストリビューションのキャッシュ動作にアタッチできるマネージドレスポンスヘッダーポリシーを提供します。マネージドレスポンスヘッダーポリシーを使用すると、独自のポリシーを記述したり、維持したりする必要がありません。このマネージドポリシーには、一般的ユースケース用の HTTP レスポンスヘッダーのセットが含まれています。

マネージドレスポンスヘッダーポリシーを使用するには、ディストリビューションのキャッシュ動作にそのポリシーをアタッチします。このプロセスは、カスタムレスポンスヘッダーポリシーを作成するときと同じです。ただし、新しいポリシーを作成する代わりに、マネージドポリシーの 1 つをアタッチします。ポリシーをアタッチするには、名前 (コンソールの場合) または ID (CloudFormation、AWS CLI、または AWS CLI SDK の場合) を使用します。名前と ID は、次のセクションに記載されています。

詳細については、「[レスポンスヘッダーポリシーの作成](creating-response-headers-policies.md)」を参照してください。

次のトピックでは、使用可能なマネージドレスポンスヘッダーポリシーについて説明します。

**Topics**
+ [

## CORS-and-SecurityHeadersPolicy
](#managed-response-headers-policies-cors-security)
+ [

## CORS-With-Preflight
](#managed-response-headers-policies-cors-preflight)
+ [

## CORS-with-preflight-and-SecurityHeadersPolicy
](#managed-response-headers-policies-cors-preflight-security)
+ [

## SecurityHeadersPolicy
](#managed-response-headers-policies-security)
+ [

## SimpleCORS
](#managed-response-headers-policies-cors)

## CORS-and-SecurityHeadersPolicy
<a name="managed-response-headers-policies-cors-security"></a>

[このポリシーを CloudFront コンソールで見る](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders/e61eb60c-9c35-4d20-a928-2b84e02af89c)

このマネージドポリシーを使用して、オリジンからの単一の CORS リクエストが許可されます。このポリシーはまた、CloudFront がビューワーに送信するすべてのレスポンスに、セキュリティヘッダーのセットを追加します。このポリシーによって、[SimpleCORS](#managed-response-headers-policies-cors) ポリシーおよび [SecurityHeadersPolicy](#managed-response-headers-policies-security) ポリシーを 1 つにまとめます。

CloudFormation、AWS CLI、または CloudFront API を使用する場合、このポリシーの ID は次のとおりです。

`e61eb60c-9c35-4d20-a928-2b84e02af89c`


**ポリシー設定**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html)

## CORS-With-Preflight
<a name="managed-response-headers-policies-cors-preflight"></a>

[このポリシーを CloudFront コンソールで見る](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders/5cc3b908-e619-4b99-88e5-2cf7f45965bd)

このマネージドポリシーを使用して、プリフライトリクエストを含むオリジンからの CORS リクエストが許可されます。プリフライトリクエスト (HTTP の `OPTIONS` メソッドを使用) の場合、CloudFront は次の 3 つのヘッダーすべてをレスポンスに追加します。単一の CORS リクエストの場合、CloudFront は `Access-Control-Allow-Origin` ヘッダーのみ追加します。

CloudFront がオリジンから受信するレスポンスにこれらのヘッダーが含まれる場合、CloudFront はビューワーへのレスポンスに、受信したヘッダー (およびその値) を使用します。CloudFront はこのポリシーのヘッダーを使用しません。

CloudFormation、AWS CLI、または CloudFront API を使用する場合、このポリシーの ID は次のとおりです。

`5cc3b908-e619-4b99-88e5-2cf7f45965bd`


**ポリシー設定**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html)

## CORS-with-preflight-and-SecurityHeadersPolicy
<a name="managed-response-headers-policies-cors-preflight-security"></a>

[このポリシーを CloudFront コンソールで見る](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders/eaab4381-ed33-4a86-88ca-d9558dc6cd63)

このマネージドポリシーを使用して、オリジンからの CORS リクエストが許可されます。これには、プリフライトリクエストが含まれます。このポリシーはまた、CloudFront がビューワーに送信するすべてのレスポンスに、セキュリティヘッダーのセットを追加します。このポリシーによって、[CORS-With-Preflight](#managed-response-headers-policies-cors-preflight) ポリシーおよび [SecurityHeadersPolicy](#managed-response-headers-policies-security) ポリシーを 1 つにまとめます。

CloudFormation、AWS CLI、または CloudFront API を使用する場合、このポリシーの ID は次のとおりです。

`eaab4381-ed33-4a86-88ca-d9558dc6cd63`


**ポリシー設定**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html)

## SecurityHeadersPolicy
<a name="managed-response-headers-policies-security"></a>

[このポリシーを CloudFront コンソールで見る](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders/67f7725c-6f97-4210-82d7-5512b31e9d03)

このマネージドポリシーを使用して、CloudFront がビューワーに送信するすべてのレスポンスに、セキュリティヘッダーのセットを追加します。これらのセキュリティヘッダーの詳細については、[Mozilla のウェブセキュリティに関するガイドライン](https://infosec.mozilla.org/guidelines/web_security)を参照してください。

このレスポンスヘッダーポリシーでは、CloudFront はすべてのレスポンスに `X-Content-Type-Options: nosniff` を追加します。これは、CloudFront がオリジンから受け取ったレスポンスにこのヘッダーが含まれていなかった場合です。このポリシーのその他すべてのヘッダーについては、CloudFront がオリジンから受信するレスポンスにこのヘッダーが含まれる場合、CloudFront はビューワーへのレスポンスに、受信したヘッダー (およびその値) を使用します。CloudFront はこのポリシーのヘッダーを使用しません。

CloudFormation、AWS CLI、または CloudFront API を使用する場合、このポリシーの ID は次のとおりです。

`67f7725c-6f97-4210-82d7-5512b31e9d03`


**ポリシー設定**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html)

## SimpleCORS
<a name="managed-response-headers-policies-cors"></a>

[このポリシーを CloudFront コンソールで見る](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders/60669652-455b-4ae9-85a4-c4c02393f86c)

このマネージドポリシーを使用して、オリジンからの[単一の CORS リクエスト](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests)が許可されます。このポリシーを使用して、CloudFront は、`Access-Control-Allow-Origin: *`単一の CORS リクエストのすべてのレスポンスにヘッダーを追加します。

CloudFront がオリジンから受信するレスポンスに `Access-Control-Allow-Origin` ヘッダーが含まれる場合、CloudFront は、ビューワーへのレスポンスにそのヘッダー (およびその値) を使用します。CloudFront はこのポリシーのヘッダーを使用しません。

CloudFormation、AWS CLI、または CloudFront API を使用する場合、このポリシーの ID は次のとおりです。

`60669652-455b-4ae9-85a4-c4c02393f86c`


**ポリシー設定**  

|  | ヘッダー名 | ヘッダー値 | オーバーライドオリジンですか。 | 
| --- | --- | --- | --- | 
| CORS ヘッダー: | Access-Control-Allow-Origin | \$1 | いいえ | 