Impostazione di cookie firmati mediante una policy di accesso predefinita - Amazon CloudFront

Impostazione di cookie firmati mediante una policy di accesso predefinita

Per definire un cookie firmato utilizzando una policy predefinita, completa la procedura descritta di seguito. Per creare la firma, consulta Creazione di una firma per un cookie firmato che utilizza una policy di accesso predefinita.

Il seguente esempio mostra intestazioni Set-Cookie per un cookie firmato quando utilizzi il nome di dominio associato alla distribuzione negli URL per i tuoi file:

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

Il seguente esempio mostra intestazioni Set-Cookie per un cookie firmato quando utilizzi il nome di dominio alternativo example.org negli URL per i tuoi file:

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 intendi utilizzare un nome di dominio alternativo come example.com negli URL, devi aggiungere il nome di dominio alternativo alla distribuzione indipendentemente se si specifica l'attributo Domain. Per ulteriori informazioni, consulta Nomi di dominio alternativi (CNAME) nell'argomento Riferimento a tutte le impostazioni di distribuzione.

Creazione di una firma per un cookie firmato che utilizza una policy di accesso predefinita

Per creare la firma per un cookie firmato che utilizza una policy di accesso predefinita, completa le seguenti procedure.

Creazione di una dichiarazione di policy per un cookie firmato che utilizza una policy di accesso predefinita

Quando definisci un cookie firmato che utilizza una policy predefinita, l'attributo CloudFront-Signature è una versione con hash e firma di una dichiarazione di policy. Per i cookie firmati che utilizzano una policy predefinita, non includi la dichiarazione di policy nell'intestazione Set-Cookie, come avviene per i cookie firmati che utilizzano una policy personalizzata. Per creare una dichiarazione di policy, esegui la procedura descritta di seguito.

Creazione di una dichiarazione di policy per un cookie firmato che utilizza una policy predefinita
  1. Crea la dichiarazione di policy utilizzando il formato JSON seguente e la codifica caratteri UTF-8. Includi tutta le punteggiatura e altri valori letterali esattamente come specificato. Per informazioni sui parametri Resource e DateLessThan, consulta Valori da specificare in una dichiarazione di policy per cookie firmati che utilizzano una policy predefinita.

    { "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
  2. Rimuovi tutti gli spazi vuoti (inclusi i caratteri di nuova riga e le tabulazioni) dalla dichiarazione di policy. È possibile che tu debba includere caratteri di escape nella stringa del codice dell'applicazione.

Valori da specificare in una dichiarazione di policy per cookie firmati che utilizzano una policy predefinita

Quando crei una dichiarazione di policy per una policy predefinita, specifichi i valori seguenti:

Risorsa

L'URL di base che include le eventuali stringhe di query, ad esempio:

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

Puoi specificare un solo valore per Resource.

Tieni presente quanto segue:

  • Protocollo: il valore deve iniziare con http:// o https://.

  • Parametri di stringa di query: se non hai parametri di stringa di query, ometti il punto di domanda.

  • Nomi di dominio alternativi: se specifichi un nome di dominio alternativo (CNAME) nell'URL, devi specificarlo quando fai riferimento al file nella pagina Web o nell'applicazione. Non specificare l'URL Amazon S3 per il file.

DateLessThan

La data e l'ora di scadenza per l'URL in formato Unix (in secondi) e UTC. Non racchiudere il valore tra virgolette.

Ad esempio, 16 marzo 2015 10:00 UTC viene convertito in 1426500000 nel formato Unix.

Questo valore deve corrispondere al valore dell'attributo CloudFront-Expires nell'intestazione Set-Cookie. Non racchiudere il valore tra virgolette.

Per ulteriori informazioni, consulta Quando CloudFront verifica la data e l’ora di scadenza in un cookie firmato.

Esempio di dichiarazione di policy per una policy predefinita

Quando utilizzi l'esempio di dichiarazione di policy seguente in un cookie firmato, un utente può accedere al file https://d111111abcdef8.cloudfront.net/horizon.jpg fino al 16 marzo 2015 10:00 UTC:

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

Firma di una dichiarazione di policy per creare una firma per un cookie firmato che utilizza una policy di accesso predefinita

Per creare il valore per l'attributo CloudFront-Signature in un'intestazione Set-Cookie, sottoponi a hashing e firmi la dichiarazione di policy che hai creato in Creazione di una dichiarazione di policy per un cookie firmato che utilizza una policy predefinita.

Per ulteriori informazioni ed esempi su come sottoporre a hashing, firmare e codificare la dichiarazione di policy, consulta i seguenti argomenti: