Criação de políticas de cabeçalhos de resposta - Amazon CloudFront

Criação de políticas de cabeçalhos de resposta

Você pode usar uma política de cabeçalhos para especificar os cabeçalhos HTTP que o Amazon CloudFront adiciona ou remove em respostas HTTP. Para obter mais informações sobre políticas de cabeçalhos de respostas e os motivos para usá-las, consulte Adicionar ou remover cabeçalhos HTTP em respostas do CloudFront.

Você pode criar uma política de cabeçalhos de resposta no console do CloudFront. Ou, você pode criar uma usando o AWS CloudFormation, a AWS Command Line Interface (AWS CLI) ou a API do CloudFront. Depois de criar uma política de cabeçalhos de resposta, anexe-a a um ou mais comportamentos de cache em uma distribuição do CloudFront.

Antes de criar uma política de cabeçalhos de resposta personalizada, verifique se uma das políticas de cabeçalhos de resposta gerenciadas se encaixa no seu caso de uso. Caso contrário, você pode anexá-la ao comportamento de cache. Dessa forma, você não precisa criar nem gerenciar sua própria política de cabeçalhos de resposta.

Console
Para criar uma política de cabeçalhos de resposta (console)
  1. Faça login no AWS Management Console, depois vá para a guia Response headers (Cabeçalhos de resposta) na página Policies (Políticas) no console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home#/policies/responseHeaders.

  2. Selecione Create response headers policy (Criar política de cabeçalhos de resposta).

  3. No formulário Create response headers policy (Criar política de cabeçalhos de resposta), faça o seguinte:

    1. No painel Details (Detalhes), insira um Name (Nome) para a política de cabeçalhos de resposta e (opcionalmente) uma Description (Descrição) que explique para que serve a política.

    2. No painel Cross-origin resource sharing (CORS) (Compartilhamento de recursos entre origens, CORS), escolha a chave Configure CORS (Configurar CORS) e configure todos os cabeçalhos do CORS que você deseja adicionar à política. Se você quiser que os cabeçalhos configurados substituam os cabeçalhos que o CloudFront recebe da origem, marque a caixa de seleção Origin override (Substituir origem).

      Para obter mais informações sobre as configurações dos cabeçalhos do CORS, consulte Cabeçalhos de CORS.

    3. No painel Security headers (Cabeçalhos de segurança), escolha a chave e configure cada um dos cabeçalhos de segurança que deseja adicionar à política.

      Para obter mais informações sobre as configurações dos cabeçalhos de segurança, consulte Cabeçalhos de segurança.

    4. No painel Custom headers (Cabeçalhos personalizados), adicione quaisquer cabeçalhos personalizados que você desejar incluir na política.

      Para obter mais informações sobre as configurações dos cabeçalhos personalizados, consulte Cabeçalhos personalizados.

    5. No painel Remove headers (Remover cabeçalhos), adicione os nomes de todos os cabeçalhos que deseja que o CloudFront remova da resposta da origem e não inclua na resposta que o CloudFront enviará aos visualizadores.

      Para obter mais informações sobre as configurações de remoção de cabeçalhos, consulte Remover cabeçalhos.

    6. No painel Server-Timing header (Cabeçalho Server-Timing), escolha a opção Enable (Habilitar) e insira uma taxa de amostragem (um número entre 0 e 100, ambos incluídos).

      Para obter mais informações sobre o cabeçalho Server-Timing, consulte Cabeçalho de temporização do servidor.

  4. Escolha Create (Criar) para criar a política.

Depois de criar uma política de cabeçalhos de resposta, você pode anexá-la a um comportamento de cache em uma distribuição do CloudFront.

Para anexar uma política de cabeçalhos de resposta a uma distribuição existente (console)
  1. Abra a página Distributions (Distribuições) no console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home#/distributions.

  2. Escolha a distribuição a ser atualizada e escolha a guia Behaviors (Comportamentos).

  3. Selecione o comportamento de cache a ser atualizado e escolha Edit (Editar).

    Ou, para criar um novo comportamento de cache, escolha Create behavior (Criar comportamento).

  4. Em Response headers policy (Políticas de cabeçalhos de resposta), escolha a política a ser adicionada ao comportamento do cache.

  5. Escolha Save changes (Salvar alterações) para atualizar o comportamento do cache. Se você estiver criando um comportamento de cache, escolha Create behavior (Criar comportamento).

Para anexar uma política de cabeçalhos de resposta a uma nova distribuição (console)
  1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha Create distribution (Criar distribuição).

  3. Em Response headers policy (Políticas de cabeçalhos de resposta), escolha a política a ser adicionada ao comportamento do cache.

  4. Escolha as outras configurações para sua distribuição. Para ter mais informações, consulte Valores especificados ao criar ou atualizar uma distribuição.

  5. Escolha Create distribution (Criar distribuição) para criar a distribuição.

AWS CloudFormation

Para criar uma política de cabeçalhos de resposta com AWS CloudFormation, use o tipo de recurso AWS::CloudFront::ResponseHeadersPolicy. O exemplo a seguir mostra a sintaxe do modelo de AWS CloudFormation, no formato YAML, para criar uma política de cabeçalhos de resposta.

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 obter mais informações, consulte AWS::CloudFront::ResponseHeadersPolicy no Guia do usuário do AWS CloudFormation.

CLI

Para criar uma política de cabeçalhos de resposta com a AWS Command Line Interface (AWS CLI), use o comando aws cloudfront create-response-headers-policy. É possível usar um arquivo de entrada para fornecer os parâmetros de entrada do comando, em vez de especificar cada parâmetro individual como entrada na linha de comando.

Como criar uma política de cabeçalhos de resposta (CLI com arquivo de entrada)
  1. Use o comando a seguir para criar um arquivo chamado response-headers-policy.yaml. Esse arquivo contém todos os parâmetros de entrada para o comando create-response-headers-policy.

    aws cloudfront create-response-headers-policy --generate-cli-skeleton yaml-input > response-headers-policy.yaml
  2. Abra o arquivo response-headers-policy.yaml que você acabou de criar. Edite o arquivo para especificar um nome de política e a configuração desejada de política de cabeçalhos de resposta, depois salve o arquivo.

    Para obter mais informações sobre as configurações de política de cabeçalhos de resposta, consulte Noções básicas das políticas de cabeçalhos de resposta.

  3. Use o comando a seguir para criar a política de cabeçalhos de resposta. A política que você cria usa os parâmetros de entrada do arquivo response-headers-policy.yaml.

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

    Anote o valor do Id na saída do comando. Esse é o ID da política de cabeçalhos de resposta. Você precisa dele para anexar a política ao comportamento de cache de uma distribuição do CloudFront.

Como anexar uma política de cabeçalhos de resposta a uma distribuição existente (CLI com arquivo de entrada)
  1. Use o comando a seguir para salvar a configuração da distribuição do CloudFront que você deseja atualizar. Substitua distribution_ID pelo ID da distribuição.

    aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
  2. Abra o arquivo chamado dist-config.yaml que você acabou de criar. Edite o arquivo, fazendo as seguintes alterações no comportamento de cache para que ele use a política de cabeçalhos de resposta.

    • No comportamento de cache, adicione um campo chamado ResponseHeadersPolicyId. Para o valor do campo, use o ID da política de cabeçalhos de resposta que você anotou depois de criar a política.

    • Renomeie o campo ETag para IfMatch, mas não altere o valor do campo.

    Ao concluir, salve o arquivo.

  3. Use o comando a seguir para atualizar a distribuição para utilizar a política de cabeçalhos de resposta. Substitua distribution_ID pelo ID da distribuição.

    aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
Como anexar uma política de cabeçalhos de resposta a uma nova distribuição (CLI com arquivo de entrada)
  1. Use o comando a seguir para criar um arquivo chamado distribution.yaml. Esse arquivo contém todos os parâmetros de entrada para o comando create-distribution.

    aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
  2. Abra o arquivo distribution.yaml que você acabou de criar. No comportamento de cache padrão, no campo ResponseHeadersPolicyId, insira o ID da política de cabeçalhos de resposta que você anotou após criar a política. Continue editando o arquivo para especificar as configurações de distribuição desejadas e salve o arquivo ao concluir.

    Para obter mais informações sobre as configurações de distribuição, consulte Valores especificados ao criar ou atualizar uma distribuição.

  3. Use o seguinte comando para criar a distribuição usando parâmetros de entrada do arquivo distribution.yaml.

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

Para criar uma política de cabeçalhos de resposta com a API do CloudFront, use CreateResponse HeadersPolicy. Para obter mais informações sobre os campos especificados nessa chamada de API, consulte Noções básicas das políticas de cabeçalhos de resposta e a documentação de referência de API do seu SDK da AWS ou de outro cliente de API.

Depois de criar uma política de cabeçalhos de resposta, é possível anexá-la a um comportamento de cache, usando uma das seguintes chamadas de API:

  • Para anexá-la a um comportamento de cache em uma distribuição existente, use UpdateDistribution.

  • Para anexá-la a um comportamento de cache em uma nova distribuição, use CreateDistribution.

Para as duas chamadas de API, forneça o ID da política de cabeçalhos de resposta no campo ResponseHeadersPolicyId, dentro de um comportamento de cache. Para mais informações sobre os outros campos especificados nessas chamadas de API, consulte Valores especificados ao criar ou atualizar uma distribuição e a documentação de referência da API do AWS SDK ou de outro cliente de API.