

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

# Prerequisiti per la disabilitazione delle ACL
<a name="object-ownership-migrating-acls-prerequisites"></a>

Un bucket access control list (ACL) in Amazon S3 è un meccanismo che consente di definire autorizzazioni granulari per singoli oggetti all'interno di un bucket S3, specificando quali AWS account o gruppi possono accedere e modificare tali oggetti. La maggior parte degli attuali casi d'uso in Amazon S3 non richiede più l'uso delle ACL. Ti consigliamo di utilizzare le policy AWS Identity and Access Management (IAM) e bucket per gestire l'accesso e mantenere gli ACL disattivati, tranne nei casi in cui è necessario controllare l'accesso per ogni oggetto individualmente.

Se le ACL sono già abilitate nel bucket, prima di disabilitarle, verifica i seguenti prerequisiti:

**Topics**
+ [Esamina le ACL di bucket e oggetti e migra le autorizzazioni ACL](#object-ownership-acl-permissions)
+ [Identifica tutte le richieste che richiedono una ACL per l'autorizzazione](#object-ownership-acl-identify)
+ [Rivedi e aggiorna le policy dei bucket che utilizzano chiavi di condizione ACL-related](#object-ownership-bucket-policies)
+ [Casi d'uso di esempio](#object-ownership-migrating-acls)

## Esamina le ACL di bucket e oggetti e migra le autorizzazioni ACL
<a name="object-ownership-acl-permissions"></a>

Quando si disattivano le ACL, le autorizzazioni concesse dalle ACL di bucket e oggetti non influiranno più sull'accesso. Prima di disabilitare le ACL, rivedere le ACL bucket e oggetto. 

Ciascuna delle ACL di bucket e di oggetti esistenti ha un equivalente in una policy IAM. I seguenti esempi di policy di bucket mostrano come le autorizzazioni `READ` e `WRITE` per le ACL di bucket e di oggetti sono associate alle autorizzazioni IAM. Per ulteriori informazioni su come ogni ACL si traduce in autorizzazioni IAM, consulta [Mappatura delle autorizzazioni ACL e delle autorizzazioni della policy di accesso](acl-overview.md#acl-access-policy-permission-mapping).

Prima di disabilitare le ACL:
+ Se l'ACL del bucket consente l'accesso al di fuori del tuo AWS account, devi innanzitutto migrare le autorizzazioni ACL del bucket alla tua policy del bucket.
+ Quindi, ripristina l’ACL del bucket sull’ACL privata predefinita. 
+ È inoltre consigliabile rivedere le autorizzazioni ACL a livello di oggetto e di migrarle nella policy di bucket. 

Se le ACL del bucket forniscono autorizzazioni di lettura o scrittura ad altri utenti esterni all’account, prima di poter disabilitare le ACL è necessario migrare tali autorizzazioni nella policy di bucket. Dopo aver migrato queste autorizzazioni, è possibile impostare **Proprietà dell’oggetto** sull’impostazione *Proprietario del bucket applicato*. Se non esegui la migrazione delle ACL del bucket che concedono l'accesso in lettura o scrittura al di fuori del tuo account, la richiesta di applicare l'impostazione Proprietario del bucket applicato non va a buon fine e restituisce il codice di errore [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). 

Se l'ACL del bucket concede l'accesso al di fuori del tuo Account AWS, prima di disabilitare gli ACL, devi migrare le autorizzazioni ACL del bucket alla tua policy del bucket e reimpostare l'ACL del bucket all'ACL privato predefinito. Se non si esegue la migrazione e il ripristino, la richiesta di applicare l’impostazione Proprietario del bucket applicato per disabilitare le ACL non riesce e restituisce il codice di errore [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). Ti consigliamo inoltre di rivedere le autorizzazioni ACL dell'oggetto e di migrarle alla policy di bucket. 

Per esaminare e migrare le autorizzazioni ACL alle policy di bucket, consultare i seguenti argomenti.

**Topics**
+ [Esempi di policy di bucket](#migrate-acl-permissions-bucket-policies)
+ [Utilizzo della console S3 per esaminare e migrare le autorizzazioni ACL](#review-migrate-acl-console)
+ [Utilizzo di AWS CLI per esaminare e migrare le autorizzazioni ACL](#review-migrate-acl-cli)

### Esempi di policy di bucket
<a name="migrate-acl-permissions-bucket-policies"></a>

Questi esempi di policy bucket mostrano come `READ` migrare le autorizzazioni ACL di una terza parte a una bucket policy. `WRITE` Account AWS `READ_ACP`e `WRITE_ACP` gli ACL sono meno rilevanti per le policy perché concedono le ACL-related autorizzazioni (,, e). `s3:GetBucketAcl` `s3:GetObjectAcl` `s3:PutBucketAcl` `s3:PutObjectAcl`

**Example — `LEGGI` ACL per un bucket**  
Se il tuo bucket ha un `READ` ACL che concede l' Account AWS `{{111122223333}}`autorizzazione per elencare i contenuti del tuo bucket, puoi scrivere una policy per il bucket che `s3:ListBucket` conceda,, le autorizzazioni per il tuo bucket. `s3:ListBucketVersions` `s3:ListBucketMultipartUploads`     
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to list the objects in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [

						"arn:aws:iam::{{111122223333}}:root"
					]
				},
				"Action": [
					"s3:ListBucket",
					"s3:ListBucketVersions",
					"s3:ListBucketMultipartUploads"
				],
				"Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}"
			}
		]
	}
```

**Example — `LEGGI gli ACL per ogni oggetto in un bucket`**  
Se ogni oggetto del bucket ha un `READ` ACL che concede l'accesso a Account AWS `{{111122223333}}`, puoi scrivere una policy del bucket che conceda `s3:GetObject` e `s3:GetObjectVersion` autorizzazioni a questo account per ogni oggetto nel tuo bucket.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Read permission for every object in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::{{111122223333}}:root"
					]
				},
				"Action": [
					"s3:GetObject",
					"s3:GetObjectVersion"
				],
				"Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
			}
		]
	}
```
Questo elemento di risorsa esemplificativo consente l'accesso a un oggetto specifico.  

```
"Resource": "arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}/{{OBJECT-KEY}}"
```

**Example — `WRITE` ACL che concede le autorizzazioni per scrivere oggetti in un bucket**  
Se il tuo bucket ha un `WRITE` ACL che concede Account AWS `{{111122223333}}` il permesso di scrivere oggetti nel tuo bucket, puoi scrivere una policy per il bucket che concede l'autorizzazione per il tuo bucket. `s3:PutObject`    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to write objects to a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::{{111122223333}}:root"
					]
				},
				"Action": [
					"s3:PutObject"
				],
				"Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
			}
		]
	}
```

### Utilizzo della console S3 per esaminare e migrare le autorizzazioni ACL
<a name="review-migrate-acl-console"></a>

**Per esaminare le autorizzazioni ACL di un bucket**

1. Accedi e apri la console Amazon S3 all' Console di gestione AWS indirizzo. [ https://console.aws.amazon.com/s3/ ](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Bucket**, seleziona il nome del bucket.

1. Scegli la scheda **Autorizzazioni**.

1. Alla voce **Lista di controllo accessi (ACL)**, controlla le autorizzazioni ACL del bucket.

**Per esaminare le autorizzazioni ACL di un oggetto**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [ https://console.aws.amazon.com/s3/ ](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Buckets** (Bucket), scegli il nome del bucket contenente l'oggetto.

1. Nell'elenco **Oggetti** scegli il nome dell'oggetto.

1. Scegli la scheda **Autorizzazioni**.

1. Alla voce **Lista di controllo accessi (ACL)**, controlla le autorizzazioni ACL dell'oggetto.

**Per migrare le autorizzazioni ACL e aggiornare l'ACL del bucket**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [ https://console.aws.amazon.com/s3/ ](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Bucket**, seleziona il nome del bucket.

1. Nella sezione **Autorizzazioni**, alla voce **Policy del bucket**, scegliere **Modifica**.

1. Nella casella **Policy**, aggiungi o aggiorna la policy del bucket.

   Per le policy di bucket di esempio, consulta [Esempi di policy di bucket](#migrate-acl-permissions-bucket-policies) e [Casi d'uso di esempio](#object-ownership-migrating-acls).

1. Scegli **Save changes** (Salva modifiche).

1. [Aggiorna l'ACL del bucket](managing-acls.md) per rimuovere le autorizzazioni ACL ad altri gruppi o Account AWS.

1. [Applica l'impostazione **Proprietario del bucket applicato**](object-ownership-existing-bucket.md) per Proprietà dell'oggetto.

### Utilizzo di AWS CLI per esaminare e migrare le autorizzazioni ACL
<a name="review-migrate-acl-cli"></a>

1. Per restituire l'ACL del bucket per il tuo bucket, usa il comando: [get-bucket-acl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) AWS CLI 

   ```
   aws s3api get-bucket-acl --bucket {{amzn-s3-demo-bucket}}
   ```

   Ad esempio, questa ACL di bucket concede l'accesso `WRITE` e `READ` a un account di terze parti. In questa ACL, l'account di terze parti è identificato dall'[ID utente canonico](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Per applicare l'impostazione Proprietario del bucket applicato e disabilitare le ACL, è necessario migrare queste autorizzazioni per l'account di terze parti a una policy del bucket. 

   ```
   {
   		"Owner": {
   			"ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "{{72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID}}",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "{{72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID}}",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   Per altre ACL di esempio, consultare [Casi d'uso di esempio](#object-ownership-migrating-acls).

1. Migrazione delle autorizzazioni ACL del bucket a una policy di bucket:

   Questo esempio di policy di bucket concede autorizzazioni `s3:PutObject` e `s3:ListBucket` per un account di terze parti. Nella policy del bucket, l'account di terze parti è identificato dall'ID (). Account AWS `{{111122223333}}`

   ```
   aws s3api put-bucket-policy --bucket {{{{amzn-s3-demo-bucket}}}} --policy {{file://policy.json}}
   
   	policy.json:
   	{
   		"Version": "2012-10-17",		 	 	 
   		"Statement": [
   			{
   				"Sid": "PolicyForCrossAccountAllowUpload",
   				"Effect": "Allow",
   				"Principal": {
   					"AWS": [
   						"arn:aws:iam::{{111122223333}}:root"
   					]
   				},
   				"Action": [
   					"s3:PutObject",
   					"s3:ListBucket"
   				],
   				"Resource": [
   					"arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}",
   					"arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}/*"
   			}
   		]
   	}
   ```

   Per ulteriori policy di bucket esemplificative, consulta [Esempi di policy di bucket](#migrate-acl-permissions-bucket-policies) e [Casi d'uso di esempio](#object-ownership-migrating-acls).

1. Per restituire l'ACL per un oggetto specifico, usa il [get-object-acl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) AWS CLI comando.

   ```
   aws s3api get-object-acl --bucket {{amzn-s3-demo-bucket}} --key {{EXAMPLE-OBJECT-KEY}}
   ```

1. Se necessario, migrare le autorizzazioni ACL degli oggetti alla policy del bucket. 

   Questo elemento di risorsa esemplificativo concede l'accesso a un oggetto specifico in una policy di bucket.

   ```
   "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/{{EXAMPLE-OBJECT-KEY}}"
   ```

1. Ripristina l'ACL per il bucket sull'ACL predefinito.

   ```
   aws s3api put-bucket-acl --bucket {{amzn-s3-demo-bucket}} --acl private
   ```

1. [Applica l'impostazione Proprietario del bucket applicato](object-ownership-existing-bucket.md) per Proprietà dell'oggetto.

## Identifica tutte le richieste che richiedono una ACL per l'autorizzazione
<a name="object-ownership-acl-identify"></a>

Per identificare le richieste Amazon S3 che richiedono le ACL per l'autorizzazione, puoi utilizzare il valore `aclRequired` nei log degli accessi del server Amazon S3 oppure AWS CloudTrail. Se la richiesta richiede un ACL per l'autorizzazione o se sono presenti richieste `PUT` che specificano un ACL, la stringa è `Yes`. Se non sono richiesti ACL, o se stai impostando un ACL predefinito o se le richieste sono consentite dalla tua policy del bucket, la stringa di `aclRequired` valore è "`-`" nei log di accesso al server Amazon S3 `bucket-owner-full-control` ed è assente in. CloudTrail Per ulteriori informazioni sui valori `aclRequired` attesi, consulta [``ACLValori richiesti per le richieste Amazon S3 comuni](acl-overview.md#aclrequired-s3).

Se hai `PutBucketAcl` o `PutObjectAcl` richiedi con intestazioni che concedono ACL-based autorizzazioni, ad eccezione dell'ACL predefinito, devi rimuovere tali intestazioni `bucket-owner-full-control` prima di poter disabilitare gli ACL. In caso contrario, le tue richieste non avranno esito positivo.

Per tutte le altre richieste che richiedevano un ACL per l'autorizzazione, migra tali autorizzazioni ACL alle policy dei bucket. Quindi, rimuovi tutti gli ACL del bucket prima di abilitare l'impostazione forzata del proprietario del bucket. 

**Nota**  
Non rimuovere gli ACL degli oggetti. In caso contrario, le applicazioni che si basano sugli ACL degli oggetti per le autorizzazioni perderanno l'accesso.

Se vedi che nessuna richiesta richiedeva un ACL per l'autorizzazione, puoi procedere alla disattivazione degli ACL. Per ulteriori informazioni sull'identificazione delle richieste, vedere [Utilizzo dei log degli accessi al server Amazon S3 per identificare le richieste](using-s3-access-logs-to-identify-requests.md) e[Identificazione delle richieste Amazon S3 utilizzando CloudTrail](cloudtrail-request-identification.md).

## Rivedi e aggiorna le policy dei bucket che utilizzano chiavi di condizione ACL-related
<a name="object-ownership-bucket-policies"></a>

Dopo aver applicato l'impostazione Proprietario del bucket applicato per disabilitare le ACL, i nuovi oggetti possono essere caricati nel bucket solo se la richiesta utilizza ACL di controllo completo del proprietario del bucket o se non specifica un'ACL. Prima di disabilitare gli ACL, rivedi la tua policy del bucket per le chiavi di condizione. ACL-related 

Se la tua policy del bucket utilizza una chiave di ACL-related condizione per richiedere l'ACL `bucket-owner-full-control` predefinito (ad esempio,`s3:x-amz-acl`), non è necessario aggiornare la policy del bucket. La seguente policy di bucket utilizza il codice `s3:x-amz-acl` per richiedere l'ACL predefinita `bucket-owner-full-control` per le richieste `PutObject` di S3. Questa policy richiede *ancora* all'object writer di specificare l'ACL predefinita `bucket-owner-full-control`. Tuttavia, i bucket con ACL disabilitate accettano ancora questa ACL, quindi le richieste continuano ad avere successo senza bisogno di modifiche sul lato client.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::{{111122223333}}:user/{{ExampleUser}}"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Tuttavia, se la tua policy bucket utilizza una chiave di ACL-related condizione che richiede un ACL diverso, devi rimuovere questa chiave di condizione. Questo esempio di policy di bucket richiede l'ACL `public-read` per le richieste `PutObject` di S3 e quindi deve essere aggiornata prima di disabilitare le ACL. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::{{111122223333}}:user/{{ExampleUser}}"                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "public-read"
                }
            }
        }
    ]
}
```

------

## Casi d'uso di esempio
<a name="object-ownership-migrating-acls"></a>

Negli esempi seguenti viene illustrato come migrare le autorizzazioni ACL alle policy di bucket per casi d'uso specifici.

**Topics**
+ [Concedere l'accesso al gruppo di consegna di log S3 per la registrazione di log degli accessi al server](#object-ownership-server-access-logs)
+ [Concedere l'accesso pubblico in lettura agli oggetti nel bucket](#object-ownership-public-read)
+ [Concedi ad Amazon ElastiCache (Redis OSS) l'accesso al tuo bucket S3](#object-ownership-elasticache-redis)

### Concedere l'accesso al gruppo di consegna di log S3 per la registrazione di log degli accessi al server
<a name="object-ownership-server-access-logs"></a>

Se desideri applicare l'impostazione Proprietario del bucket applicato per disabilitare le ACL per un bucket di destinazione di registrazione di log degli accessi a un server (noto anche come *bucket target*), è necessario migrare le autorizzazioni ACL bucket per il gruppo di consegna di log S3 al principale del servizio di registrazione di log (`logging.s3.amazonaws.com`) in una policy del bucket. Per ulteriori informazioni sulle autorizzazioni della distribuzione dei registri, consultare [Autorizzazioni per la distribuzione dei registri](enable-server-access-logging.md#grant-log-delivery-permissions-general).

Questa ACL del bucket concede l'accesso `WRITE` e `READ_ACP` al gruppo di distribuzione di registri S3:

```
{
    "Owner": {
        "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
            }, 
            "Permission": "FULL_CONTROL"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "WRITE"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "READ_ACP"
        }
    ]
}
```

**Per migrare le autorizzazioni ACL del bucket per il gruppo di distribuzione di registri S3 al principale del servizio di registrazione in una policy di bucket**

1. Aggiungi la seguente policy di bucket al bucket di destinazione, sostituendo i valori di esempio.

   ```
   aws s3api put-bucket-policy --bucket {{amzn-s3-demo-bucket}} --policy {{file://policy.json}}
   
   policy.json:						{
       {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3ServerAccessLogsPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logging.s3.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}/{{EXAMPLE-LOGGING-PREFIX}}*",
               "Condition": {
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:s3:::{{SOURCE-BUCKET-NAME}}"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "{{SOURCE-AWS-ACCOUNT-ID}}"
                   }
               }
           }
       ]
   }
   ```

1. Ripristina l'ACL per il bucket di destinazione all'ACL predefinita.

   ```
   aws s3api put-bucket-acl --bucket {{amzn-s3-demo-bucket}} --acl private
   ```

1. [Applica l'impostazione Proprietario del bucket applicato](object-ownership-existing-bucket.md) per Proprietà dell'oggetto al bucket di destinazione.

### Concedere l'accesso pubblico in lettura agli oggetti nel bucket
<a name="object-ownership-public-read"></a>

Se le ACL di oggetto consentono l'accesso pubblico in lettura a tutti gli oggetti del bucket, è possibile migrare queste autorizzazioni ACL a una policy di bucket.

Questa ACL di oggetto concede l'accesso pubblico in lettura a un oggetto in un bucket:

```
{
    "Owner": {
        "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**Per migrare le autorizzazioni ACL di lettura pubblica a una policy di bucket**

1. Per concedere l'accesso in lettura pubblica a tutti gli oggetti nel bucket, aggiungere la seguente policy di bucket, sostituendo i valori di esempio.

   ```
   aws s3api put-bucket-policy --bucket {{amzn-s3-demo-bucket}} --policy file://{{policy.json}}
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
               ]
           }
       ]
   }
   ```

   Per concedere l'accesso pubblico a un oggetto specifico in una policy di bucket, utilizzare il seguente formato per l'elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/{{OBJECT-KEY}}"
   ```

   Per concedere l'accesso pubblico a tutti gli oggetti con un prefisso specifico, utilizzare il seguente formato per l'elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/{{PREFIX/}}*"
   ```

1. [Applica l'impostazione Proprietario del bucket applicato](object-ownership-existing-bucket.md) per Proprietà dell'oggetto.

### Concedi ad Amazon ElastiCache (Redis OSS) l'accesso al tuo bucket S3
<a name="object-ownership-elasticache-redis"></a>

Puoi [ esportare il tuo backup ElastiCache ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) (Redis OSS) in un bucket S3, che ti consente di accedere al backup dall'esterno. ElastiCache Per esportare il backup in un bucket S3, devi concedere le ElastiCache autorizzazioni per copiare un'istantanea nel bucket. Se hai concesso le autorizzazioni ElastiCache a un bucket ACL, devi migrare queste autorizzazioni a una policy del bucket prima di applicare l'impostazione applicata dal proprietario del bucket per disabilitare gli ACL. Per ulteriori informazioni, consulta [ Concedere l' ElastiCache accesso al tuo bucket Amazon S3 nella Amazon User Guide. ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) * ElastiCache *

L'esempio seguente mostra le autorizzazioni ACL del bucket a cui concedono le autorizzazioni. ElastiCache 

```
{
    "Owner": {
        "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**Per migrare le autorizzazioni ACL del bucket per ElastiCache (Redis OSS) a una policy del bucket**

1. Aggiungere la seguente policy di bucket al bucket di destinazione, sostituendo i valori di esempio.

   ```
   aws s3api put-bucket-policy --bucket {{amzn-s3-demo-bucket}} --policy file://{{policy.json}}
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "{{Region}}.elasticache-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
               ]
           }
       ]
   }
   ```

1. Resettare l'ACL per il bucket all'ACL di default:

   ```
   aws s3api put-bucket-acl --bucket {{amzn-s3-demo-bucket}} --acl private
   ```

1. [Applica l'impostazione Proprietario del bucket applicato](object-ownership-existing-bucket.md) per Proprietà dell'oggetto.