Usa firmato URLs - Amazon CloudFront

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à.

Usa firmato URLs

Un messaggio firmato URL include informazioni aggiuntive, ad esempio la data e l'ora di scadenza, che consentono un maggiore controllo sull'accesso ai contenuti. Queste informazioni aggiuntive appaiono in una dichiarazione di policy, basata su una policy predefinita o personalizzata. Le differenze tra policy predefinite e personalizzate sono descritte nelle due sezioni successive.

Nota

Puoi crearne alcuni firmati URLs utilizzando criteri predefiniti e crearne altri firmati URLs utilizzando criteri personalizzati per la stessa distribuzione.

Decidi di utilizzare politiche predefinite o personalizzate per la firma URLs

Quando si crea un documento firmatoURL, si scrive una dichiarazione politica in un JSON formato che specifica le restrizioni relative alla firmaURL, ad esempio per quanto tempo URL è valida. Puoi utilizzare una policy predefinita o una personalizzata. Di seguito sono riportate le differenze tra policy predefinite e personalizzate:

Descrizione Policy predefinita Policy personalizzata

Puoi riutilizzare la dichiarazione di policy per più file. Per riutilizzare la dichiarazione di policy, devi utilizzare caratteri jolly nell'oggetto Resource. Per ulteriori informazioni, consulta Valori specificati nella dichiarazione politica per un firmatario che utilizza un criterio personalizzato URL.)

No

Puoi specificare la data e l'ora in cui gli utenti possono iniziare ad accedere al tuo contenuto.

No

Sì (facoltativo)

Puoi specificare la data e l'ora in cui gli utenti non possono più accedere al tuo contenuto.

Puoi specificare l'indirizzo IP o l'intervallo di indirizzi IP degli utenti che possono accedere al tuo contenuto.

No

Sì (facoltativo)

The signed URL include una versione della policy con codifica Base64, che ne risulta una più lunga. URL

No

Per informazioni sulla creazione di una policy firmata URLs utilizzando una policy predefinita, consulta. Crea una politica firmata URL utilizzando una politica predefinita

Per informazioni sulla creazione di una politica firmata URLs utilizzando una politica personalizzata, vedereCrea una firma utilizzando una politica personalizzata URL.

Come funzionano i URLs firmatari

Ecco una panoramica di come CloudFront configuri Amazon S3 for signed URLs e di come CloudFront risponde quando un utente usa un account firmato URL per richiedere un file.

  1. Nella tua CloudFront distribuzione, specifica uno o più gruppi di chiavi affidabili, che contengono le chiavi pubbliche che CloudFront possono essere utilizzate per verificare la URL firma. Si utilizzano le chiavi private corrispondenti per firmare ilURLs.

    Per ulteriori informazioni, consulta Specificate i firmatari che possono creare cookie firmati e firmati URLs.

  2. Sviluppate la vostra applicazione per determinare se un utente debba avere accesso ai vostri contenuti e createla con firma firmata URLs per i file o le parti dell'applicazione a cui desiderate limitare l'accesso. Per ulteriori informazioni, consulta i seguenti argomenti:

  3. Un utente richiede la firma di un file per il quale si desidera richiedere la firmaURLs.

  4. La tua applicazione verifica che l'utente è autorizzato ad accedere al file: ha eseguito l'accesso, ha pagato per accedere al contenuto o ha soddisfatto altri requisiti per l'accesso.

  5. L'applicazione crea e restituisce un messaggio firmato URL all'utente.

  6. La firma URL consente all'utente di scaricare o trasmettere il contenuto in streaming.

    Questa fase è automatica; l'utente in genere non deve eseguire ulteriori operazioni per accedere al contenuto. Ad esempio, se un utente accede ai tuoi contenuti in un browser Web, l'applicazione restituisce il file firmato URL al browser. Il browser utilizza immediatamente il file firmato URL per accedere al file nella cache CloudFront edge senza alcun intervento da parte dell'utente.

  7. CloudFront utilizza la chiave pubblica per convalidare la firma e confermare che URL non sia stata manomessa. Se la firma non è valida, la richiesta viene respinta.

    Se la firma è valida, CloudFront esamina la dichiarazione politica contenuta in URL (o ne costruisce una se utilizzi una politica predefinita) per confermare che la richiesta è ancora valida. Ad esempio, se hai specificato una data e un'ora di inizio e di fine perURL, CloudFront conferma che l'utente sta tentando di accedere ai tuoi contenuti durante il periodo di tempo in cui desideri consentire l'accesso.

    Se la richiesta soddisfa i requisiti dell'informativa, CloudFront esegue le operazioni standard: determina se il file è già presente nella cache edge, inoltra la richiesta all'origine se necessario e restituisce il file all'utente.

Nota

Se un documento non firmato URL contiene parametri di stringa di query, assicurati di includerli nella parte della stringa URL che firmi. Se aggiungi una stringa di query a un segno URL dopo averlo firmato, URL restituisce lo stato HTTP 403.

Decidi per quanto tempo i firmati URLs sono validi

Puoi distribuire contenuti privati utilizzando un documento firmato URL valido solo per un breve periodo, possibilmente per pochi minuti. I contenuti URLs firmati e validi per un periodo così breve sono utili per distribuire contenuti on-the-fly a un utente per uno scopo specifico, ad esempio la distribuzione di film a noleggio o di musica scaricata ai clienti su richiesta. Se i file firmati URLs saranno validi solo per un breve periodo, probabilmente vorrai generarli automaticamente utilizzando un'applicazione sviluppata da te. Quando l'utente inizia a scaricare un file o inizia a riprodurre un file multimediale, CloudFront confronta l'ora di scadenza indicata in URL con l'ora corrente per determinare se URL è ancora valida.

È inoltre possibile distribuire contenuti privati utilizzando un documento firmato URL valido per un periodo di tempo più lungo, possibilmente per anni. I contenuti URLs firmati e validi per un periodo più lungo sono utili per distribuire contenuti privati a utenti noti, ad esempio per distribuire un piano aziendale agli investitori o distribuire materiali di formazione ai dipendenti. Puoi sviluppare un'applicazione per generare questi messaggi firmati a lungo termine per te. URLs

When CloudFront controlla la data e l'ora di scadenza in un documento firmato URL

CloudFront verifica la data e l'ora di scadenza in un URL messaggio firmato al momento della HTTP richiesta. Se un client inizia a scaricare un file di grandi dimensioni immediatamente prima della scadenza, il download viene completato anche se la scadenza avviene durante il download. Se la TCP connessione si interrompe e il client tenta di riavviare il download dopo la scadenza, il download avrà esito negativo.

Se un client utilizza Range GETs per recuperare un file in parti più piccole, qualsiasi GET richiesta che si verifica dopo la scadenza del tempo di scadenza avrà esito negativo. Per ulteriori informazioni su RangeGETs, vedereCome CloudFront elabora le richieste parziali per un oggetto (intervalloGETs).

Codice di esempio e strumenti di terza parte.

Per un esempio di codice che crea la parte con hash e firma di signedURLs, consulta i seguenti argomenti: