Impostazione delle autorizzazioni per l'accesso al sito Web - Amazon Simple Storage Service

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

Impostazione delle autorizzazioni per l'accesso al sito Web

Quando si configura un bucket come sito Web statico, se si desidera che il sito Web sia pubblico, è possibile concedere l'accesso per la lettura pubblica. Per consentire la lettura pubblica del bucket, occorre disabilitare le impostazioni di blocco dell'accesso pubblico al bucket e scrivere una policy del bucket che conceda l'accesso per la lettura pubblica. Se il bucket contiene oggetti che non appartengono al proprietario del bucket, potrebbe essere necessario aggiungere anche una lista di controllo degli accessi (ACL) dell'oggetto che concede a tutti l'accesso in lettura.

Se non vuoi disabilitare le impostazioni di blocco dell'accesso pubblico per il tuo bucket ma vuoi comunque che il tuo sito web sia pubblico, puoi creare una CloudFront distribuzione Amazon per servire il tuo sito web statico. Per ulteriori informazioni, consulta Velocizza il tuo sito Web con Amazon CloudFront o Usa una CloudFront distribuzione Amazon per servire un sito Web statico nella Amazon Route 53 Developer Guide.

Nota

Nell'endpoint del sito web, se un utente richiede un oggetto che non esiste, Amazon S3 restituisce un codice di risposta HTTP 404 (Not Found). Se l'oggetto esiste ma la relativa autorizzazione di lettura non è stata concessa, l'endpoint del sito Web restituisce un codice di risposta HTTP 403 (Access Denied). L'utente può utilizzare il codice di risposta per capire se esiste un oggetto specifico. Per evitare questo tipo di comportamento, il supporto di siti Web per il bucket non deve essere abilitato.

Fase 1: modifica delle impostazioni dell'accesso pubblico ai blocchi Amazon S3

Per configurare un bucket esistente come sito web statico con accesso pubblico, devi modificare le impostazioni di blocco dell'accesso pubblico per il bucket. Potrebbe anche essere necessario modificare le impostazioni di blocca dell'accesso pubblico a livello di account. Amazon S3 applica la combinazione più restrittiva di impostazioni blocco di accesso pubblico a livello di account e a livello di bucket.

Ad esempio, se consenti l'accesso pubblico per un bucket ma lo blocchi a livello dell'account, Amazon S3 continuerà a bloccare l'accesso pubblico al bucket. In questo scenario, sarà necessario modificare le impostazioni di blocco dell'accesso pubblico a livello di bucket e di account. Per ulteriori informazioni, consulta Blocco dell'accesso pubblico allo storage Amazon S3.

Per impostazione predefinita, Amazon S3 blocca l'accesso pubblico all'account e ai bucket. Per utilizzare un bucket per ospitare un sito Web statico, puoi seguire questa procedura per modificare le impostazioni di blocco dell'accesso pubblico:

avvertimento

Prima di completare questa fase, consulta Blocco dell'accesso pubblico allo storage Amazon S3 per confermare di avere compreso e accettato i rischi connessi alla concessione di un accesso pubblico. Quando si disattivano le impostazioni di blocco dell'accesso pubblico per rendere pubblico il bucket, chiunque su Internet può accedere al bucket. Consigliamo di bloccare tutti gli accessi pubblici ai bucket.

  1. Apri la console di Amazon S3 su https://console.aws.amazon.com/s3/.

  2. Seleziona il nome del bucket configurato come sito Web statico.

  3. Seleziona Autorizzazioni.

  4. In Blocca accesso pubblico (impostazioni bucket), seleziona Modifica.

  5. Deseleziona Blocca tutto l'accesso pubblico, quindi seleziona Salva modifiche.

    avvertimento

    Prima di completare questa fase, consulta Blocco dell'accesso pubblico allo storage Amazon S3 per confermare di avere compreso e accettato i rischi connessi alla concessione di un accesso pubblico. Quando si disattivano le impostazioni di blocco dell'accesso pubblico per rendere pubblico il bucket, chiunque su Internet può accedere al bucket. Consigliamo di bloccare tutti gli accessi pubblici ai bucket.

    Amazon S3 disattiva le impostazioni di blocco dell'accesso pubblico per il tuo bucket. Per creare un sito web pubblico statico, potrebbe essere necessario modificare anche le impostazioni di blocco dell'accesso pubblico per l'account prima di aggiungere una policy del bucket. Se le impostazioni dell'account per il blocco dell'accesso pubblico sono attualmente attivate, verrà visualizzata una nota in Blocca accesso pubblico (impostazioni bucket).

Fase 2: aggiunta di una policy del bucket

Per rendere gli oggetti nel bucket pubblicamente leggibili, devi scrivere una policy del bucket che conceda a tutti l'autorizzazione s3:GetObject.

Dopo aver modificato le impostazioni di blocco dell'accesso pubblico S3, è possibile aggiungere una policy del bucket per concedere l'accesso pubblico in lettura al bucket. Quando concedi l'accesso pubblico in lettura, chiunque su Internet può accedere al bucket.

Importante

La policy seguente è solo un esempio e consente l'accesso completo ai contenuti del bucket. Prima di continuare con questa fase, esamina l'argomento relativo a come proteggere i file nel bucket Amazon S3 per assicurarti di comprendere le best practice per la protezione dei file nel bucket S3 e i rischi connessi alla concessione dell'accesso pubblico .

  1. In Bucket, scegli il nome del bucket.

  2. Seleziona Autorizzazioni.

  3. In Policy del bucket, seleziona Modifica.

  4. Per concedere l'accesso in lettura pubblico al sito Web, copiare la policy del bucket seguente e incollarla in Editor della policy del bucket.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::Bucket-Name/*" ] } ] }
  5. Aggiorna Resource al tuo nome bucket.

    Nella policy del bucket dell'esempio precedente, Bucket-Name è un segnaposto per il nome del bucket. Per utilizzare questa policy di bucket con il proprio bucket, è necessario aggiornare il nome in modo che corrisponda al bucket.

  6. Seleziona Salva modifiche.

    Viene visualizzato un messaggio che indica che la policy del bucket è stata aggiunta correttamente.

    Se viene visualizzato l'errore Policy has invalid resource, conferma che il nome del bucket nella policy di bucket corrisponde al nome del bucket. Per informazioni sull'aggiunta di una policy del bucket, consulta In che modo aggiungere una policy del bucket S3?

    Se viene visualizzato un messaggio di errore e non è possibile salvare la policy di bucket, controlla le impostazioni di blocco dell'accesso pubblico all'account e al bucket per confermare che consenti l'accesso pubblico al bucket.

Liste di controllo accessi dell'oggetto

Puoi utilizzare una policy del bucket per concedere l'autorizzazione in lettura pubblica per gli oggetti. Tuttavia, la policy del bucket si applica solo agli oggetti appartenenti al proprietario del bucket. Se il bucket contiene oggetti che non appartengono al proprietario del bucket, quest'ultimo deve utilizzare la lista di controllo degli accessi (ACL) per concedere l'autorizzazione READ pubblica per tali oggetti.

S3 Proprietà dell'oggetto è un'impostazione a livello di bucket Amazon S3 che è possibile utilizzare per controllare la proprietà degli oggetti caricati nel bucket e per disabilitare o abilitare le liste di controllo degli accessi (ACL). Per impostazione predefinita, Proprietà dell'oggetto è impostata su Proprietario del bucket applicato e tutte le liste di controllo degli accessi (ACL) sono disabilitate. Quando le ACL sono disabilitate, il proprietario del bucket dispone di tutti gli oggetti nel bucket e gestisce l'accesso ad essi in maniera esclusiva utilizzando policy di gestione dell'accesso.

La maggior parte degli attuali casi d'uso in Amazon S3 non richiede più l'uso delle ACL. È consigliabile mantenere le ACL disabilitate, tranne nelle circostanze in cui è necessario controllare individualmente l'accesso per ciascun oggetto. Con le ACL disabilitate, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel bucket, a prescindere da chi ha caricato gli oggetti nel bucket. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Importante

Se il bucket utilizza l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto S3, è necessario utilizzare le policy per concedere l'accesso al bucket e agli oggetti in esso contenuti. Con l'impostazione Proprietario del bucket applicato abilitata, le richieste per impostare liste di controllo degli accessi (ACL) e aggiornare le ACL non vanno a buon fine e restituiscono il codice di errore AccessControlListNotSupported. Le richieste di lettura delle ACL sono ancora supportate.

Per rendere un oggetto pubblicamente leggibile mediante un ACL, occorre concedere l'autorizzazione READ al gruppo AllUsers, come illustrato nel seguente elemento "grant". Aggiungere questo elemento "grant" all'ACL dell'oggetto. Per informazioni sulla gestione delle ACL, consulta Panoramica delle liste di controllo accessi (ACL).

<Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant>