Definir cookies assinados usando uma política predefinida - Amazon CloudFront

Definir cookies assinados usando uma política predefinida

Para definir um signed cookie usando uma política padrão, execute as seguintes etapas. Para criar a assinatura, consulte Criar uma assinatura para um cookie assinado que use uma política predefinida.

O exemplo a seguir mostra cabeçalhos de Set-Cookie de um signed cookie quando você está usando o nome de domínio associado à sua distribuição nas URLs de seus arquivos:

Set-Cookie: CloudFront-Expires=1426500000; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly

O exemplo a seguir mostra cabeçalhos de Set-Cookie de um signed cookie quando você está usando o nome de domínio alternativo example.org nas URLs de seus arquivos:

Set-Cookie: CloudFront-Expires=1426500000; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/images/*; Secure; HttpOnly

Se você quiser usar um nome de domínio alternativo, como example.com nos URLs, deverá adicioná-lo à sua distribuição, independentemente de especificá-lo no atributo Domain ou não. Para obter mais informações, consulte Nomes de domínio alternativos (CNAMEs) no tópico Referência de configurações da distribuição.

Criar uma assinatura para um cookie assinado que use uma política predefinida

Para criar a assinatura de um cookie que use uma política predefinida, siga estes procedimentos.

Criar uma declaração de política para um cookie assinado que use uma política predefinida

Ao definir um signed cookie que usa uma política padrão, o atributo CloudFront-Signature será uma versão assinada e com hash de uma declaração de política. Para signed cookies que usam uma política padrão, a declaração de política não é incluída no cabeçalho Set-Cookie, como é feito nos signed cookies que usam uma política personalizada. Para criar a declaração de política, conclua as etapas a seguir.

Para criar uma declaração de política para um signed cookie que usa uma política padrão
  1. Crie a declaração de política usando o formato JSON a seguir e a codificação de caracteres UTF-8. Inclua todas as pontuações e outros valores literais exatamente como especificado. Para obter informações sobre os parâmetros Resource e DateLessThan, consulte Valores especificados na declaração de uma política padrão para signed cookies.

    { "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
  2. Remova todas os espaços em branco (inclusive caracteres de nova linha e de tabulação) da declaração de política. Pode ser necessário incluir caracteres de escape na string do código do aplicativo.

Valores especificados na declaração de uma política padrão para signed cookies

Ao criar uma declaração de política para uma política padrão, especifique os valores a seguir:

Recurso

O URL base, inclusive suas query strings, se houver, por exemplo:

https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes

Você pode especificar apenas um valor para Resource.

Observe o seguinte:

  • Protocolo: o valor deve começar com http:// ou https://.

  • Parâmetros de query string :se você não tiver query strings, omita o ponto de interrogação.

  • Nomes de domínio alternativos: se especificar um nome de domínio alternativo (CNAME) no URL, você deverá especificá-lo ao fazer referência ao arquivo na sua página da web ou aplicação. Não especifique o URL do Amazon S3 para o arquivo.

DateLessThan

A data e hora de expiração do URL no formato de hora do Unix (em segundos) e no Tempo Universal Coordenado (UTC). Não coloque os valores entre aspas.

Por exemplo, 16 de março de 2015, 10h UTC é convertido para 1426500000 no formato de hora do Unix.

Esse valor deve corresponder ao valor do atributo CloudFront-Expires no cabeçalho Set-Cookie. Não coloque os valores entre aspas.

Para obter mais informações, consulte Quando o CloudFront confere a data e hora de validade de um cookie assinado.

Exemplo de declaração de política para uma política padrão

Ao usar o seguinte exemplo de declaração de política em um signed cookie, um usuário pode acessar o arquivo https://d111111abcdef8.cloudfront.net/horizon.jpg até 16 de março de 2015, 10h UTC:

{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1426500000 } } } ] }

Assinar a declaração de política para criar uma assinatura para um cookie assinado que use uma política predefinida

Para criar o valor para o atributo CloudFront-Signature em um cabeçalho Set-Cookie, assine e adicione um hash à declaração de política criada em Para criar uma declaração de política para um signed cookie que usa uma política padrão.

Para obter mais informações e exemplos de como adicionar hash, assinar e codificar a declaração de política, consulte os seguintes tópicos: