Panoramica delle liste di controllo accessi (ACL)
Le liste di controllo accessi (ACL) di Amazon S3 permettono di gestire l'accesso ai bucket e agli oggetti. A ogni bucket e oggetto è associata una ACL come sottorisorsa. Essa definisce a quali Account AWS o gruppi è garantito l'accesso e il tipo di accesso. Quando viene ricevuta una richiesta relativa a una risorsa, Amazon S3 controlla la lista ACL corrispondente per verificare che il richiedente disponga delle autorizzazioni di accesso necessarie.
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.
Quando crei un bucket o un oggetto, Amazon S3 crea una lista ACL predefinita che concede al proprietario della risorsa il controllo completo su di essa. Questa situazione è illustrata nella seguente ACL del bucket di esempio (l'oggetto ACL predefinito ha la medesima struttura):
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>owner-display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
L'ACL di esempio include un elemento Owner che identifica il proprietario tramite l'ID utente canonico dell'Account AWS. Per istruzioni sulla ricerca dell'ID utente canonico, consulta Ricerca di un ID utente canonico di un Account AWS. L'elemento Grant identifica l'assegnatario (un Account AWS o un gruppo predefinito) e l'autorizzazione concessa. Questa ACL predefinita possiede un elemento Grant per il proprietario. Per concedere le autorizzazioni aggiungere elementi Grant; ognuno di questi elementi identifica l'assegnatario e l'autorizzazione.
Nota
Un ACL può avere fino a 100 di questi elementi.
Argomenti
Che cosa si intende per assegnatario?
Importante
Avviso di fine del supporto: a partire dal 1° ottobre 2025, Amazon S3 interromperà il supporto per la creazione di nuove liste di controllo degli accessi (ACL) degli assegnatari e-mail. Le ACL degli assegnatari e-mail create prima di questa data continueranno a funzionare e rimarranno accessibili tramite la Console di gestione AWS, l’interfaccia a riga di comando (CLI), gli SDK e la REST API. Tuttavia, non sarà più possibile creare nuove ACL degli assegnatari e-mail.
Tra il 15 luglio 2025 e il 1° ottobre 2025, inizierai a notare un aumento del tasso di errori HTTP 405 per le richieste ad Amazon S3 al tentativo di creare nuove ACL degli assegnatari e-mail.
Questa modifica riguarda le seguenti Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti occidentali (California settentrionale), Stati Uniti occidentali (Oregon), Asia Pacifico (Singapore), Asia Pacifico (Sydney), Asia Pacifico (Tokyo), Europa (Irlanda) e Sud America (San Paolo).
Un assegnatario può essere un Account AWS o uno dei gruppi Amazon S3 predefiniti. Per concedere un'autorizzazione a un Account AWS, si utilizza l'indirizzo e-mail o l'ID utente canonico. Se tuttavia specifichi un indirizzo e-mail nella richiesta di concessione, Amazon S3 recupera l'ID utente canonico di tale account e lo aggiunge alla lista ACL. Le ACL risultanti contengono sempre l'ID utente canonico dell'Account AWS e non l'indirizzo e-mail dell'Account AWS.
Quando si concedono i diritti di accesso, si specifica ogni assegnatario come coppia in cui type="value" è uno dei seguenti:type
id: se il valore specificato è l'ID utente canonico di un Account AWSuri: se si concedono autorizzazioni a un gruppo predefinitoemailAddress: se il valore specificato è l'indirizzo e-mail di un Account AWS
Importante
L'utilizzo di indirizzi e-mail per specificare un assegnatario è supportato soltanto nelle seguenti regioni AWS:
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti occidentali (California settentrionale)
-
Stati Uniti occidentali (Oregon)
-
Asia Pacifico (Singapore)
-
Asia Pacifico (Sydney)
-
Asia Pacifico (Tokyo)
-
Europa (Irlanda)
-
Sud America (San Paolo)
Per un elenco di tutti gli endpoint e le regioni Amazon S3 supportati, consultare Regioni ed endpoint in Riferimenti generali di Amazon Web Services.
Esempio: indirizzo e-mail
Ad esempio, l'intestazione x-amz-grant-read seguente concede agli Account AWS identificati dagli indirizzi e-mail le autorizzazioni per leggere i dati degli oggetti e i relativi metadati:
x-amz-grant-read: emailAddress="xyz@example.com", emailAddress="abc@example.com"
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.
Ricerca di un ID utente canonico di un Account AWS
L'ID utente canonico è associato al tuo Account AWS. Questo ID è una stringa di caratteri lunga, ad esempio:
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Per informazioni su come trovare l'ID utente canonico per l'account, consulta la sezione Trovare l'ID utente canonico per Account AWS nella Guida di riferimento per la gestione dell'account AWS.
Puoi inoltre cercare l'ID utente canonico di un Account AWS leggendo l'ACL di un bucket o di un oggetto per cui l'Account AWS dispone delle autorizzazioni di accesso. Quando si concedono autorizzazioni a un singolo Account AWS tramite una richiesta di concessione, una voce apposita viene aggiunta all'ACL con l'ID utente canonico dell'account.
Nota
Se rendi pubblico il bucket (non consigliato) qualsiasi utente non autenticato può caricare oggetti nel bucket. Questi utenti anonimi non dispongono di un Account AWS. Quando un utente anonimo carica un oggetto nel tuo bucket Amazon S3 aggiunge un ID utente canonico speciale (65a011a29cdf8ec533ec3d1ccaae921c) in quanto proprietario dell'oggetto nell'ACL. Per ulteriori informazioni, consulta Proprietà di bucket e oggetti di Amazon S3.
Gruppi predefiniti di Amazon S3
Amazon S3 include un set di gruppi predefiniti. Quando si concede l'accesso a un gruppo a livello di account, viene specificato uno degli URI Amazon S3 anziché un ID utente canonico. Amazon S3 fornisce i seguenti gruppi predefiniti:
-
Gruppo Authenticated Users – Rappresentato da
http://acs.amazonaws.com/groups/global/AuthenticatedUsers.Questo gruppo rappresenta tutti gli Account AWS. L'autorizzazione di accesso per questo gruppo consente a qualsiasi Account AWS di accedere alla risorsa. Tuttavia, tutte le richieste devono essere firmate (autenticate).
avvertimento
Quando si concede l'accesso al gruppo Utenti autenticati, qualsiasi utente autenticato AWS al mondo può accedere alla risorsa.
-
Gruppo All Users – Rappresentato da
http://acs.amazonaws.com/groups/global/AllUsers.L'autorizzazione di accesso per questo gruppo consente a qualsiasi persona al mondo di accedere alla risorsa. Le richieste possono essere firmate (autenticate) o non firmate (anonime). Le richieste non firmate mancano dell'intestazione di autenticazione.
avvertimento
È vivamente consigliato non concedere mai al gruppo All Users autorizzazioni
WRITE,WRITE_ACPoFULL_CONTROL. Ad esempio, sebbene le autorizzazioniWRITEnon consentano ai non proprietari di sovrascrivere o eliminare oggetti esistenti, le autorizzazioniWRITEconsentono comunque a chiunque di archiviare oggetti nel bucket, i quali vengono fatturati. Per ulteriori dettagli su queste autorizzazioni, consulta la sezione Quali autorizzazioni è possibile concedere?. -
Gruppo Log Delivery – Rappresentato da
http://acs.amazonaws.com/groups/s3/LogDelivery.L'autorizzazione
WRITEper un bucket consente a questo gruppo di scriver log di credenziali d'accesso al server (consulta Registrazione delle richieste con registrazione dell'accesso al server) per il bucket.
Nota
Quando utilizzi le ACL, un assegnatario può essere un Account AWS o uno dei gruppi predefiniti di Amazon S3. Tuttavia, l'assegnatario non può essere un utente IAM. Per ulteriori informazioni sugli utenti AWS e sulle autorizzazioni in IAM, consulta Utilizzo di AWS Identity and Access Management.
Quali autorizzazioni è possibile concedere?
La seguente tabella elenca il set di autorizzazioni che Amazon S3 supporta in una lista ACL. L'insieme di autorizzazioni ACL è lo stesso per le ACL degli oggetti e dei bucket. Tuttavia, a seconda del contesto (bucket ACL o oggetto ACL), queste autorizzazioni si riferiscono a specifiche operazioni sui bucket o sugli oggetti. La tabella elenca le autorizzazioni e ne descrive il significato nel contesto degli oggetti e dei bucket.
Per ulteriori informazioni sulle autorizzazioni ACL nella console di Amazon S3, consulta Configurazione delle ACL.
| Autorizzazione | Concessione a livello di bucket | Concessione a livello di oggetto |
|---|---|---|
READ |
Consente all'assegnatario di elencare gli oggetti del bucket | Consente all'assegnatario di leggere i dati dell'oggetto e i relativi metadata |
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. | Non applicabile. |
READ_ACP |
Consente all'assegnatario di leggere l'ACL del bucket | Consente all'assegnatario di leggere l'ACL dell'oggetto |
WRITE_ACP |
Consente all'assegnatario di scrivere l'ACL del bucket interessato | Consente all'assegnatario di scrivere l'ACL dell'oggetto interessato |
FULL_CONTROL |
Consente al beneficiario le autorizzazioni READ, WRITE, READ_ACP e WRITE_ACP sul bucket |
Consente al beneficiario le autorizzazioni READ, READ_ACP e WRITE_ACP sull'oggetto |
avvertimento
Prestare attenzione a concedere le autorizzazioni di accesso ai bucket e agli oggetti S3. Ad esempio, la concessione dell'accesso WRITE a un bucket consente all'assegnatario di creare oggetti nel bucket. È vivamente consigliato di leggere tutta questa sezione Panoramica delle liste di controllo accessi (ACL) prima di concedere autorizzazioni.
Mappatura delle autorizzazioni ACL e delle autorizzazioni della policy di accesso
Come illustrato nella tabella precedente, un'ACL concede solo un insieme finito di autorizzazioni rispetto al numero di autorizzazioni che possono essere definite in una policy d'accesso predefinita (consulta Azioni di policy per Amazon S3). Ognuna di queste autorizzazioni permette di eseguire una o più operazioni di Amazon S3.
La seguente tabella mostra come ogni autorizzazione ACL è mappata sulle autorizzazioni corrispondenti della policy d'accesso predefinita. Come si può vedere, la policy di accesso predefinita concede un numero maggiore di autorizzazioni rispetto all'ACL. Le ACL possono essere utilizzate principalmente per concedere autorizzazioni di base di lettura/scrittura, analogamente alle autorizzazioni sul file system. Per ulteriori informazioni su quando utilizzare una lista ACL, consulta Identity and Access Management per Amazon S3.
Per ulteriori informazioni sulle autorizzazioni ACL nella console di Amazon S3, consulta Configurazione delle ACL.
| Autorizzazione ACL | Autorizzazioni corrispondenti della policy d'accesso predefinita quando l'autorizzazione ACL viene concessa su un bucket | Autorizzazioni corrispondenti della policy d'accesso predefinita quando l'autorizzazione ACL viene concessa su un oggetto |
|---|---|---|
READ |
s3:ListBucket, s3:ListBucketVersions, e s3:ListBucketMultipartUploads |
s3:GetObject e s3:GetObjectVersion |
WRITE |
Il proprietario del bucket può creare, sovrascrivere ed eliminare qualsiasi oggetto nel bucket e il proprietario dell'oggetto ha Inoltre, quando l'assegnatario è il proprietario del bucket, la concessione dell'autorizzazione |
Non applicabile. |
READ_ACP |
s3:GetBucketAcl
|
s3:GetObjectAcl e s3:GetObjectVersionAcl |
WRITE_ACP |
s3:PutBucketAcl |
s3:PutObjectAcl e s3:PutObjectVersionAcl |
FULL_CONTROL |
Equivale alla concessione delle autorizzazioni ACL READ, WRITE, READ_ACP e WRITE_ACP. Di conseguenza, questa autorizzazione ACL è mappata su una combinazione delle autorizzazioni corrispondenti della policy d'accesso predefinita. |
Equivale alla concessione delle autorizzazioni ACL READ, READ_ACP e WRITE_ACP. Di conseguenza, questa autorizzazione ACL è mappata su una combinazione delle autorizzazioni corrispondenti della policy d'accesso predefinita. |
Chiavi di condizione
Quando si concedono autorizzazioni per le policy di accesso, è possibile utilizzare le chiavi di condizione per limitare il valore dell'ACL su un oggetto utilizzando una policy del bucket. Le chiavi di contesto riportate di seguito corrispondono alle ACL. È possibile utilizzare queste chiavi di contesto per richiedere l'utilizzo di un'ACL specifica in una richiesta:
s3:x-amz-grant-read– Richiedere l'accesso in lettura.s3:x-amz-grant-write– Richiedere l'accesso in scrittura.s3:x-amz-grant-read-acp– Richiedere l'accesso in lettura alla lista ACL del bucket.s3:x-amz-grant-write-acp‐ Richiedere l'accesso in scrittura alla lista ACL del bucket.s3:x-amz-grant-full-control– Richiedere il controllo completo.s3:x-amz-acl‐ Richiedere una lista ACL predefinita.
Per policy di esempio con intestazioni specifiche delle liste ACL, consulta Concessione del permesso s3:PutObject con una condizione che richiede al proprietario del bucket di ottenere il pieno controllo. Per un elenco completo delle chiavi di condizione specifiche per Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 nella Riferimento alle autorizzazioni di servizio.
Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta Autorizzazioni necessarie per le operazioni API di Amazon S3.
Valori aclRequired per le richieste di Amazon S3
Per identificare le richieste di Amazon S3 che hanno richiesto le ACL per l'autorizzazione, è possibile utilizzare il valore aclRequired nei log di accesso del server Amazon S3 o AWS CloudTrail. Il valore aclRequired che appare nei log di accesso al server CloudTrail o Amazon S3 dipende dalle operazioni richiamate e da alcune informazioni sul richiedente, il proprietario dell'oggetto e il proprietario del bucket. Se non sono richiesti ACL, se stai impostando l'ACL predefinito bucket-owner-full-control o se le richieste sono consentite dalla tua policy del bucket, la stringa di valore aclRequired è "-" nei log di accesso al server Amazon S3 ed è assente in CloudTrail.
Le tabelle seguenti elencano i valori aclRequired previsti nei log di accesso al server CloudTrail o Amazon S3 per le varie operazioni dell'API Amazon S3. Puoi utilizzare queste informazioni per capire quali operazioni di Amazon S3 dipendono dagli ACL per l'autorizzazione. Nelle tabelle seguenti, A, B e C rappresentano i diversi account associati al richiedente, al proprietario dell'oggetto e al proprietario del bucket. Le voci con un asterisco (*) indicano uno degli account A, B o C.
Nota
Le operazioni PutObject nella tabella seguente, se non diversamente specificato, indicano richieste che non impostano un'ACL, a meno che l'ACL non sia un'ACL bucket-owner-full-control. Un valore nullo per aclRequired indica che aclRequired è assente nei log AWS CloudTrail.
La tabella seguente mostra i valori di aclRequired per CloudTrail.
| Nome operazione | Richiedente | Proprietario dell'oggetto. | Proprietario del bucket | La policy di bucket garantisce l'accesso | aclRequired valore |
Motivo |
|---|---|---|---|---|---|---|
GetObject |
A | A | A | Sì o No | null | Accesso allo stesso account |
GetObject |
A | B | A | Sì o No | null | È stato imposto l'accesso allo stesso account con il proprietario del bucket |
GetObject |
A | A | B | Sì | null | Accesso multi-account garantito dalla policy di bucket |
GetObject |
A | A | B | No | Sì | L'accesso multi-account si basa su ACL |
GetObject |
A | A | B | Sì | null | Accesso multi-account garantito dalla policy di bucket |
GetObject |
A | B | B | No | Sì | L'accesso multi-account si basa su ACL |
GetObject |
A | B | C | Sì | null | Accesso multi-account garantito dalla policy di bucket |
GetObject |
A | B | C | No | Sì | L'accesso multi-account si basa su ACL |
PutObject |
A | Non applicabile. | A | Sì o No | null | Accesso allo stesso account |
PutObject |
A | Non applicabile. | B | Sì | null | Accesso multi-account garantito dalla policy di bucket |
PutObject |
A | Non applicabile. | B | No | Sì | L'accesso tra account si basa su ACL |
PutObject con un ACL (ad eccezione di bucket-owner-full-control) |
* | Non applicabile. | * | Sì o No | Sì | Richiesta di autorizzazioni ACL |
ListObjects |
A | Non applicabile. | A | Sì o No | null | Accesso allo stesso account |
ListObjects |
A | Non applicabile. | B | Sì | null | Accesso multi-account garantito dalla policy di bucket |
ListObjects |
A | Non applicabile. | B | No | Sì | L'accesso multi-account si basa su ACL |
DeleteObject |
A | Non applicabile. | A | Sì o No | null | Accesso allo stesso account |
DeleteObject |
A | Non applicabile. | B | Sì | null | Accesso multi-account garantito dalla policy di bucket |
DeleteObject |
A | Non applicabile. | B | No | Sì | L'accesso tra account si basa su ACL |
PutObjectAcl |
* | * | * | Sì o No | Sì | Richiesta di autorizzazioni ACL |
PutBucketAcl |
* | Non applicabile. | * | Sì o No | Sì | Richiesta di autorizzazioni ACL |
Nota
Le operazioni REST.PUT.OBJECT nella tabella seguente, se non diversamente specificato, indicano richieste che non impostano un ACL, a meno che l'ACL non sia un bucket-owner-full-control ACL. Una stringa di valori aclRequired di "-" indica un valore nullo nei log di accesso al server Amazon S3.
La tabella seguente mostra i valori di aclRequired per i log di accesso al server Amazon S3.
| Nome operazione | Richiedente | Proprietario dell'oggetto. | Proprietario del bucket | La policy di bucket garantisce l'accesso | aclRequired valore |
Motivo |
|---|---|---|---|---|---|---|
REST.GET.OBJECT |
A | A | A | Sì o No | - | Accesso allo stesso account |
REST.GET.OBJECT |
A | B | A | Sì o No | - | È stato imposto l'accesso allo stesso account con il proprietario del bucket |
REST.GET.OBJECT |
A | A | B | Sì | - | Accesso tra account a causa della politica tra account |
REST.GET.OBJECT |
A | A | B | No | Sì | L'accesso multi-account si basa su ACL |
REST.GET.OBJECT |
A | B | B | Sì | - | Accesso tra account a causa della politica tra account |
REST.GET.OBJECT |
A | B | B | No | Sì | L'accesso multi-account si basa su ACL |
REST.GET.OBJECT |
A | B | C | Sì | - | Accesso tra account a causa della politica tra account |
REST.GET.OBJECT |
A | B | C | No | Sì | L'accesso multi-account si basa su ACL |
REST.PUT.OBJECT |
A | Non applicabile. | A | Sì o No | - | Accesso allo stesso account |
REST.PUT.OBJECT |
A | Non applicabile. | B | Sì | - | Accesso tra account a causa della politica tra account |
REST.PUT.OBJECT |
A | Non applicabile. | B | No | Sì | L'accesso tra account si basa su ACL |
REST.PUT.OBJECT con un ACL (ad eccezione di bucket-owner-full-control) |
* | Non applicabile. | * | Sì o No | Sì | Richiesta di autorizzazioni ACL |
REST.GET.BUCKET |
A | Non applicabile. | A | Sì o No | - | Accesso allo stesso account |
REST.GET.BUCKET |
A | Non applicabile. | B | Sì | - | Accesso tra account a causa della politica tra account |
REST.GET.BUCKET |
A | Non applicabile. | B | No | Sì | L'accesso multi-account si basa su ACL |
REST.DELETE.OBJECT |
A | Non applicabile. | A | Sì o No | - | Accesso allo stesso account |
REST.DELETE.OBJECT |
A | Non applicabile. | B | Sì | - | Accesso tra account a causa della politica tra account |
REST.DELETE.OBJECT |
A | Non applicabile. | B | No | Sì | L'accesso tra account si basa su ACL |
REST.PUT.ACL |
* | * | * | Sì o No | Sì | Richiesta di autorizzazioni ACL |
ACL di esempio
La seguente ACL di esempio su un bucket identifica il proprietario della risorsa e un insieme di concessioni. Il suo formato è la rappresentazione XML di una lista ACL in REST API di Amazon S3. Il proprietario del bucket ha il FULL_CONTROL della risorsa. La lista ACL mostra inoltre come vengono concesse le autorizzazioni per una risorsa a due Account AWS, identificati dall'ID utente canonico, e a due gruppi predefiniti di Amazon S3, illustrati nella sezione precedente.
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user1-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user2-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>READ</Permission> </Grant> <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> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
ACL predefinita
Amazon S3 supporta un set di concessioni predefinite, dette liste ACL predefinite. Ogni ACL predefinita ha un insieme predefinito di assegnatari e autorizzazioni. La seguente tabella elenca l'insieme di ACL predefinite e le concessioni predefinite associate.
| ACL predefinita | Si applica a | Autorizzazioni aggiunte a un'ACL |
|---|---|---|
private |
Bucket e oggetto | Il proprietario ottiene il FULL_CONTROL. Nessun altro ha diritti di accesso (impostazione predefinita). |
public-read |
Bucket e oggetto | Il proprietario ottiene il FULL_CONTROL. Il gruppo AllUsers (consulta Che cosa si intende per assegnatario?) ottiene l'accesso READ. |
public-read-write |
Bucket e oggetto | Il proprietario ottiene il FULL_CONTROL. Il gruppo AllUsersottiene l'accesso READ e WRITE. In genere la concessione di queste autorizzazioni su un bucket non è consigliata. |
aws-exec-read |
Bucket e oggetto | Il proprietario ottiene il FULL_CONTROL. Amazon EC2 ottiene l'accesso di tipo READ per la richiesta GET con cui ottenere un bundle Amazon Machine Image (AMI) da Amazon S3. |
authenticated-read |
Bucket e oggetto | Il proprietario ottiene il FULL_CONTROL. Il gruppo AuthenticatedUsers ottiene l'accesso READ. |
bucket-owner-read |
Oggetto | Il proprietario dell'oggetto ottiene il FULL_CONTROL. Il proprietario del bucket ottiene l'accesso READ. Se specifichi questa lista ACL predefinita durante la creazione di un bucket, Amazon S3 la ignora. |
bucket-owner-full-control |
Oggetto | Sia il proprietario dell'oggetto che il proprietario del bucket ottengono il FULL_CONTROL dell'oggetto. Se specifichi questa lista ACL predefinita durante la creazione di un bucket, Amazon S3 la ignora. |
log-delivery-write |
Bucket | Il gruppo LogDelivery ottiene le autorizzazioni WRITE e READ_ACP sul bucket. Per ulteriori informazioni sui log, consulta (Registrazione delle richieste con registrazione dell'accesso al server). |
Nota
È possibile specificare solo una di queste ACL predefinite nella richiesta.
Per specificare un'ACL predefinita nella richiesta si utilizza l'intestazione di richiesta x-amz-acl. Quando Amazon S3 riceve una richiesta contenente una lista ACL predefinita, aggiunge le concessioni predefinite alla lista ACL della risorsa.