Panoramica di distribuzione di contenuti privati - Amazon CloudFront

Panoramica di distribuzione di contenuti privati

Puoi controllare l'accesso degli utenti ai tuoi contenuti privati in due modi:

Limitazione dell'accesso ai file nelle cache CloudFront

Puoi configurare CloudFront in modo da autorizzare gli utenti ad accedere ai tuoi oggetti solo mediante URL firmati o cookie firmati. In seguito, puoi sviluppare la tua applicazione per creare e distribuire URL firmati a utenti autenticati o per inviare intestazioni Set-Cookie che definiscono cookie firmati per gli utenti autenticati (per offrire ad alcuni utenti accesso a lungo termine a un numero ridotto di file, puoi anche creare URL firmati manualmente).

Quando crei URL o cookie firmati per controllare l'accesso ai tuoi file, puoi specificare le seguenti restrizioni:

  • Una data e un'ora di fine, dopo le quali l'URL non è più valido.

  • (Facoltativo) La data e l'ora in cui l'URL diventa valido.

  • (Facoltativo) L'indirizzo IP o l'intervallo di indirizzi dei computer che possono essere utilizzati per accedere al tuo contenuto.

Una parte di un URL o di un cookie firmato viene sottoposta a hashing e firmata utilizzando la chiave privata di una coppia di chiavi pubblica/privata. Quando qualcuno utilizza un URL o un cookie firmato per accedere a un file, CloudFront confronta le parti firmate e non firmate dell'URL o del cookie. Se non corrispondono, CloudFront non serve il file.

È necessario utilizzare RSA-SHA1 per firmare URL o cookie. CloudFront non accetta altri algoritmi.

Limitazione dell'accesso ai file nei bucket Amazon S3

Facoltativamente, puoi proteggere il contenuto nel tuo bucket Amazon S3 in modo che gli utenti possano accedervi tramite CloudFront, ma non accedervi direttamente utilizzando gli URL di Amazon S3. In questo modo impedisci a chiunque di aggirare CloudFront e ottenere contenuti a cui desideri limitare l'accesso mediante URL di Amazon S3. Questa fase non è necessaria per utilizzare URL firmati, ma la consigliamo.

Per autorizzare gli utenti ad accedere ai contenuti tramite URL di CloudFront, procedi come segue:

  • Crea un utente CloudFront speciale chiamato identità di accesso origine e associalo alla tua distribuzione CloudFront.

  • Autorizza l'identità di accesso origine a leggere i file nel tuo bucket.

  • Sopprimi l'autorizzazione di leggere i file con URL di Amazon S3 per tutti gli altri utenti.

Per ulteriori informazioni, consulta Limitazione dell'accesso a contenuti Amazon S3 utilizzando un'identità di accesso origine.

Limitazione dell'accesso ai file su origini personalizzate

Se utilizzi un'origine personalizzata, puoi facoltativamente configurare le intestazioni personalizzate per limitare l'accesso. Affinché CloudFront possa ottenere i file da un'origine personalizzata, i file devono essere accessibili da CloudFront utilizzando una richiesta HTTP (o HTTPS) standard. Tuttavia, utilizzando intestazioni personalizzate, puoi limitare l'accesso ai contenuti per consentire agli utenti di accedervi solo tramite CloudFront, non direttamente. Questa fase non è necessaria per utilizzare URL firmati, ma la consigliamo.

Per richiedere agli utenti di accedere ai contenuti tramite CloudFront, modificare le seguenti impostazioni nelle distribuzioni CloudFront:

Origin Custom Headers (Intestazioni personalizzate origine)

Configura CloudFront per inoltrare intestazioni personalizzate all'origine Consulta Configurazione di CloudFront per aggiungere intestazioni personalizzate alle richieste di origine.

Viewer Protocol Policy (Policy protocollo visualizzatore)

Configura la distribuzione in modo che i visualizzatori utilizzino HTTPS per accedere a CloudFront. Consulta Viewer Protocol Policy (Policy protocollo visualizzatore).

Origin Protocol Policy (Policy protocollo origine)

Configura la distribuzione affinché CloudFront utilizzi lo stesso protocollo dei visualizzatori per inoltrare richieste all'origine. Consulta Origin Protocol Policy (Policy protocollo origine).

Dopo aver apportato queste modifiche, aggiorna l'applicazione sull'origine personalizzata per accettare solo le richieste che includono le intestazioni personalizzate configurate per l'invio con CloudFront.

La combinazione della Policy del protocollo del visualizzatore e della Policy del protocollo di origine garantisce che le intestazioni personalizzate siano crittografate durante il transito. Tuttavia, ti consigliamo di eseguire periodicamente le seguenti operazioni per ruotare le intestazioni personalizzate che vengono inoltrate da CloudFront all'origine:

  1. Aggiorna la tua distribuzione CloudFront per iniziare l'inoltro di una nuova intestazione all'origine personalizzata.

  2. Aggiorna l'applicazione per accettare la nuova intestazione come conferma che la richiesta proviene da CloudFront.

  3. Quando le richieste non includono più l'intestazione che stai sostituendo, aggiorna l'applicazione per non accettare più l'intestazione precedente come conferma che la richiesta proviene da CloudFront.