Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Imposta i cookie firmati utilizzando una politica predefinita
Per definire un cookie firmato utilizzando una policy predefinita, completa la procedura descritta di seguito. Per creare la firma, consulta Crea una firma per un cookie firmato che utilizza una politica predefinita.
Definizione di un cookie firmato utilizzando una policy predefinita
-
Se stai usando. NETo Java per creare cookie firmati e, se non hai riformattato la chiave privata per la tua coppia di chiavi dal formato.pem predefinito a un formato compatibile con. NETo con Java, fallo ora. Per ulteriori informazioni, consulta Riformatta la chiave privata (. NETe solo Java).
-
Programma la tua applicazione affinché invii tre intestazioni
Set-Cookie
a visualizzatori approvati. Sono necessarie treSet-Cookie
intestazioni perché ogniSet-Cookie
intestazione può contenere solo una coppia nome-valore e un cookie CloudFront firmato richiede tre coppie nome-valore. Le coppie nome-valore sono:CloudFront-Expires
,CloudFront-Signature
eCloudFront-Key-Pair-Id
. I valori devono essere presenti sul visualizzatore prima che un utente effettui la prima richiesta per un file di cui intendi controllare l'accesso.Nota
Come regola generale, ti consigliamo di escludere attributi
Expires
eMax-Age
. In seguito all'esclusione degli attributi, il browser elimina il cookie quando l'utente chiude il browser e ciò riduce la possibilità che qualcuno ottenga accesso non autorizzato al tuo contenuto. Per ulteriori informazioni, consulta Impedisci l'uso improprio dei cookie firmati.I nomi degli attributi di cookie fanno distinzione tra maiuscole e minuscole.
Le interruzioni di riga sono incluse solo per rendere gli attributi più leggibili.
Set-Cookie: CloudFront-Expires=
date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC)
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly Set-Cookie: CloudFront-Signature=hashed and signed version of the policy statement
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature
; Domain=optional domain name
; Path=/optional directory path
; Secure; HttpOnly- (Opzionale)
Domain
-
Il nome di dominio per il file richiesto. Se non specifichi un
Domain
attributo, il valore predefinito è il nome di dominio in e si applica solo al nome di dominio specificatoURL, non ai sottodomini. Se specifichi un attributoDomain
, è applicabile anche ai sottodomini. Un punto all'inizio del nome di dominio (ad esempioDomain=.example.com
) è facoltativo. Inoltre, se si specifica unDomain
attributo, il nome di dominio in URL e il valore dell'Domain
attributo devono corrispondere.Puoi specificare il nome di dominio CloudFront assegnato alla tua distribuzione, ad esempio d111111abcdef8.cloudfront.net, ma non puoi specificare *.cloudfront.net per il nome di dominio.
Se desideri utilizzare un nome di dominio alternativo come example.com in, devi aggiungere il nome di dominio alternativo alla tua distribuzione indipendentemente dal fatto che tu specifichi l'attributo. URLs
Domain
Per ulteriori informazioni, consulta Nomi di dominio alternativi () CNAMEs nell'argomento Riferimento alle impostazioni di distribuzione. - (Opzionale)
Path
-
Il percorso per il file richiesto. Se non specifichi un
Path
attributo, il valore predefinito è il percorso in. URL Secure
-
Richiede al visualizzatore di crittografare i cookie prima dell'invio di una richiesta. Ti consigliamo di inviare l'
Set-Cookie
intestazione tramite una HTTPS connessione per assicurarti che gli attributi del cookie siano protetti dagli man-in-the-middle attacchi. HttpOnly
-
Definisce il modo in cui il browser (se supportato) interagisce con il valore del cookie. Con
HttpOnly
, i valori del cookie sono inaccessibili a. JavaScript Questa precauzione può aiutare a mitigare gli attacchi cross-site scripting (). XSS Per ulteriori informazioni, consulta Utilizzo dei cookie. HTTP CloudFront-Expires
-
Specificate la data e l'ora di scadenza nel formato orario Unix (in secondi) e nel Coordinated Universal Time (UTC). Ad esempio, le 10:00 del 1° gennaio 2013 vengono UTC convertite in 1357034400 nel formato orario Unix. Per utilizzare l'ora epoch, utilizzate un numero intero a 32 bit per una data non successiva a 2147483647 (19 gennaio 2038 alle 03:14:07). UTC Per informazioni suUTC, vedere RFC3339, Data e ora su Internet: timestamp,. https://tools.ietf.org/html/rfc3339
CloudFront-Signature
-
Una versione con hash, firmata e codificata in base64 di una dichiarazione politica. JSON Per ulteriori informazioni, consulta Crea una firma per un cookie firmato che utilizza una politica predefinita.
CloudFront-Key-Pair-Id
-
L'ID di una chiave CloudFront pubblica, ad esempio,.
K2JCJMDEHXQW5F
L'ID della chiave pubblica indica CloudFront quale chiave pubblica utilizzare per convalidare la firmaURL. CloudFront confronta le informazioni contenute nella firma con quelle contenute nella dichiarazione politica per verificare che non siano state manomesse. URLQuesta chiave pubblica deve appartenere a un gruppo di chiavi che sia un firmatario attendibile nella distribuzione. Per ulteriori informazioni, consulta Specificate i firmatari che possono creare cookie firmati e firmati URLs.
- (Opzionale)
L'esempio seguente mostra le Set-Cookie
intestazioni di un cookie firmato quando si utilizza il nome di dominio associato alla distribuzione in for your files: URLs
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
L'esempio seguente mostra le Set-Cookie
intestazioni per un cookie firmato quando utilizzi il nome di dominio alternativo example.org nella cartella per i tuoi file: URLs
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 desideri utilizzare un nome di dominio alternativo come example.com inURLs, devi aggiungere il nome di dominio alternativo alla tua distribuzione indipendentemente dal fatto che tu specifichi l'attributo. Domain
Per ulteriori informazioni, consulta Nomi di dominio alternativi () CNAMEs nell'argomento Riferimento alle impostazioni di distribuzione.
Crea una firma per un cookie firmato che utilizza una politica predefinita
Per creare la firma per un cookie firmato che utilizza una policy predefinita, completa le seguenti procedure.
Argomenti
Crea una dichiarazione politica per un cookie firmato che utilizza una politica 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
-
Costruisci la dichiarazione politica utilizzando il seguente JSON formato e utilizzando la codifica a UTF -8 caratteri. Includi tutta le punteggiatura e altri valori letterali esattamente come specificato. Per informazioni sui parametri
Resource
eDateLessThan
, 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 } } } ] }
-
Rimuovi tutti gli spazi vuoti (inclusi tabulazioni e caratteri di nuova riga) dalla dichiarazione politica. È 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
-
La base che URL include le stringhe di query, se presenti, 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://
ohttps://
. -
Parametri di stringa di query: se non hai parametri di stringa di query, ometti il punto di domanda.
-
Nomi di dominio alternativi: se si specifica un nome di dominio alternativo (CNAME) inURL, è necessario specificare il nome di dominio alternativo quando si fa riferimento al file nella pagina Web o nell'applicazione. Non specificare Amazon S3 URL per il file.
-
- DateLessThan
-
La data e l'ora di scadenza per il URL formato orario Unix (in secondi) e il Coordinated Universal Time (UTC). Non racchiudere il valore tra virgolette.
Ad esempio, le 10:00 del 16 marzo 2015 vengono UTC convertite in 1426500000 nel formato orario Unix.
Questo valore deve corrispondere al valore dell'attributo
CloudFront-Expires
nell'intestazioneSet-Cookie
. Non racchiudere il valore tra virgolette.Per ulteriori informazioni, consulta When CloudFront controlla la data e l'ora di scadenza in un cookie firmato.
Esempio di dichiarazione di policy per una policy predefinita
Quando si utilizza la seguente dichiarazione politica di esempio in un cookie firmato, un utente può accedere https://d111111abcdef8.cloudfront.net/horizon.jpg
al file fino alle 10:00 del 16 marzo 2015: UTC
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1426500000 } } } ] }
Firma l'informativa sulla politica per creare una firma per un cookie firmato che utilizza una politica 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:
Creazione di una firma per un cookie firmato che utilizza una policy predefinita
-
Utilizzate la funzione hash SHA -1 e RSA per eseguire l'hash e firmare la dichiarazione di policy che avete creato durante la procedura. Creazione di una dichiarazione di policy per un cookie firmato che utilizza una policy predefinita Utilizzate la versione dell'informativa che non include più spazi vuoti.
Per la chiave privata richiesta dalla funzione hash, utilizza una chiave privata la cui chiave pubblica si trova in un gruppo di chiavi attendibili attivo per la distribuzione.
Nota
Il metodo utilizzato per sottoporre a hashing e firmare la dichiarazione di policy dipende dalla piattaforma e dal linguaggio di programmazione. Per il codice di esempio, consulta Esempi di codice per creare una firma per una persona firmata URL.
-
Rimuovi gli spazi vuoti (inclusi tabulazioni e caratteri di nuova riga) dalla stringa con hash e firmata.
-
Base64: codifica la stringa usando la codifica base64. MIME Per ulteriori informazioni, vedere Sezione 6.8, Base64 Content-Transfer-Encoding nel RFC 2045, MIME
(Estensioni di posta Internet Multipurpose) Parte prima: Formato dei corpi dei messaggi Internet. -
Sostituire i caratteri non validi in una stringa di URL query con caratteri validi. La tabella seguente elenca i caratteri validi e non validi.
Sostituisci questi caratteri non validi Con questi caratteri validi +
- (trattino)
=
_ (carattere di sottolineatura)
/
~ (tilde)
-
Includi il valore risultante nell'intestazione
Set-Cookie
per la coppia nome-valoreCloudFront-Signature
. Quindi ritorna a Definizione di un cookie firmato utilizzando una policy predefinita e aggiungi l'intestazioneSet-Cookie
perCloudFront-Key-Pair-Id
.