

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création de politiques d’en-têtes de réponses
<a name="creating-response-headers-policies"></a>

Vous pouvez utiliser une politique d'en-têtes de réponse pour spécifier les en-têtes HTTP qu'Amazon CloudFront ajoute ou supprime dans les réponses HTTP. Pour plus d’informations sur les politiques d’en-têtes de réponses et sur les raisons de leur utilisation, consultez la section [Ajouter ou supprimer des en-têtes HTTP dans les CloudFront réponses avec une politique](modifying-response-headers.md).

Vous pouvez créer une politique d'en-têtes de réponse dans la CloudFront console. Vous pouvez également en créer un AWS CloudFormation en utilisant le AWS Command Line Interface (AWS CLI) ou l' CloudFront API. Après avoir créé une politique d'en-têtes de réponse, vous l'associez à un ou plusieurs comportements de cache dans une CloudFront distribution.

Avant de créer une politique d'en-têtes de réponse personnalisée, vérifiez si l'une des [politiques d’en-têtes de réponse gérées](using-managed-response-headers-policies.md) est adaptée à votre cas d'utilisation. Si c'est le cas, vous pouvez l'attacher à votre comportement de cache. De cette façon, vous n'avez pas besoin de créer ou de gérer votre propre politique d'en-têtes de réponse.

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

**Pour créer une politique d'en-têtes de réponses (console)**

1. Connectez-vous au AWS Management Console, puis accédez à l'onglet **En-têtes de réponse** sur la page **Politiques** de la CloudFront console à [https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders) l'adresse.

1. Choisissez **Create response headers policy (Créer une politique d’en-têtes de réponses)**.

1. Dans le formulaire **Create response headers policy (Créer une politique d’en-têtes de réponses)**, procédez comme suit :

   1. Dans le panneau **Details (Détails)**, saisissez un **Name (Nom)** pour la politique d’en-têtes de réponses et (éventuellement) une **Description** qui explique le rôle de la politique.

   1. Dans le panneau **Cross-origin resource sharing (CORS) (Partage des ressources cross-origine [CORS])**, choisissez le bouton bascule **Configure CORS (Configurer CORS)** et configurez tous les en-têtes CORS que vous souhaitez ajouter à la politique. Si vous souhaitez que les en-têtes configurés remplacent les en-têtes provenant de l'origine, cochez la case Remplacer l'**origine**. CloudFront 

      Pour plus d’informations sur les paramètres d’en-têtes CORS, consultez la section [en-têtes CORS](understanding-response-headers-policies.md#understanding-response-headers-policies-cors).

   1. Dans **Security headers (En-têtes de sécurité)**, choisissez le bouton bascule et configurez chacun des en-têtes de sécurité que vous souhaitez ajouter à la politique.

      Pour plus d’informations sur les paramètres des en-têtes de sécurité, consultez la section [En-têtes de sécurité](understanding-response-headers-policies.md#understanding-response-headers-policies-security).

   1. Dans le panneau **Custom headers (En-têtes personnalisés)**, ajoutez tous les en-têtes personnalisés que vous souhaitez inclure dans la politique.

      Pour plus d'informations sur les paramètres d'en-têtes personnalisés, consultez la section [En-têtes personnalisés](understanding-response-headers-policies.md#understanding-response-headers-policies-custom).

   1. Dans le panneau **Supprimer les en-têtes**, ajoutez les noms des en-têtes que vous CloudFront souhaitez supprimer de la réponse de l'origine et ne pas inclure dans la réponse envoyée aux CloudFront spectateurs.

      Pour plus d'informations sur les paramètres de suppression d'en-têtes, consultez [Suppression d’en-têtes](understanding-response-headers-policies.md#understanding-response-headers-policies-remove-headers).

   1. Dans le volet **Server-Timing header** (En-tête Server-Timing), sélectionnez l’option à bascule **Enable** (Activer) et saisissez un taux d'échantillonnage (nombre compris entre 0 et 100 inclus).

      Pour plus d'informations sur l'en-tête `Server-Timing`, consultez [En-tête Server-Timing](understanding-response-headers-policies.md#server-timing-header).

1. Choisissez **Create (Créer)** pour créer la politique.

Après avoir créé une politique d'en-têtes de réponse, vous pouvez l'associer à un comportement de cache dans une CloudFront distribution.

**Pour attacher une politique d’en-têtes de réponses à une distribution existante (console)**

1. Ouvrez la page **Distributions** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Choisissez la distribution à mettre à jour, puis choisissez l'onglet **Behaviors (Comportements)**.

1. Sélectionnez le comportement du cache à mettre à jour, puis choisissez **Edit (Modifier)**.

   Ou, pour créer un comportement de cache, choisissez **Create behavior (Créer un comportement)**.

1. Pour **Response headers policy (Politique d’en-têtes de réponses)**, choisissez la politique à ajouter au comportement du cache.

1. Choisissez **Save changes (Enregistrer les modifications)** pour mettre à jour le comportement du cache. [Si vous créez un comportement de cache, choisissez **Create behavior** (Créer un comportement)].

**Pour attacher une politique d’en-têtes de réponses à une nouvelle distribution (console)**

1. Ouvrez la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Choisissez **Create distribution (Créer une distribution)**.

1. Pour **Response headers policy (Politique d’en-têtes de réponses)**, choisissez la politique à ajouter au comportement du cache.

1. Définissez les autres paramètres de votre distribution. Pour plus d’informations, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md).

1. Choisissez **Create distribution (Créer une distribution)** pour créer la distribution.

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

Pour créer une politique d'en-têtes de réponse avec CloudFormation, utilisez le type de `AWS::CloudFront::ResponseHeadersPolicy` ressource. L'exemple suivant montre la syntaxe du CloudFormation modèle, au format YAML, pour créer une politique d'en-têtes de réponse.

```
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
```

Pour plus d'informations, consultez la section [AWS::CloudFront::ResponseHeadersPolitique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html) du *guide de AWS CloudFormation l'utilisateur*.

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

Pour créer une politique d'en-têtes de réponse avec le AWS Command Line Interface (AWS CLI), utilisez la **aws cloudfront create-response-headers-policy** commande. Vous pouvez utiliser un fichier d'entrée pour fournir les paramètres d'entrée de la commande, plutôt que de spécifier chaque paramètre individuel comme entrée de ligne de commande.

**Pour créer une politique d’en-têtes de réponses (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour créer un fichier nommé `response-headers-policy.yaml`. Ce fichier contient tous les paramètres d’entrée de la commande **create-response-headers-policy**.

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

1. Ouvrez le fichier `response-headers-policy.yaml` que vous venez de créer. Modifiez le fichier pour spécifier un nom de politique et la configuration souhaitée pour la politique d'en-têtes de réponse, puis enregistrez le fichier.

   Pour plus d’informations sur les paramètres de la politique d’en-têtes de réponses, consultez la section [Comprendre les politiques d’en-têtes de réponses](understanding-response-headers-policies.md).

1. Utilisez la commande suivante pour créer une politique d'en-têtes de réponse. La politique que vous créez utilise les paramètres d'entrée du fichier `response-headers-policy.yaml`.

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

   Notez la valeur de `Id` dans la sortie de la commande. Il s'agit de l'ID de la politique d'en-têtes de réponse. Vous en avez besoin pour associer la politique au comportement du cache d'une CloudFront distribution.

**Pour attacher une politique d’en-têtes de réponses à une distribution existante (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour enregistrer la configuration de distribution pour la CloudFront distribution que vous souhaitez mettre à jour. Remplacez *distribution\$1ID* par l'ID de distribution.

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

1. Ouvrez le fichier nommé `dist-config.yaml` que vous venez de créer. Modifiez le fichier en apportant les modifications suivantes au comportement de cache afin que celui-ci utilise la politique d’en-têtes de réponse.
   + Dans le comportement de cache, ajoutez un champ nommé `ResponseHeadersPolicyId`. Pour la valeur du champ, utilisez l'ID de politique d’en-têtes de réponse que vous avez noté après la création de la politique.
   + Renommez le champ `ETag` en `IfMatch`, mais ne modifiez pas la valeur du champ.

   Enregistrez le fichier lorsque vous avez terminé.

1. Utilisez la commande suivante pour mettre à jour la distribution afin d'utiliser la politique d’en-têtes de réponses. Remplacez *distribution\$1ID* par l'ID de distribution.

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

**Pour attacher une politique d’en-têtes de réponses à une nouvelle distribution (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour créer un fichier nommé `distribution.yaml`. Ce fichier contient tous les paramètres d’entrée de la commande **create-distribution**.

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

1. Ouvrez le fichier nommé `distribution.yaml` que vous venez de créer. Dans le comportement de cache par défaut, dans le champ `ResponseHeadersPolicyId`, saisissez l'ID de politique d’en-têtes de réponses que vous avez noté après la création de la politique. Poursuivez la modification du fichier pour spécifier les paramètres de distribution souhaité, puis enregistrez le fichier lorsque vous avez terminé.

   Pour plus d’informations sur les paramètres de distribution, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md).

1. Utilisez la commande suivante pour créer la distribution à l’aide des paramètres d’entrée du fichier `distribution.yaml`.

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

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

Pour créer une politique d'en-têtes de réponse avec l' CloudFront API, utilisez [CreateResponseHeadersPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateResponseHeadersPolicy.html). Pour plus d'informations sur les champs que vous spécifiez dans cet appel d'API, consultez [Comprendre les politiques d’en-têtes de réponses](understanding-response-headers-policies.md) la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

Après avoir créé une politique d’en-têtes de réponses, vous pouvez l'attacher à un comportement de cache, à l'aide de l'un des appels d'API suivants :
+ Pour l'associer à un comportement de cache dans une distribution existante, utilisez [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Pour l'associer à un comportement de cache dans une nouvelle distribution, utilisez [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Pour ces deux appels d'API, indiquez l'ID de la politique d’en-têtes de demande dans le champ `ResponseHeadersPolicyId`, dans un comportement de cache. Pour plus d'informations sur les autres champs que vous spécifiez dans ces appels d'API, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md) la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

------