Configurazione delle ACL
Questa sezione descrive come gestire le autorizzazioni di accesso per bucket e oggetti S3 tramite le liste di controllo accessi (ACL). Puoi aggiungere privilegi all'ACL della risorsa utilizzando la Console di gestione AWS, la AWS Command Line Interface (CLI), la REST API o gli SDK AWS.
Le autorizzazioni per il bucket e gli oggetti sono indipendenti l'una dall'altra. Un oggetto non eredita le autorizzazioni dal bucket a cui appartiene. Se ad esempio si crea un bucket e si concede l'accesso in scrittura a un utente, non sarà possibile accedere agli oggetti di tale utente a meno che questi non conceda esplicitamente l'accesso.
Puoi concedere autorizzazioni ad altri utenti di Account AWS o a gruppi di default. L'utente o il gruppo a cui si concedono le autorizzazioni è denominato assegnatario. Per default, il proprietario, ossia l'Account AWS che ha creato il bucket, dispone di tutte le autorizzazioni.
Ogni autorizzazione concessa a un utente o a un gruppo aggiunge una voce all'ACL associata al bucket. Nell'ACL sono elencate le assegnazioni, che identificano l'assegnatario e l'autorizzazione concessa.
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 per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.
avvertimento
È consigliabile evitare di concedere l'accesso in scrittura ai gruppi Everyone (accesso pubblico) o Authenticated Users (tutti gli utenti AWS autenticati). Per maggiori informazioni sugli effetti della concessione dell'accesso in scrittura a questi gruppi, consulta Gruppi predefiniti di Amazon S3.
La console visualizza le concessioni di accesso combinate per gli assegnatari duplicati. Per visualizzare l'elenco completo delle ACL, utilizza REST API di Amazon S3, la AWS CLI oppure gli SDK AWS.
Nella tabella seguente vengono illustrate le autorizzazioni ACL che è possibile configurare per i bucket nella console di Amazon S3.
| Autorizzazione console | Autorizzazione ACL | Accesso |
|---|---|---|
| Oggetti – Elenco | READ |
Consente all'assegnatario di elencare gli oggetti del bucket. |
| Oggetti - Scrittura | WRITE |
Consente all'assegnatario di creare nuovi oggetti del bucket. Per i proprietari di bucket e oggetti di oggetti esistenti, consente anche di eliminare e sovrascrivere tali oggetti. |
| ACL del bucket – Lettura | READ_ACP |
Consente all'assegnatario di leggere l'ACL del bucket. |
| ACL del bucket – Scrittura | WRITE_ACP |
Consente all'assegnatario di scrivere l'ACL del bucket interessato. |
| Everyone (Tutti) (accesso pubblico): Oggetti - Elenco | READ |
Concede l'accesso pubblico in lettura per gli oggetti nel bucket. Quando si concede l'accesso all'elenco a Everyone (Tutti) (accesso pubblico), chiunque al mondo può accedere agli oggetti nel bucket. |
| Everyone (Tutti) (accesso pubblico): ACL del bucket - Lettura | READ_ACP |
Concede l'accesso pubblico in lettura per l'ACL del bucket. Quando si concede l'accesso in lettura a Everyone (Tutti) (accesso pubblico), chiunque al mondo può accedere all'ACL del bucket. |
Per ulteriori informazioni sulle autorizzazioni ACL, consulta Panoramica delle liste di controllo accessi (ACL).
Importante
Se il bucket per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.
Come impostare le autorizzazioni ACL per un bucket
Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/
. -
Nel riquadro di navigazione sinistro, scegli Bucket per uso generico.
-
Nell'elenco Buckets (Bucket) scegliere il nome del bucket per cui impostare le autorizzazioni.
-
Seleziona Autorizzazioni.
-
In Lista di controllo degli accessi (ACL), seleziona Modifica.
Puoi modificare le seguenti autorizzazioni ACL per il bucket:
Oggetti
-
List: consente all'assegnatario di elencare gli oggetti nel bucket.
-
Scrittura – Consente all'assegnatario di creare nuovi oggetti nel bucket. Per i proprietari di bucket e oggetti di oggetti esistenti, consente anche di eliminare e sovrascrivere tali oggetti.
Nella console S3, puoi concedere l'accesso in scrittura solo al gruppo di distribuzione dei log S3 e al proprietario del bucket (il tuo Account AWS). Ti consigliamo vivamente di non concedere l'accesso in scrittura ad altri utenti. Tuttavia, se è necessario concedere l'accesso in scrittura, puoi utilizzare la AWS CLI, gli SDK AWS o REST API.
ACL del bucket
-
Read: consente all'assegnatario di leggere l'ACL del bucket.
-
Write: consente all'assegnatario di scrivere l'ACL del bucket interessato.
-
-
Per modificare le autorizzazioni del proprietario del bucket, accanto a Proprietario del bucket (il tuo Account AWS), deseleziona o una delle seguenti autorizzazioni ACL:
-
Oggetti – Elenco o scrittura
-
ACL del bucket – Lettura o scrittura
Con il termine proprietario si intende Utente root dell'account AWS e non un utente AWS Identity and Access Management (IAM). Per ulteriori informazioni sull'utente root, consulta Utente root dell'account AWS nella Guida per l'utente di IAM.
-
-
Per concedere o annullare le autorizzazioni per il pubblico generale (tutti su Internet), accanto a Tutti (accesso pubblico), deseleziona o seleziona una delle seguenti autorizzazioni ACL:
-
Oggetti – Elenco
-
ACL del bucket – Lettura
avvertimento
Prestare attenzione nel concedere l'accesso pubblico al bucket S3 al gruppo Everyone (Tutti). Quando si concede l'accesso a questo gruppo, qualsiasi persona al mondo può accedere al bucket. Si consiglia di non concedere mai alcun tipo di accesso in scrittura pubblico al bucket S3.
-
-
Per concedere o annullare le autorizzazioni per chiunque disponga di un Account AWS, accanto a Gruppo di utenti autenticati (chiunque abbia un Account AWS), deseleziona o seleziona una delle seguenti autorizzazioni ACL:
-
Oggetti – Elenco
-
ACL del bucket – Lettura
-
-
Per concedere o annullare le autorizzazioni per Amazon S3 a scrivere i log di accesso al server nel bucket, in gruppo di recapito log S3 deseleziona o seleziona una delle seguenti autorizzazioni ACL:
-
Oggetti – Elenco o scrittura
-
ACL del bucket – Lettura o scrittura
Se un bucket è configurato come bucket target per la ricezione dei log di accesso, le autorizzazioni del bucket devono permettere al gruppo Log Delivery (Distribuzione log) l'accesso in scrittura al bucket. Quando si abilita la registrazione degli accessi al server in un bucket, la console di Amazon S3 concede l'accesso in scrittura al gruppo Log Delivery (Distribuzione log) per il bucket di destinazione scelto per la ricezione dei log. Per ulteriori informazioni sulla registrazione degli accessi al server, consulta Abilitazione della registrazione degli accessi al server Amazon S3.
-
-
Per concedere l'accesso a un altro Account AWS, effettua le seguenti operazioni:
-
Scegli Aggiungi assegnatario.
-
Nella casella Assegnatario, inserisci l'ID canonico dell'altro Account AWS.
-
Seleziona una delle seguenti autorizzazioni ACL:
-
Oggetti – Elenco o scrittura
-
ACL del bucket – Lettura o scrittura
-
avvertimento
Quando concedi l'accesso alle tue risorse ad altri Account AWS, tieni presente che tutti gli Account AWS possono delegare le autorizzazioni agli utenti sotto i loro account. Questa operazione è nota con il nome di accesso multiaccount. Per informazioni sull'utilizzo dell'accesso multiaccount, consulta Creazione di un ruolo per delegare le autorizzazioni a un utente IAM nella Guida per l'utente di IAM.
-
-
Per rimuovere l'accesso a un altro Account AWS, in Accesso ad altri Account AWS scegli Rimuovi.
-
Per salvare le modifiche, scegliere Save changes (Salva modifiche).
La console visualizza le concessioni di accesso combinate per gli assegnatari duplicati. Per visualizzare l'elenco completo delle ACL, utilizza REST API di Amazon S3, la AWS CLI oppure gli SDK AWS. Nella tabella seguente vengono illustrate le autorizzazioni ACL che è possibile configurare per gli oggetti nella console di Amazon S3.
| Autorizzazione console | Autorizzazione ACL | Accesso |
|---|---|---|
| Oggetto - Lettura | READ |
Consente all'assegnatario di leggere i dati dell'oggetto e i relativi metadati. |
| ACL dell'oggetto - Lettura | READ_ACP |
Consente all'assegnatario di leggere l'ACL dell'oggetto. |
| ACL dell'oggetto - Scrittura | WRITE_ACP |
Consente all'assegnatario di scrivere l'ACL dell'oggetto interessato |
Per ulteriori informazioni sulle autorizzazioni ACL, consulta Panoramica delle liste di controllo accessi (ACL).
Importante
Se il bucket per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.
Come impostare le autorizzazioni ACL per un oggetto
Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/
. -
Nell'elenco Buckets (Bucket) scegliere il nome del bucket contenente l'oggetto.
-
Nell'elenco Oggetti, scegli il nome dell'oggetto per il quale si desidera impostare le autorizzazioni.
-
Seleziona Autorizzazioni.
-
In Lista di controllo degli accessi (ACL), seleziona Modifica.
Puoi modificare le seguenti autorizzazioni ACL per l'oggetto:
Oggetto
-
Read: consente all'assegnatario di leggere i dati dell'oggetto e i relativi metadati.
ACL dell'oggetto
-
Read: consente all'assegnatario di leggere l'ACL dell'oggetto.
-
Write: consente all'assegnatario di scrivere l'ACL per l'oggetto interessato. Nella console S3, puoi concedere l'accesso in scrittura solo al proprietario del bucket (il tuo Account AWS). Ti consigliamo vivamente di non concedere l'accesso in scrittura ad altri utenti. Tuttavia, se è necessario concedere l'accesso in scrittura, puoi utilizzare la AWS CLI, gli SDK AWS o REST API.
-
-
È possibile gestire le autorizzazioni di accesso all'oggetto per i seguenti tipi di accesso:
-
Accesso per il proprietario dell'oggetto
Con il termine proprietario si intende Utente root dell'account AWS e non un utente AWS Identity and Access Management (IAM). Per ulteriori informazioni sull'utente root, consulta Utente root dell'account AWS nella Guida per l'utente di IAM.
Per modificare le autorizzazioni di accesso dell'oggetto del proprietario, in Accesso per il proprietario dell'oggetto scegli Il tuo account AWS (proprietario).
Selezionare le caselle di controllo per le autorizzazioni da modificare, quindi selezionare Save (Salva).
-
Accesso per altri Account AWS
Per concedere le autorizzazioni a un utente AWS da un Account AWS diverso, in Accesso per altri Account AWS, scegli Aggiungi account. Nel campo Inserisci un ID, inserisci l'ID canonico dell'utente AWS a cui si desidera concedere le autorizzazioni per l'oggetto. Per informazioni su come trovare un ID canonico, consultare la pagina relativa agli identificatori di Account AWS nella Riferimenti generali di Amazon Web Services. È possibile aggiungere fino a 99 utenti.
Selezionare le caselle di controllo relative alle autorizzazioni da concedere all'utente, quindi selezionare Save (Salva). Per visualizzare informazioni sulle autorizzazioni, scegliere le icone della Guida in linea.
-
Accesso pubblico
Per concedere al pubblico (chiunque al mondo) l'accesso all'oggetto, in Public access (Accesso pubblico) scegliere Everyone (Tutti). La concessione delle autorizzazioni di accesso pubblico consente a chiunque di accedere all'oggetto.
Selezionare le caselle di controllo per le autorizzazioni da concedere, quindi selezionare Save (Salva).
avvertimento
-
Prestare attenzione quando si concede al gruppo Everyone (Tutti) l'accesso anonimo agli oggetti Amazon S3. Quando si concede l'accesso a questo gruppo, qualsiasi persona al mondo può accedere all'oggetto. Se è necessario concedere l'accesso a chiunque, è vivamente consigliato farlo solo per autorizzazioni di tipo Read objects (Leggi oggetti).
-
È vivamente sconsigliato autorizzare il gruppo Everyone (Tutti) alla scrittura dell'oggetto, perché questo consentirebbe a chiunque di sovrascrivere le autorizzazioni ACL per l'oggetto.
-
-
Questa sezione fornisce esempi di come configurare le autorizzazioni relative alla lista di controllo degli accessi (ACL) per i bucket e gli oggetti.
Importante
Se il bucket per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.
Le API Amazon S3 permettono di impostare una lista ACL durante la creazione di un bucket o di un oggetto. Amazon S3 fornisce anche un'API per impostare una lista ACL in un bucket o un oggetto esistente. Queste API forniscono i metodi seguenti per impostare un'ACL:
-
Impostazione della lista ACL tramite le intestazioni della richiesta – Quando invii una richiesta per creare una risorsa (bucket o oggetto), imposti una lista ACL utilizzando le intestazioni della richiesta. Tramite queste intestazioni, si può specificare o un'ACL predefinita oppure si possono indicare esplicitamente le concessioni (identificando assegnatario e autorizzazioni in modo esplicito).
-
Impostazione della lista ACL tramite il corpo della richiesta – Quando invii una richiesta per impostare una lista ACL per una risorsa esistente, puoi impostare la lista ACL o nell'intestazione o nel corpo della richiesta.
Per informazioni sul supporto di REST API per la gestione delle liste ACL, consulta le sezioni seguenti nella Documentazione di riferimento delle API di Amazon Simple Storage Service:
Importante
Se il bucket per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.
Intestazioni di richiesta specifiche della lista di controllo degli accessi (ACL)
È possibile utilizzare le intestazioni per concedere le autorizzazioni basate sulla lista di controllo degli accessi (ACL). Per impostazione predefinita, tutti gli oggetti sono privati. Solo il proprietario ha il controllo completo dell'accesso. Quando aggiungi un nuovo oggetto, puoi concedere le autorizzazioni a singoli Account AWS o a gruppi predefiniti di Amazon S3. Queste autorizzazioni vengono quindi aggiunte alla lista di controllo degli accessi (ACL) sull'oggetto. Per ulteriori informazioni, consulta Panoramica delle liste di controllo accessi (ACL).
Con questa operazione, puoi concedere le autorizzazioni di accesso utilizzando uno dei due metodi seguenti:
-
ACL predefinita (
x-amz-acl) - Amazon S3 supporta un set di ACL predefinite, note come ACL predefinite. Ogni ACL predefinita ha un insieme predefinito di assegnatari e autorizzazioni. Per ulteriori informazioni, consulta ACL predefinita. -
Autorizzazioni di accesso: per concedere esplicitamente le autorizzazioni di accesso a specifici account o gruppi Account AWS, utilizza le intestazioni seguenti. Ogni intestazione esegue il mapping di autorizzazioni specifiche supportate da Amazon S3 in un'ACL. Per ulteriori informazioni, consulta Panoramica delle liste di controllo accessi (ACL). Nell'intestazione, specifica un elenco di assegnatari che ottengono l'autorizzazione specifica.
-
x-amz-grant-read
-
x-amz-grant-write
-
x-amz-grant-read-acp
-
x-amz-grant-write-acp
-
x-amz-grant-full control
-
Per ulteriori informazioni sulla gestione delle ACL tramite la AWS CLI, consulta la sezione put-bucket-acl
Importante
Se il bucket per uso generico utilizza l’impostazione Proprietario del bucket applicato per Proprietà dell’oggetto S3, è necessario utilizzare le policy per fornire l’accesso al bucket per uso generico 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.