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 una firma utilizzando una politica personalizzata URL
Per creare una politica firmata URL utilizzando una politica personalizzata, completare la procedura seguente.
Per creare una politica firmata URL utilizzando una politica personalizzata
-
Se stai usando. NETo Java per creare signed eURLs, se non hai ancora 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).
-
Concatena i seguenti valori nell'ordine elencato, replicando il formato mostrato in questo esempio firmato: URL
https://d111111abcdef8.cloudfront.net/image.jpg
?color=red&size=medium&
Policy=eyANCiAgICEXAMPLEW1lbnQiOiBbeyANCiAgICAgICJSZXNvdXJjZSI6Imh0dHA6Ly9kemJlc3FtN3VuMW0wLmNsb3VkZnJvbnQubmV0L2RlbW8ucGhwIiwgDQogICAgICAiQ29uZGl0aW9uIjp7IA0KICAgICAgICAgIklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIyMDcuMTcxLjE4MC4xMDEvMzIifSwNCiAgICAgICAgICJEYXRlR3JlYXRlclRoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTI5Njg2MDE3Nn0sDQogICAgICAgICAiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjEyOTY4NjAyMjZ9DQogICAgICB9IA0KICAgfV0gDQp9DQo
&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
-
La base URL è CloudFront URL quella che useresti per accedere al file se non utilizzassi signedURLs, inclusi gli eventuali parametri della stringa di query. Nell'esempio precedente, la base URL è
https://d111111abcdef8.cloudfront.net/image.jpg
. Per ulteriori informazioni sul formato delle URLs distribuzioni, vedere. Personalizza il URL formato dei file in CloudFrontI seguenti esempi mostrano i valori che specifichi per le distribuzioni.
-
Quanto segue CloudFront URL riguarda un file di immagine in una distribuzione (utilizzando il nome di CloudFront dominio). Nota che
image.jpg
è una directoryimages
. Il percorso del file in URL deve corrispondere al percorso del file sul tuo HTTP server o nel tuo bucket Amazon S3.https://d111111abcdef8.cloudfront.net/images/image.jpg
-
Quanto segue 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
-
Quanto segue CloudFront URL riguarda un file di immagine in una distribuzione che utilizza un nome di dominio alternativo e il HTTPS protocollo:
https://www.example.com/images/image.jpg
-
- 2.
?
-
?
indica che i parametri della stringa di query seguono la baseURL. Includi?
anche se non disponi di parametri della stringa di query personalizzati. - 3.
Your query string parameters, if any
&
-
Questo valore è facoltativo. Se desideri aggiungere i tuoi parametri di stringa di query, ad esempio:
color=red&size=medium
quindi aggiungili dopo
?
e prima delPolicy
parametro. In alcuni rari casi, è possibile che sia necessario inserire i tuoi parametri di stringa di query dopoKey-Pair-Id
.Importante
I tuoi parametri non possono essere denominati
Policy
,Signature
oKey-Pair-Id
.Se aggiungete parametri personalizzati, aggiungete un valore
&
dopo ognuno di essi, compreso l'ultimo. - 4.
Policy=
base64 encoded version of policy statement
-
La tua dichiarazione politica in JSON formato, con spazi vuoti rimossi, quindi codificata in base64. Per ulteriori informazioni, consulta Crea una dichiarazione politica per un firmatario URL che utilizza una politica personalizzata.
L'informativa sulla politica controlla l'accesso che un utente firmato URL concede a un utente. Include l'URLindicazione del file, una data e un'ora di scadenza, una data e un'ora opzionali che URL diventano valide e un indirizzo IP opzionale o un intervallo di indirizzi IP a cui è consentito accedere al file.
- 5.
&Signature=
hashed and signed version of the policy statement
-
Una versione con hash, firmata e codificata in base64 della dichiarazione politica. JSON Per ulteriori informazioni, consulta Crea una firma per un firmatario che utilizza una politica personalizzata URL.
- 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 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.
- 1.
Crea una dichiarazione politica per un firmatario URL che utilizza una politica personalizzata
Completa i seguenti passaggi per creare una dichiarazione politica per un URL firmatario che utilizza una politica personalizzata.
Per esempi di istruzioni di policy che controllano l'accesso a file in vari modi, consultare Esempi di dichiarazioni politiche per un utente firmato URL che utilizza una politica personalizzata.
Per creare la dichiarazione politica per un URL firmatario che utilizza una politica personalizzata
-
Costruisci la dichiarazione politica utilizzando il seguente JSON formato. Sostituisci i simboli minore di (
<
) e maggiore di (>
) e le relative descrizioni con i tuoi valori. Per ulteriori informazioni, consulta Valori specificati nella dichiarazione politica per un firmatario che utilizza un criterio personalizzato URL.{ "Statement": [ { "Resource": "<Optional but recommended: URL of the file>", "Condition": { "DateLessThan": { "AWS:EpochTime": <Required: ending date and time in Unix time format and UTC> }, "DateGreaterThan": { "AWS:EpochTime": <Optional: beginning date and time in Unix time format and UTC> }, "IpAddress": { "AWS:SourceIp": "<Optional: IP address>" } } } ] }
Tieni presente quanto segue:
-
Puoi includere una sola istruzione nella policy.
-
Usa la codifica a UTF -8 caratteri.
-
Includi tutta le punteggiatura e nomi di parametro esattamente come specificato. Le abbreviazioni per i nomi di parametro non sono accettate.
-
L'ordine dei parametri nella sezione
Condition
non è rilevante. -
Per informazioni sui valori per
Resource
,DateLessThan
,DateGreaterThan
eIpAddress
, consulta Valori specificati nella dichiarazione politica per un firmatario che utilizza un criterio personalizzato URL.
-
-
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.
-
Base64: codifica l'informativa 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. -
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)
-
Aggiungi il valore risultante al tuo segno URL dopo.
Policy=
-
Crea una firma per il firmatario URL eseguendo l'hashing, la firma e la codifica in base64 della dichiarazione politica. Per ulteriori informazioni, consulta Crea una firma per un firmatario che utilizza una politica personalizzata URL.
Valori specificati nella dichiarazione politica per un firmatario che utilizza un criterio personalizzato URL
Quando crei una dichiarazione di policy per una policy personalizzata, specifichi i valori seguenti.
- Risorsa
-
IlURL, incluse tutte le stringhe di query, ma escludendo i
Key-Pair-Id
parametri CloudFrontPolicy
Signature
, e. Per esempio:https://d111111abcdef8.cloudfront.net/images/horizon.jpg\?size=large&license=yes
È possibile specificare un solo URL valore per
Resource
.Importante
È possibile omettere il
Resource
parametro in una policy, ma ciò significa che chiunque abbia firmato URL può accedere a tutti i file di qualsiasi distribuzione associata alla coppia di chiavi utilizzata per creare il file firmatoURL.Tieni presente quanto segue:
-
Protocollo: il valore deve iniziare con
http://
https://
o*://
. -
Parametri della stringa di query: se URL dispone di parametri per la stringa di query, utilizzate una barra rovesciata (
\
) per evitare il carattere del punto interrogativo (?
) che inizia la stringa di query. Per esempio:https://d111111abcdef8.cloudfront.net/images/horizon.jpg\?size=large&license=yes
-
Caratteri jolly: è possibile utilizzare caratteri jolly nella URL policy. Sono supportati i seguenti caratteri jolly:
-
asterisco (
*
), che corrisponde a zero o più caratteri -
punto interrogativo (
?
), che corrisponde esattamente a un carattere
Quando il URL criterio CloudFront corrisponde a quello contenuto URL nella HTTP richiesta, il criterio viene suddiviso URL in quattro sezioni: protocol, domain, path e query string, come segue:
[protocol]://[domain]/[path]\?[query string]
Quando utilizzate un carattere jolly nella policy, la URL corrispondenza con i caratteri jolly si applica solo entro i limiti della sezione che contiene il carattere jolly. Ad esempio, tenete conto di quanto segue URL in una policy:
https://www.example.com/hello*world
In questo esempio, l'asterisco wildcard (
*
) si applica solo all'interno della sezione del percorso, quindi corrisponde a URLshttps://www.example.com/helloworld
andhttps://www.example.com/hello-world
, ma non corrisponde a. URLhttps://www.example.net/hello?world
Le seguenti eccezioni si applicano ai limiti delle sezioni per la corrispondenza con i caratteri jolly:
-
Un asterisco finale nella sezione del percorso implica un asterisco nella sezione della stringa di query. Ad esempio,
http://example.com/hello*
è uguale ahttp://example.com/hello*\?*
. -
Un asterisco finale nella sezione del dominio implica un asterisco nelle sezioni del percorso e della stringa di query. Ad esempio,
http://example.com*
è uguale ahttp://example.com*/*\?*
. -
A URL nella policy può omettere la sezione del protocollo e iniziare con un asterisco nella sezione del dominio. In tal caso, la sezione del protocollo è impostata implicitamente su un asterisco. Ad esempio, URL
*example.com
in una politica è equivalente a.*://*example.com/
-
Un asterisco di per sé (
"Resource": "*"
) corrisponde a qualsiasiURL.
Ad esempio, il valore:
https://d111111abcdef8.cloudfront.net/*game_download.zip*
in una politica corrisponde a tutti i seguenti: URLs-
https://d111111abcdef8.cloudfront.net/game_download.zip
-
https://d111111abcdef8.cloudfront.net/example_game_download.zip?license=yes
-
https://d111111abcdef8.cloudfront.net/test_game_download.zip?license=temp
-
-
Nomi di dominio alternativi: se specifichi un nome di dominio alternativo (CNAME) nella politica, la HTTP richiesta deve utilizzare il nome di dominio alternativo nella pagina Web o nell'applicazione. URL Non specificare Amazon S3 URL per il file in una policy.
-
- DateLessThan
-
La data e l'ora di scadenza per il URL formato orario Unix (in secondi) e il Coordinated Universal Time (UTC). Nella policy, non racchiudere il valore tra virgolette. Per informazioni suUTC, vedere Data e ora su Internet: timestamp
. Ad esempio, il 31 gennaio 2023 le 10:00 AM vengono UTC convertite in 1675159200 nel formato orario Unix.
Questo è l'unico parametro obbligatorio nella sezione.
Condition
CloudFront richiede questo valore per impedire agli utenti di avere accesso permanente ai tuoi contenuti privati.Per ulteriori informazioni, consulta When CloudFront controlla la data e l'ora di scadenza in un documento firmato URL
- DateGreaterThan (Facoltativo)
-
Data e ora di inizio opzionali per il URL formato orario Unix (in secondi) e il Coordinated Universal Time (UTC). Agli utenti non è consentito accedere al file entro o prima della data e dell'ora specificate. Non racchiudere il valore tra virgolette.
- IpAddress (Facoltativo)
-
L'indirizzo IP del client che effettua la HTTP richiesta. Tieni presente quanto segue:
-
Per consentire a qualsiasi indirizzo IP di accedere al file, ometti il parametro
IpAddress
. -
Puoi specificare un indirizzo IP o un intervallo di indirizzi IP. Non puoi utilizzare la policy per consentire l'accesso se l'indirizzo IP del client si trova in uno dei due intervalli distinti.
-
Per consentire l'accesso da un singolo indirizzo IP, specifica:
"
IPv4 IP address
/32"
-
È necessario specificare gli intervalli di indirizzi IP in IPv4 CIDR formato standard (ad esempio,
192.0.2.0/24
). Per ulteriori informazioni, vedere Classless Inter-domain Routing (CIDR): il piano di assegnazione e aggregazione degli indirizzi Internet. Importante
Gli indirizzi IP in IPv6 formato, ad esempio 2001:0 db 8:85 a3: :8a2e: 0370:7334, non sono supportati.
Se utilizzi una politica personalizzata che include, non abilitarla per la distribuzione.
IpAddress
IPv6 Se desideri limitare l'accesso ad alcuni contenuti in base all'indirizzo IP e IPv6 alle richieste di supporto per altri contenuti, puoi creare due distribuzioni. Per ulteriori informazioni, consulta Abilita IPv6 nell'argomento Riferimento alle impostazioni di distribuzione.
-
Esempi di dichiarazioni politiche per un utente firmato URL che utilizza una politica personalizzata
Gli esempi di dichiarazioni di policy seguenti mostrano il modo in cui controllare l'accesso a un determinato file, a tutti i file in una directory o a tutti i file associati a un ID di coppia di chiavi. Gli esempi mostrano anche come controllare l'accesso da un singolo indirizzo IP o da un intervallo di indirizzi IP e come impedire agli utenti di utilizzare il file firmato URL dopo una data e un'ora specificate.
Se copiate e incollate uno di questi esempi, rimuovete gli spazi vuoti (inclusi tabulazioni e caratteri di nuova riga), sostituite i valori con i vostri valori e includete un carattere di nuova riga dopo la parentesi quadra di chiusura (). }
Per ulteriori informazioni, consulta Valori specificati nella dichiarazione politica per un firmatario che utilizza un criterio personalizzato URL.
Argomenti
- Esempio di dichiarazione politica: accedere a un file da un intervallo di indirizzi IP
- Esempio di dichiarazione politica: accedere a tutti i file in una directory da un intervallo di indirizzi IP
- Esempio di dichiarazione politica: accedere a tutti i file associati a un ID di coppia di chiavi da un indirizzo IP
Esempio di dichiarazione politica: accedere a un file da un intervallo di indirizzi IP
Il seguente esempio di politica personalizzata in a signed URL specifica che un utente può accedere al file https://d111111abcdef8.cloudfront.net/game_download.zip
dagli indirizzi IP compresi nell'intervallo 192.0.2.0/24
fino alle 10:00 del 31 gennaio 2023: UTC
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/game_download.zip", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1675159200 } } } ] }
Esempio di dichiarazione politica: accedere a tutti i file in una directory da un intervallo di indirizzi IP
Il seguente esempio di politica personalizzata consente di creare un carattere firmato URLs per qualsiasi file nella training
directory, come indicato dal carattere jolly asterisco (*
) nel Resource
parametro. Gli utenti possono accedere al file da un indirizzo IP compreso nell'intervallo 192.0.2.0/24
fino alle 10:00 del 31 gennaio 2023: UTC
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/training/*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1675159200 } } } ] }
Ogni firma URL con cui si utilizza questa politica ha una firma URL che identifica un file specifico, ad esempio:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Esempio di dichiarazione politica: accedere a tutti i file associati a un ID di coppia di chiavi da un indirizzo IP
Il seguente esempio di politica personalizzata consente di creare file firmati URLs per qualsiasi file associato a qualsiasi distribuzione, come indicato dal carattere jolly asterisco (*
) nel Resource
parametro. Il firmato URL deve utilizzare il https://
protocollo, non. http://
L'utente deve utilizzare l'indirizzo I 192.0.2.10/32
. (Il valore 192.0.2.10/32
in CIDR notazione si riferisce a un singolo indirizzo IP,192.0.2.10
.) I file sono disponibili solo dalle 10:00 del 31 gennaio 2023 alle UTC 10:00 del 2 febbraio 2023: UTC
{ "Statement": [ { "Resource": "https://*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.10/32" }, "DateGreaterThan": { "AWS:EpochTime": 1675159200 }, "DateLessThan": { "AWS:EpochTime": 1675332000 } } } ] }
Ogni firma URL con cui si utilizza questa politica ha una firma URL che identifica un file specifico in una CloudFront distribuzione specifica, ad esempio:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Il signed include URL anche un ID di coppia di chiavi, che deve essere associato a un gruppo di chiavi attendibile nella distribuzione (d111111abcdef8.cloudfront.net) specificata in. URL
Crea una firma per un firmatario che utilizza una politica personalizzata URL
La firma di un utente firmato URL che utilizza una politica personalizzata è una versione dell'informativa con hash, firmata e codificata in base64. Per creare una firma per una policy personalizzata, procedi come indicato di seguito.
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 personalizzata
-
Utilizzate la funzione di hash SHA -1 e RSA per eseguire l'hash e firmare l'JSONinformativa sulla politica creata durante la procedura. Per creare la dichiarazione politica per un URL firmatario che utilizza una politica personalizzata Utilizzate la versione dell'informativa che non include più spazi vuoti ma che non è ancora stata codificata in base 64.
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)
-
Aggiungi il valore risultante al file firmato URL dopo
&Signature=
e torna indietro per Per creare una politica firmata URL utilizzando una politica personalizzata completare la concatenazione delle parti del file firmato. URL