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 de resposta para especificar os cabeçalhos de HTTP que o Amazon CloudFront adiciona às respostas de HTTP. Para obter mais informações sobre políticas de cabeçalhos de respostas e por que usá-las, consulte Adição de cabeçalhos de HTTP às respostas do CloudFront.

Você pode criar uma política de cabeçalhos de resposta no console do CloudFront, com o AWS CloudFormation, com a AWS Command Line Interface (AWS CLI) ou com 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, você deve verificar se uma das políticas de cabeçalhos de resposta gerenciadas se encaixa no seu caso de uso. Nesse caso, você pode anexar a política gerenciada ao comportamento de cache sem precisar criar uma política personalizada.

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/v3/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.

  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/v3/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 novo comportamento de cache, escolha Create behaviour, 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/v3/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 obter mais informações, consulte . Valores especificados ao criar ou atualizar uma distribuição na.

  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

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 que 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
    nota

    A opção yaml-input está disponível apenas na versão 2 da AWS CLI. Com a versão 1 da AWS CLI, é possível gerar um arquivo de entrada no formato JSON. Para obter mais informações, consulte Gerar um esqueleto AWS CLI e parâmetros de entrada usando um arquivo de entrada JSON ou YAML no Guia do usuário do AWS Command Line Interface.

  2. Abra o arquivo chamado response-headers-policy.yaml que você acabou de criar. Edite o arquivo para especificar um nome de política e os cabeçalhos de resposta a serem incluídos na política e 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 seguinte comando para criar a política de cabeçalhos de resposta usando 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, e você precisa dele para anexar a política de cabeçalhos de resposta 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
    nota

    A opção --output yaml está disponível apenas na versão 2 da AWS CLI. Com a versão 1 da AWS CLI, é possível gerar a saída no formato JSON. Para obter mais informações, consulte Controlar a saída do comando na AWS CLI no Guia do usuário do AWS Command Line Interface.

  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 que você está atualizando para usar 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 que contém todos os parâmetros de entrada para o comando create-distribution.

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

    A opção yaml-input está disponível apenas na versão 2 da AWS CLI. Com a versão 1 da AWS CLI, é possível gerar um arquivo de entrada no formato JSON. Para obter mais informações, consulte Gerar um esqueleto AWS CLI e parâmetros de entrada usando um arquivo de entrada JSON ou YAML no Guia do usuário do AWS Command Line Interface.

  2. Abra o arquivo chamado 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 na.

  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 AWS SDK 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 RequestHeadersPolicyId, 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 na e a documentação de referência da API do AWS SDK ou de outro cliente de API.