Utilizza URL firmati - 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à.

Utilizza URL firmati

Un URL firmato include ulteriori informazioni, ad esempio, una data e un'ora di scadenza, che offrono un maggiore controllo sull'accesso al tuo contenuto. 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 creare alcuni URL firmati utilizzando policy predefinite e creare alcuni URL firmati utilizzando policy personalizzati per la stessa distribuzione.

Decidi di utilizzare politiche predefinite o personalizzate per gli URL firmati

Quando crei un URL firmato, scrivi una dichiarazione di policy in formato JSON che specifica le restrizioni sull'URL firmato, ad esempio, il periodo di validità dell'URL. 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 da specificare in una dichiarazione di policy per un URL firmato che utilizza una policy personalizzata.)

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)

L'URL firmato include una versione con codifica base64 della policy, che risulta in un URL più lungo.

No

Per informazioni sulla creazione di URL firmati utilizzando una policy predefinita, consulta Crea un URL firmato utilizzando una politica predefinita.

Per informazioni sulla creazione di URL firmati utilizzando una policy personalizzata, consulta Crea un URL firmato utilizzando una politica personalizzata.

Funzionamento di URL firmati

Ecco una panoramica di come CloudFront configuri Amazon S3 per gli URL firmati e di come CloudFront risponde quando un utente utilizza un URL firmato per richiedere un file.

  1. Nella tua CloudFront distribuzione, specifica uno o più gruppi di chiavi affidabili, che contengono le chiavi pubbliche da utilizzare per verificare la firma dell'URL. CloudFront Puoi utilizzare le chiavi private corrispondenti per firmare gli URL.

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

  2. Sviluppa la tua applicazione per determinare se un utente deve avere accesso al tuo contenuto e per creare URL firmati per i file o parti della tua applicazione a cui intendi limitare l'accesso. Per ulteriori informazioni, consultare i seguenti argomenti:

  3. Un utente richiede un file per il quale sono necessari URL firmati.

  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. La tua applicazione crea e restituisce un URL firmato all'utente.

  6. L'URL firmato consente all'utente di scaricare o riprodurre in streaming il contenuto.

    Questa fase è automatica; l'utente in genere non deve eseguire ulteriori operazioni per accedere al contenuto. Ad esempio, se un utente accede al tuo contenuto in un browser Web, l'applicazione restituisce l'URL firmato al browser. Il browser utilizza immediatamente l'URL firmato 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 l'URL non è stato manomesso. Se la firma non è valida, la richiesta viene respinta.

    Se la firma è valida, CloudFront esamina l'informativa nell'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 per l'URL, 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 URL non firmato contiene parametri di stringa di query, assicurati di includerli nella parte dell'URL che firmi. Se aggiungi una stringa di query a un URL firmato dopo la sua creazione, l'URL restituisce uno stato HTTP 403.

Decidi per quanto tempo gli URL firmati sono validi

Puoi distribuire contenuto privato utilizzando un URL firmato valido soltanto per un breve periodo di tempo, anche di pochi minuti. Gli URL firmati validi per un periodo così breve sono utili per distribuire contenuti on-the-fly a un utente per uno scopo specifico, come la distribuzione di film a noleggio o download di musica ai clienti su richiesta. Se gli URL firmati saranno validi per soltanto un breve periodo di tempo, vorrai probabilmente generarli automaticamente utilizzando un'applicazione che sviluppi. Quando l'utente inizia a scaricare un file o inizia a riprodurre un file multimediale, CloudFront confronta la data di scadenza dell'URL con l'ora corrente per determinare se l'URL è ancora valido.

Puoi anche distribuire contenuto privato utilizzando un URL firmato valido per un periodo di tempo più lungo, anche di vari anni. Gli URL firmati validi per un periodo di tempo più lungo sono utili per la distribuzione di contenuto privato a utenti noti, ad esempio la distribuzione di un piano aziendale a investitori o distribuzione di materiali per la formazione a dipendenti. Puoi sviluppare un'applicazione per generare questi URL firmati a lungo termine per te.

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

CloudFront controlla la data e l'ora di scadenza in un URL firmato al momento della richiesta HTTP. 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 connessione TCP viene interrotta e il client tenta di riavviare il download dopo la scadenza, il download non riesce.

Se un client utilizza Range GET per ottenere un file in parti più piccole, qualsiasi richiesta GET che si verifica dopo la scadenza non riuscirà. Per ulteriori informazioni sulle richieste Range GET, consulta Come CloudFront elabora le richieste parziali per un oggetto (range GETs).

Codice di esempio e strumenti di terza parte.

Per il codice di esempio che crea la parte con hash e firma di URL firmati, consulta i seguenti argomenti: