

# Creación de políticas de encabezados de respuesta
<a name="creating-response-headers-policies"></a>

Puede utiliza una política de encabezados de respuesta para especificar los encabezados HTTP que Amazon CloudFront añade o elimina de las respuestas HTTP. Para obtener más información sobre las políticas de encabezados de respuesta y los motivos para usarlas, consulte [Añadido o eliminación de encabezados HTTP en las respuestas de CloudFront con una política](modifying-response-headers.md).

Puede crear una política de encabezados de respuesta en la consola de CloudFront. O bien, puede crear una mediante AWS CloudFormation, AWS Command Line Interface (AWS CLI) o la API de CloudFront. Después de crear una política de encabezados de respuesta, puede adjuntarla a uno o más comportamientos de la caché en una distribución de CloudFront.

Antes de crear una política de encabezados de respuesta personalizada, compruebe si una de las [políticas de encabezados de respuesta administradas](using-managed-response-headers-policies.md) se ajusta a su caso de uso. Si lo hace, puede adjuntarla a su comportamiento de caché. De este modo, no tendrá que crear ni administrar su propia política de encabezados de respuesta.

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

**Para crear una política de encabezados de respuesta (consola)**

1. Inicie sesión en la Consola de administración de AWS y, a continuación, vaya a la pestaña **Response headers** (Encabezados de respuesta) en la página **Policies** (Políticas) en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders](https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders).

1. Elija **Create response headers policy** (Crear política de encabezados de respuesta).

1. En el formulario **Create response headers policy** (Crear política de encabezados de respuesta), haga lo siguiente:

   1. En el panel **Details** (Detalles), ingrese un **Nombre** para la política de encabezados de respuesta y (opcionalmente) una **Descripción** que explique para qué sirve la política.

   1. En el panel **Cross-origin resource sharing (CORS)** (Uso compartido de recursos entre orígenes [CORS]), elija alternar **Configure CORS** (Configurar CORS) y configure los encabezados CORS que desee agregar a la política. Si desea que los encabezados configurados invaliden los encabezados que CloudFront recibe del origen, seleccione la casilla de verificación **Origin override** (Invalidación de origen).

      Para obtener más información sobre la configuración de encabezados CORS, consulte [Encabezados de CORS](understanding-response-headers-policies.md#understanding-response-headers-policies-cors).

   1. En el panel **Security headers** (Encabezados de seguridad), elija alternar y configure cada uno de los encabezados de seguridad que desee agregar a la política.

      Para obtener más información sobre la configuración de encabezados de seguridad, consulte [Encabezados de seguridad](understanding-response-headers-policies.md#understanding-response-headers-policies-security).

   1. En el panel **Custom headers** (Encabezados personalizados), agregue los encabezados personalizados que desee incluir en la política.

      Para obtener más información sobre la configuración de encabezados personalizados, consulte [Encabezados personalizados](understanding-response-headers-policies.md#understanding-response-headers-policies-custom).

   1. En el panel **Remove headers** (Eliminar encabezados), añada los nombres de los encabezados que desee que CloudFront elimine de la respuesta del origen y no los incluya en la respuesta que CloudFront envía a los lectores.

      Para obtener más información sobre cómo eliminar encabezados, consulte [Eliminar encabezados](understanding-response-headers-policies.md#understanding-response-headers-policies-remove-headers).

   1. En el panel **Server-Timing header** (Encabezado Server-Timing), elija el conmutador **Enable** (Habilitar) e introduzca una tasa de muestreo (un número entre 0 y 100, inclusive).

      Para obtener más información acerca del encabezado `Server-Timing`, consulte [Encabezado Server-Timing](understanding-response-headers-policies.md#server-timing-header).

1. Elija **Create** (Crear) para crear la política.

Después de crear una política de encabezados de respuesta, puede adjuntarla a un comportamiento de la caché en una distribución de CloudFront.

**Para adjuntar una política de encabezados de respuesta a una distribución existente (consola)**

1. Abra la página **Distributions (Distribuciones)** en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Elija la distribución que se va a actualizar y, a continuación, elija la pestaña **Behaviors (Comportamientos)**.

1. Elija el comportamiento de la caché que se va a actualizar y, a continuación, elija **Edit** (Editar).

   O bien, para crear un nuevo comportamiento de caché, elija **Create behavior (Crear comportamiento)**.

1. Para **Política de encabezados de respuesta**, elija la política que desea agregar al comportamiento de la caché.

1. Elija **Save changes** (Guardar cambios) para actualizar el comportamiento de la caché. Si va a crear un nuevo comportamiento de la caché, elija **Create behavior** (Crear comportamiento).

**Para adjuntar una política de encabezados de respuesta a una distribución nueva (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija **Crear distribución**.

1. Para **Política de encabezados de respuesta**, elija la política que desea agregar al comportamiento de la caché.

1. Elija las demás configuraciones para la distribución. Para obtener más información, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Elija **Create distribution** (Crear distribución) para crear la distribución.

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

Para crear una política de encabezados de respuesta con CloudFormation, utilice el tipo de recurso de `AWS::CloudFront::ResponseHeadersPolicy`. En el siguiente ejemplo se muestra la sintaxis de plantilla de CloudFormation, en formato YAML, para crear una política de encabezados de respuesta.

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

Para obtener más información, consulte [AWS::CloudFront::ResponseHeadersPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html) en la *Guía del usuario de AWS CloudFormation*.

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

Para crear una política de encabezados de respuesta con la AWS Command Line Interface (AWS CLI), utilice el comando **aws cloudfront create-response-headers-policy**. Puede utilizar un archivo de entrada para proporcionar los parámetros de entrada del comando, en lugar de especificar cada parámetro individual como entrada de la línea de comandos.

**Para crear una política de encabezados de respuesta (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo llamado `response-headers-policy.yaml`. Este archivo contiene todos los parámetros de entrada para el comando **create-response-headers-policy**.

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

1. Abra el archivo `response-headers-policy.yaml` que acaba de crear. Edite el archivo para especificar un nombre de política y la configuración de la política de encabezados de respuesta deseada y, a continuación, guarde el archivo.

   Para obtener más información sobre la configuración de política de encabezados de respuesta, consulte [Descripción de las políticas de encabezados de respuesta](understanding-response-headers-policies.md).

1. Utilice el siguiente comando para crear la política de encabezados de respuesta. La política que cree utiliza los parámetros de entrada del archivo `response-headers-policy.yaml`.

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

   Anote el valor de `Id` en la salida del comando. Se trata del ID de la política de los encabezados de respuesta. Lo necesita para adjuntar la política al comportamiento de la caché de una distribución de CloudFront.

**Para adjuntar una política de encabezados de respuesta a una distribución existente (CLI con archivo de entrada)**

1. Utilice el comando siguiente para guardar la configuración de distribución de la distribución de CloudFront que desea actualizar. Reemplace *distribution\$1ID* por el ID de la distribución.

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

1. Abra el archivo llamado `dist-config.yaml` que acaba de crear. Edite el archivo y realice los siguientes cambios en el comportamiento de la caché para que utilice la política de encabezados de respuesta.
   + En el comportamiento de caché, agregue un campo que se denomina `ResponseHeadersPolicyId`. Para el valor del campo, utilice el ID de política de encabezados de respuesta que anotó después de crear la política.
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la distribución y utilizar la política de encabezados de respuesta. Reemplace *distribution\$1ID* por el ID de la distribución.

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

**Para adjuntar una política de encabezados de respuesta a una distribución nueva (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo llamado `distribution.yaml`. Este archivo contiene todos los parámetros de entrada para el comando **create-distribution**.

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

1. Abra el archivo `distribution.yaml` que acaba de crear. En el comportamiento de la caché predeterminado, en el campo `ResponseHeadersPolicyId`, ingrese el ID de política de encabezados de respuesta que anotó después de crear la política. Siga editando el archivo para especificar la configuración de distribución que desee y, a continuación, guarde el archivo cuando termine.

   Para obtener más información acerca de la configuración de distribución, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Utilice el siguiente comando para crear la distribución mediante los parámetros de entrada del archivo de `distribution.yaml`.

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

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

Para crear una política de encabezados de respuesta con la API de CloudFront, utilice [CreateResponseHeadersPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateResponseHeadersPolicy.html). Para obtener más información sobre los campos que especifique en esta llamada a la API, consulte [Descripción de las políticas de encabezados de respuesta](understanding-response-headers-policies.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

Después de crear una política de encabezados de respuesta, puede adjuntarla a un comportamiento de la caché, mediante una de las siguientes llamadas a la API:
+ Para asociarla a un comportamiento de caché en una distribución existente, utilice [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para asociarlo con un comportamiento de caché en una nueva distribución, utilice [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para estas dos llamadas a la API, proporcione el ID de la política de los encabezados de respuesta en el campo `ResponseHeadersPolicyId`, dentro de un comportamiento de caché. Para obtener más información sobre los otros campos que especifique en estas llamadas a la API, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

------