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à.
Crea un URL firmato utilizzando una policy predefinita
Per creare un URL firmato utilizzando una policy predefinita, completa la procedura seguente.
Creazione di un URL firmato utilizzando una policy predefinita
-
Se stai usando .NET o Java per creare un file firmato URLs e se non hai riformattato la chiave privata per la tua coppia di chiavi dal formato.pem predefinito a un formato compatibile con.NET o con Java, fallo ora. Per ulteriori informazioni, consulta Riformatta la chiave privata (solo .NET e Java).
-
Concatena i seguenti valori. È possibile utilizzare il formato in questo esempio di URL firmato.
https://d111111abcdef8.cloudfront.net/image.jpg
?color=red&size=medium&
Expires=1357034400
&Signature=nitfHRCrtziwO2HwPfWw~yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx~-ar3UocvvRQVw6EkC~GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6
&Key-Pair-Id=K2JCJMDEHXQW5F
Rimuovi tutti gli spazi vuoti (inclusi tabulazioni e caratteri di nuova riga). È possibile che tu debba includere caratteri di escape nella stringa del codice dell'applicazione. Tutti i valori hanno un tipo di.
String
- 1.
Base URL for the file
-
L'URL di base è l' CloudFront URL che utilizzeresti per accedere al file se non utilizzassi signed URLs, inclusi i parametri della stringa di query, se presenti. Nell'esempio precedente, l'URL di base è
https://d111111abcdef8.cloudfront.net/image.jpg
. Per ulteriori informazioni sul formato delle URLs distribuzioni, vedere. Personalizza il formato URL per i file in CloudFront-
L' CloudFront URL seguente riguarda un file di immagine in una distribuzione (utilizzando il nome di CloudFront dominio). Nota che
image.jpg
è una directoryimages
. Il percorso al file nell'URL deve corrispondere al percorso al file nel server HTTP o nel bucket Amazon S3.https://d111111abcdef8.cloudfront.net/images/image.jpg
-
Il seguente CloudFront URL include una stringa di query:
https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large
-
Di seguito CloudFront URLs sono riportati i file di immagine in una distribuzione. Entrambi utilizzano un nome di dominio alternativo. Il secondo include una stringa di query:
https://www.example.com/images/image.jpg
https://www.example.com/images/image.jpg?color=red
-
L' CloudFront URL seguente riguarda un file di immagine in una distribuzione che utilizza un nome di dominio alternativo e il protocollo HTTPS:
https://www.example.com/images/image.jpg
-
- 2.
?
-
?
indica che i parametri della query seguono l'URL di base. Includi?
anche se non specifichi alcun parametro di query.Nota
È possibile specificare i seguenti parametri di interrogazione in qualsiasi ordine.
- 3.
Your query string parameters, if any
&
-
(Facoltativo) È possibile immettere parametri personalizzati per la stringa di query. A tale scopo, aggiungi una e commerciale (
&
) tra ognuna di esse, ad esempio.color=red&size=medium
È possibile specificare i parametri della stringa di query in qualsiasi ordine all'interno dell'URL.Importante
I parametri della stringa di query non possono essere denominati
Expires
Signature
, oKey-Pair-Id
. - 4.
Expires=
date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC)
-
La data e l'ora in cui desideri che l'URL blocchi l'accesso al file.
Specifica la data e l'ora di scadenza in formato Unix (in secondi) e UTC. Ad esempio, le 10:00 UTC del 1° gennaio 2013 vengono convertite
1357034400
nel formato orario Unix, come illustrato nell'esempio all'inizio di questo argomento. Per utilizzare l'ora epoch, utilizzate un numero intero a 32 bit per una data non successiva a2147483647
(19 gennaio 2038 alle 03:14:07 UTC). Per informazioni sull'UTC, consulta RFC 3339, Date and Time on the Internet: Timestamps. - 5.
&Signature=
hashed and signed version of the policy statement
-
Una versione con hash, firma e codifica base64 della dichiarazione di policy JSON. Per ulteriori informazioni, consulta Crea una firma per un URL firmato che utilizza una politica predefinita.
- 6.
&Key-Pair-Id=
public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature
-
L'ID di una chiave CloudFront pubblica, ad esempio
K2JCJMDEHXQW5F
. L'ID della chiave pubblica indica CloudFront quale chiave pubblica utilizzare per convalidare l'URL firmato. CloudFront confronta le informazioni contenute nella firma con quelle contenute nell'informativa per verificare che l'URL non sia stato manomesso.Questa 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 .
- 1.
Crea una firma per un URL firmato che utilizza una politica predefinita
Per creare la firma per un URL firmato che utilizza una politica predefinita, completare le seguenti procedure.
Argomenti
Create una dichiarazione politica per un URL firmato che utilizza una politica predefinita
Quando crei un URL firmato utilizzando una policy predefinita, il parametro Signature
è una versione con hash e firma di una dichiarazione di policy. Per i criteri firmati URLs che utilizzano una politica predefinita, non includi la dichiarazione di politica nell'URL, mentre per quelli firmati URLs che utilizzano una politica personalizzata. Per creare una dichiarazione di policy, esegui la procedura descritta di seguito.
Per creare la dichiarazione di policy per un URL firmato che utilizza una policy predefinita
-
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
eDateLessThan
, consulta Valori da specificare in una dichiarazione di policy per un URL firmato che utilizza 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) dall'informativa. È possibile che tu debba includere caratteri di escape nella stringa del codice dell'applicazione.
Valori da specificare in una dichiarazione di policy per un URL firmato che utilizza una policy predefinita
Quando crei una dichiarazione di policy per una policy predefinita, specifichi i valori seguenti.
- Risorsa
-
Nota
Puoi specificare un solo valore per
Resource
.L'URL di base che include le stringhe di query, se presenti, ma escludendo CloudFront
Expires
, eKey-Pair-Id
i parametriSignature
, ad esempio:https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
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 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 di Amazon S3 per l'oggetto.
-
- DateLessThan
-
La data e l'ora di scadenza per l'URL in formato Unix (in secondi) e UTC. Ad esempio, la data 1 gennaio 2013 10:00 UTC viene convertita in 1357034400 nel formato Unix.
Questo valore deve corrispondere al valore del parametro di stringa di query
Expires
nell'URL firmato. Non racchiudere il valore tra virgolette.Per ulteriori informazioni, consulta When CloudFront controlla la data e l'ora di scadenza in un URL firmato.
Esempio di dichiarazione di policy per un URL firmato che utilizza una policy predefinita
Quando utilizzi l'esempio di dichiarazione di policy seguente in un URL firmato, un utente può accedere al file https://d111111abcdef8.cloudfront.net/horizon.jpg
fino al 1° gennaio 2013 10:00 UTC:
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1357034400 } } } ] }
Crea una firma per un URL firmato che utilizza una politica predefinita
Per creare il valore per il parametro Signature
in un URL firmato, devi sottoporre a hashing e firmare la dichiarazione di policy creata in Create una dichiarazione politica per un URL firmato che utilizza una politica predefinita.
Per ulteriori informazioni ed esempi su come sottoporre a hashing, firmare e codificare la dichiarazione di policy, consulta:
Opzione 1: per creare una firma utilizzando una policy predefinita
-
Utilizza la funzione hash SHA-1 e RSA per sottoporre a hashing e firmare la dichiarazione di policy che hai creato nella procedura Per creare la dichiarazione di policy per un URL firmato che utilizza una policy predefinita. Utilizza 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 Codice di esempio per la creazione di una firma per un URL firmato.
-
Rimuovi gli spazi vuoti (inclusi tabulazioni e caratteri di nuova riga) dalla stringa con hash e firmata.
-
Codifica la stringa utilizzando la codifica base64 MIME. Per ulteriori informazioni, vedere Sezione 6.8, Base64 Content-Transfer-Encoding in RFC 2045,
MIME (Multipurpose Internet Mail Extensions), parte prima: Formato dei corpi dei messaggi Internet. -
Sostituisci i caratteri non validi nella stringa di query dell'URL 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)
-
Aggiungi il valore risultante all'URL firmato dopo
&Signature=
e ritorna a Creazione di un URL firmato utilizzando una policy predefinita per completare il concatenamento delle parti dell'URL firmato.