Limitazione dell’accesso ai file - Amazon CloudFront

Limitazione dell’accesso ai file

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.

Per firmare URL o cookie, è necessario utilizzare le chiavi private RSA 2048 o ECDSA 256.

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 la distribuzione CloudFront specificata, 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:

  • Autorizza il controllo degli accessi origine CloudFront a leggere i file nel bucket S3.

  • Crea il controllo degli accessi origine e associalo alla tua distribuzione CloudFront.

  • 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 un’origine Amazon S3.

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 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 Protocollo (solo origini personalizzate).

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.