Come posso utilizzare il controllo degli accessi e l'autenticazione per limitare la distribuzione di contenuti per le distribuzioni di CloudFront?
Desidero limitare l'accesso ai contenuti nella mia distribuzione di Amazon CloudFront.
Breve descrizione
Per limitare l'accesso a contenuti privati in una distribuzione di CloudFront, utilizza URL firmati o cookie firmati.
Se richiedi solo l'autenticazione di base con nome utente e password, utilizza Lambda@Edge o Funzioni CloudFront per configurare l'autenticazione di base.
Per limitare l'accesso in base all'indirizzo IP o alla posizione geografica, configura CloudFront per consentire o bloccare le richieste.
Per configurare l'autenticazione sicura degli utenti con un provider di identità, utilizza Lambda@Edge per integrare CloudFront con OpenID Connect (OIDC).
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Utilizza URL firmati o cookie firmati
Gli URL firmati incorporano firme crittografate negli URL per fornire l'accesso temporaneo a singoli file. Utilizza gli URL firmati per proteggere l'accesso a risorse specifiche.
CloudFront invia cookie firmati ai client per consentire l'accesso a più file in un percorso. Utilizza i cookie firmati per un controllo degli accessi più ampio.
Nota: gli URL firmati e i cookie firmati utilizzano coppie di chiavi crittografiche create e associate alla distribuzione.
Per utilizzare URL firmati o cookie firmati, completa i seguenti passaggi:
Crea una coppia di chiavi
Crea una coppia di chiavi e caricala in CloudFront.
Crea un gruppo di chiavi attendibili
- Apri la console CloudFront.
- Nel pannello di navigazione, in Key management (Gestione delle chiavi), scegli Key groups (Gruppi di chiavi).
- Scegli Create key group (Crea gruppo di chiavi).
- In Name (Nome), inserisci un nome per il gruppo di chiavi.
- Per Public keys (Chiavi pubbliche), scegli una chiave.
- Scegli Create key group (Crea gruppo di chiavi).
**Configura la distribuzione **
Aggiorna la distribuzione per utilizzare il gruppo di chiavi attendibili per gli URL firmati o i cookie firmati. Per ulteriori informazioni sulla configurazione della distribuzione, consulta Impostazioni del comportamento della cache.
Genera URL firmati o cookie firmati
Per generare URL firmati, esegui questo comando AWS CLI sign:
aws cloudfront sign \ --url "https://your-distribution-domain.cloudfront.net/path/to/file.pdf" \ --key-pair-id "YOUR_KEY_PAIR_ID" \ --private-key file://path/to/your/private-key.pem \ --date-less-than "2024-12-31T23:59:59"
Per opzioni aggiuntive come le restrizioni IP, consulta Options (Opzioni) nel Riferimento ai comandi AWS CLI.
Nota: puoi anche creare URL firmati per strumenti di terze parti.
Per generare cookie firmati, utilizza un AWS SDK per il linguaggio in uso. Per esempi di codice, consulta Crea cookie firmati utilizzando PHP e Creare URL e cookie firmati utilizzando un AWS SDK.
Utilizza gli URL firmati o i cookie firmati
Includi gli URL firmati o i cookie firmati nelle richieste a CloudFront.
Utilizza Lambda@Edge per configurare l'autenticazione di base
Nota: devi creare un codice personalizzato per utilizzare Lambda@Edge per implementare la logica di autenticazione.
Completa i seguenti passaggi:
- Crea una funzione AWS Lambda per gestire l'autenticazione per le richieste dei visualizzatori.
- Nel codice della funzione, ispeziona le intestazioni delle richiesta, convalida le credenziali e consenti o nega la richiesta. Per un esempio di funzione, consulta Esempio: reindirizzare gli utenti non autenticati a una pagina di accesso.
- Utilizza i trigger per associare la funzione al comportamento della distribuzione.
Utilizza CloudFront Functions per configurare l'autenticazione di base
Nota: devi creare un codice personalizzato per utilizzare Funzioni CloudFront per implementare la logica di autenticazione.
Completa i seguenti passaggi:
- Crea una funzione CloudFront per autenticare le richieste dei visualizzatori.
- Nel codice della funzione, ispeziona le intestazioni, convalida le credenziali e consenti o nega le richieste. Per un esempio di funzione, consulta Convalida un token semplice nella richiesta di un visualizzatore di Funzioni CloudFront.
- Associa la funzione al comportamento della distribuzione.
Configura CloudFront per consentire o bloccare le richieste in base all'indirizzo IP o alla posizione geografica del client
Esegui una di queste azioni:
- Per creare restrizioni basate sul controllo degli accessi IP, definisci le liste di indirizzi IP consentiti e bloccati per la distribuzione utilizzando AWS WAF.
- Per creare restrizioni basate sulla posizione geografica, limita l'accesso ai contenuti in base al paese da cui provengono le richieste.
Nota: la restrizione imposta da AWS WAF o basata sulla posizione geografica si applica solamente al livello di distribuzione, non al comportamento della cache.
Utilizza Lambda@Edge per integrare CloudFront con OIDC
Nota: per l'integrazione, devi implementare il flusso di autenticazione OIDC nell'applicazione e ottenere un token ID da includere nelle richieste a CloudFront.
Completa i seguenti passaggi:
- Crea una funzione Lambda per convalidare il token ID di OIDC nelle richieste dei visualizzatori.
- Nel codice della funzione, ispeziona l'intestazione dell'autorizzazione, convalida il token ID e consenti o blocca la richiesta.
- Associa la funzione al comportamento della distribuzione.
Informazioni correlate
Authorization@Edge – How to Use Lambda@Edge and JSON Web Tokens to Enhance Web Application Security (Authorization@Edge: come utilizzare i token web di Lambda@Edge e JSON per migliorare la sicurezza delle applicazioni web)
External Server Authorization with Lambda@Edge (Autorizzazione dei server esterni con Lambda @Edge)
Securing CloudFront Distributions using OpenID Connect and AWS Secrets Manager (Protezione delle distribuzioni di CloudFront utilizzando OpenID Connect e AWS Secrets Manager)
- Argomenti
- Networking & Content Delivery
- Lingua
- Italiano

Contenuto pertinente
AWS UFFICIALEAggiornata 5 mesi fa