

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

# Controllo degli accessi in Amazon S3
<a name="access-management"></a>

In AWS, una risorsa è un'entità con cui puoi lavorare. In Amazon Simple Storage Service (S3), i *bucket* e gli *oggetti* sono le risorse originali di Amazon S3. Ogni cliente S3 ha probabilmente dei bucket con degli oggetti al loro interno. Con l'aggiunta di nuove funzionalità a S3, sono state aggiunte anche risorse supplementari, ma non tutti i clienti utilizzano queste risorse specifiche. Per ulteriori informazioni sulle risorse Amazon S3, consulta [Risorse S3](#access-management-resources).

Per impostazione predefinita, tutte le risorse Amazon S3 sono private. Inoltre, per impostazione predefinita, l'utente root di Account AWS che ha creato la risorsa (proprietario della risorsa) e gli utenti IAM all'interno di quell'account con le autorizzazioni necessarie possono accedere a una risorsa che hanno creato. Il proprietario della risorsa decide chi può accedere alla risorsa e le azioni che gli altri possono eseguire sulla risorsa. S3 dispone di vari strumenti di gestione degli accessi che possono essere utilizzati per concedere ad altri l'accesso alle risorse S3.

Le sezioni seguenti forniscono una panoramica delle risorse S3, degli strumenti di gestione degli accessi S3 disponibili e dei migliori casi d'uso per ciascuno strumento di gestione degli accessi. Gli elenchi di queste sezioni vogliono essere completi e includere tutte le risorse S3, gli strumenti di gestione degli accessi e i casi d'uso più comuni di gestione degli accessi. Allo stesso tempo, queste sezioni sono concepite come directory che conducono l'utente ai dettagli tecnici desiderati. Se hai già una buona conoscenza di alcuni dei seguenti argomenti, puoi passare alla sezione che fa al caso tuo. 

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Argomenti**
+ [Risorse S3](#access-management-resources)
+ [Identità](#access-management-owners)
+ [Strumenti di gestione degli accessi](#access-management-tools)
+ [Azioni](#access-management-actions)
+ [Casi d'uso della gestione degli accessi](#access-management-usecases)
+ [Risoluzione dei problemi di gestione degli accessi](#access-management-troubleshooting)

## Risorse S3
<a name="access-management-resources"></a>

Le risorse originali di Amazon S3 sono i bucket e gli oggetti che contengono. Con l'aggiunta di nuove funzionalità a S3, vengono aggiunte anche nuove risorse. Di seguito è riportato un elenco completo delle risorse S3 e delle rispettive caratteristiche. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/access-management.html)

**Bucket**  
Esistono due tipi di bucket Amazon S3: *bucket per uso generico* e *bucket di directory*. 
+ I **bucket per uso generico** sono il tipo di bucket S3 originale e sono consigliati per la maggior parte dei casi d'uso e dei modelli di accesso. I bucket per uso generico consentono inoltre di archiviare oggetti in tutte le classi di storage, ad eccezione di S3 Express One Zone. Per ulteriori informazioni sulle classi di storage S3, consulta [Comprensione e gestione delle classi di storage Amazon S3](storage-class-intro.md).
+ I **bucket di directory** utilizzano la classe di storage S3 Express One Zone, consigliata se l'applicazione è sensibile alle prestazioni e beneficia di latenze a una cifra al millisecondo `PUT` e `GET`. Per ulteriori informazioni, consultare [Operazioni con i bucket di directory](directory-buckets-overview.md), [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) e [Autorizzazione delle operazioni API dell'endpoint regionale con IAM](s3-express-security-iam.md).

**Categorizzazione delle risorse S3**  
Amazon S3 offre funzioni per categorizzare e organizzare le risorse S3. La categorizzazione delle risorse non è utile solo per organizzarle, ma è anche possibile impostare regole di gestione degli accessi basate sulle categorie delle risorse. In particolare, i prefissi e i tag sono due funzioni di organizzazione dello storage che possono essere utilizzate quando si impostano le autorizzazioni per la gestione degli accessi. 

**Nota**  
Le seguenti informazioni si riferiscono ai bucket per uso generico. I bucket di directory non supportano i tag e hanno limitazioni sui prefissi. Per ulteriori informazioni, consulta [Autorizzazione delle operazioni API dell'endpoint regionale con IAM](s3-express-security-iam.md).
+ **Prefissi** - Un prefisso in Amazon S3 è una stringa di caratteri all'inizio del nome della chiave di un oggetto, utilizzata per organizzare gli oggetti memorizzati nei bucket S3. Si può usare un carattere delimitatore, come una barra in avanti (`/`), per indicare la fine del prefisso all'interno del nome della chiave dell'oggetto. Ad esempio, si possono avere nomi di chiavi di oggetti che iniziano con il prefisso `engineering/` oppure nomi di chiavi di oggetti che iniziano con il prefisso `marketing/campaigns/`. L'uso di un delimitatore alla fine del prefisso, come ad esempio un carattere di barra in avanti `/` emula le convenzioni di denominazione delle cartelle e dei file. Tuttavia, in S3, il prefisso fa parte del nome della chiave dell'oggetto. Nei bucket S3 per uso generico, non esiste una vera e propria gerarchia di cartelle. 

  Amazon S3 supporta l'organizzazione e il raggruppamento degli oggetti utilizzando i loro prefissi. È anche possibile gestire l'accesso agli oggetti in base ai loro prefissi. Ad esempio, è possibile limitare l'accesso solo agli oggetti con nomi che iniziano con un prefisso specifico. 

  Per ulteriori informazioni, consulta [Organizzazione degli oggetti utilizzando i prefissi](using-prefixes.md). La console S3 utilizza il concetto di *cartelle* che, nei bucket per uso generico, sono essenzialmente prefissi che vengono anteposti al nome della chiave dell'oggetto. Per ulteriori informazioni, consulta [Organizzazione degli oggetti nella console di Amazon S3 utilizzando le cartelle](using-folders.md).
+ **Tag** - Ogni tag è una coppia chiave-valore che si assegna alle risorse. Ad esempio, è possibile etichettare alcune risorse con il tag `topicCategory=engineering`. L'etichettatura può essere utilizzata per contribuire all'allocazione dei costi, alla categorizzazione e all'organizzazione e al controllo degli accessi. L'etichettatura dei bucket viene utilizzata solo per l'allocazione dei costi. È possibile etichettare gli oggetti dei tag, S3 Storage Lens, i processi e S3 Access Grants ai fini dell'organizzazione o del controllo degli accessi. In S3 Access Grants, è possibile utilizzare i tag per l'allocazione dei costi. Come esempio di controllo dell'accesso alle risorse tramite i loro tag, è possibile condividere solo gli oggetti che hanno un tag specifico o una combinazione di tag. 

  Per ulteriori informazioni, consultare [Controllo dell'accesso alle risorse AWS mediante i tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) nella *Guida per l'utente di IAM*.

## Identità
<a name="access-management-owners"></a>

In Amazon S3, il proprietario della risorsa è l'identità che ha creato la risorsa, come un bucket o un oggetto. Per impostazione predefinita, solo l'utente root dell'account che ha creato la risorsa e le identità IAM all'interno dell'account che dispongono delle autorizzazioni richieste possono accedere alla risorsa S3. I proprietari delle risorse possono concedere ad altre identità l'accesso alle loro risorse S3. 

Le identità che non possiedono una risorsa possono richiedere l'accesso a tale risorsa. Le richieste a una risorsa sono autenticate o non autenticate. Le richieste autenticate devono includere un valore di firma che autentichi il mittente della richiesta, mentre le richieste non autenticate non richiedono una firma. Si consiglia di concedere l'accesso solo agli utenti autenticati. Per ulteriori informazioni sull'autenticazione delle richieste, consulta [Esecuzione di richieste](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html) nella *documentazione di riferimento delle API di Amazon S3*. 

**Importante**  
Ti consigliamo di non utilizzare le credenziali dell'utente root per effettuare richieste autenticate Account AWS . Crea invece un ruolo IAM, concedendo a esso l'accesso completo. Gli utenti con questo ruolo vengono definiti *utenti amministratori*. È possibile utilizzare le credenziali assegnate al ruolo di amministratore, anziché le credenziali dell'utente Account AWS root, per interagire AWS ed eseguire attività, come creare un bucket, creare utenti e concedere autorizzazioni. Per ulteriori informazioni, consulta [Credenziali dell'utente root e credenziali dell'utente IAM Account AWS](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) nella Guida all'utente IAM *Riferimenti generali di AWS* e consulta le [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida dell'utente IAM*.

Le identità che accedono ai dati in Amazon S3 possono essere una delle seguenti:

**Account AWS owner**  
 Account AWS Quello che ha creato la risorsa. Ad esempio, l'account che ha creato il bucket. Questo account è il proprietario della risorsa. Per ulteriori informazioni, consulta [Account utente root AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html).

**Identità IAM nello stesso account del proprietario Account AWS**  
[Quando configura gli account per i nuovi membri del team che richiedono l'accesso a S3, il Account AWS proprietario può utilizzare AWS Identity and Access Management (IAM) per creare [utenti](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html), [gruppi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) e ruoli.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) Il Account AWS proprietario può quindi condividere le risorse con queste identità IAM. Il proprietario dell'account può anche specificare le autorizzazioni da assegnare alle identità IAM, che consentono o negano le azioni che possono essere eseguite sulle risorse condivise. 

Le identità IAM offrono maggiori funzionalità, tra cui la possibilità di richiedere agli utenti di inserire le credenziali di accesso prima di accedere alle risorse condivise. Utilizzando le identità IAM, è possibile implementare una forma di autenticazione a più fattori (MFA) per supportare una solida base di identità. Una best practice IAM consiste nel creare ruoli per la gestione degli accessi, invece di concedere autorizzazioni a ogni singolo utente. Si assegnano i singoli utenti al ruolo appropriato. Per ulteriori informazioni, consulta [Best practice per la sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). 

**Altri proprietari di AWS account e relative identità IAM (accesso tra account diversi)**  
Il Account AWS proprietario può inoltre consentire ad altri proprietari di AWS account, o identità IAM che appartengono a un altro AWS account, l'accesso alle risorse. 

**Nota**  
**Delega dei permessi** - Se un Account AWS possiede una risorsa, può concedere tali permessi a un altro Account AWS. Tale account può quindi delegare tali autorizzazioni, o un sottoinsieme di esse, agli utenti dello stesso account. Si parla di delega del permesso. Ma un account che riceve permessi da un altro account non può delegare tali permessi "multi-account" a un altro Account AWS. 

**Utenti anonimi (accesso pubblico)**  
Il Account AWS proprietario può rendere pubbliche le risorse. Rendendo pubblica una risorsa, la si condivide tecnicamente con *utente anonimo*. I bucket creati da aprile 2023 bloccano tutti gli accessi pubblici per impostazione predefinita, a meno che non si modifichi questa impostazione. Si consiglia di impostare i bucket per bloccare l'accesso pubblico e di concedere l'accesso solo agli utenti autenticati. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md). 

**Servizi AWS**  
Il proprietario della risorsa può concedere a un altro AWS servizio l'accesso a una risorsa Amazon S3. Ad esempio, puoi concedere al AWS CloudTrail servizio l'`s3:PutObject`autorizzazione a scrivere file di registro nel tuo bucket. Per ulteriori informazioni, vedere [Fornire l'accesso a un AWS servizio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_services.html).

**Identità di directory aziendali**  
Il proprietario della risorsa può concedere agli utenti o ai ruoli della directory aziendale l'accesso a una risorsa S3 utilizzando [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html). Per ulteriori informazioni sull'aggiunta della directory aziendale a AWS IAM Identity Center, consulta [Cos'è IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) . 

### Proprietari di bucket o risorse
<a name="access-management-owners-rules"></a>

La Account AWS persona che usi per creare bucket e caricare oggetti possiede tali risorse. Un proprietario del bucket può concedere a un altro Account AWS (o agli utenti di un altro account) autorizzazioni multiaccount per caricare gli oggetti.

Quando il proprietario di un bucket consente a un altro account di caricare oggetti in un bucket, il proprietario del bucket, per impostazione predefinita, è proprietario di tutti gli oggetti caricati nel suo bucket. Tuttavia, se le impostazioni del *bucket preferite del proprietario del* *bucket e del proprietario del* bucket sono disattivate, chi carica gli oggetti possiede quegli oggetti e il proprietario del bucket non dispone delle autorizzazioni sugli oggetti di proprietà di un altro account, con le seguenti eccezioni: Account AWS 
+ È il proprietario del bucket a pagare la fattura. Il proprietario del bucket può rifiutare l'accesso agli oggetti nel bucket o eliminarli, indipendentemente dall'utente a cui appartengono. 
+ Il proprietario del bucket può archiviare qualsiasi oggetto o ripristinare gli oggetti archiviati, indipendentemente da chi ne sia il proprietario. Archiviazione si riferisce alla classe di storage utilizzata per memorizzare gli oggetti. Per ulteriori informazioni, consulta [Gestione del ciclo di vita degli oggetti](object-lifecycle-mgmt.md).

## Strumenti di gestione degli accessi
<a name="access-management-tools"></a>

Amazon S3 offre una varietà di funzionalità e strumenti di sicurezza. Di seguito è riportato un elenco completo di queste funzioni e strumenti. Non è necessario disporre di tutti questi strumenti di gestione degli accessi, ma è necessario utilizzarne uno o più per concedere l'accesso alle risorse Amazon S3. L'applicazione corretta di questi strumenti può aiutare a garantire che le risorse siano accessibili solo agli utenti previsti. 

Lo strumento di gestione degli accessi più comunemente utilizzato è una *policy di accesso*. Una politica di accesso può essere una politica *basata sulle risorse associata a una risorsa, ad esempio una policy* bucket per un AWS bucket. Un policy di accesso può anche essere una *policy basata sull'identità*, collegata a un'identità AWS Identity and Access Management (IAM), come un utente, un gruppo o un ruolo IAM. Scrivi una policy di accesso per concedere a utenti, gruppi Account AWS e ruoli IAM l'autorizzazione a eseguire operazioni su una risorsa. Ad esempio, puoi concedere `PUT Object` l'autorizzazione a un altro account Account AWS in modo che l'altro account possa caricare oggetti nel tuo bucket.

Una policy di accesso descrive chi ha accesso a quali cose. Quando Amazon S3 riceve una richiesta, deve valutare tutte le policy di accesso per determinare se autorizzare o negare la richiesta. Per ulteriori informazioni su come Amazon S3 valuta le policy, consulta [In che modo Amazon S3 autorizza una richiesta](how-s3-evaluates-access-control.md).

Di seguito sono elencati gli strumenti di gestione degli accessi disponibili in Amazon S3.

### Policy del bucket
<a name="access-mgmt-bucket-policy"></a>

Una policy del bucket Amazon S3 è una [policy basata sulle risorse AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) in formato JSON, collegata a un particolare bucket. Utilizza le policy del bucket per concedere autorizzazioni ad altre identità Account AWS o a identità IAM per il bucket e gli oggetti in esso contenuti. Molti casi d'uso della gestione degli accessi S3 possono essere soddisfatti utilizzando una policy di bucket. Con le policy di bucket, è possibile personalizzare l'accesso ai bucket per assicurarsi che solo le identità approvate possano accedere alle risorse ed eseguire azioni al loro interno. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md). 

Di seguito è riportato un esempio di policy di bucket. La policy dei bucket è espressa da un file JSON. Questo esempio di policy concede a un ruolo IAM l'autorizzazione di lettura per tutti gli oggetti del bucket. Contiene un'istruzione denominata `BucketLevelReadPermissions`, che consente l'azione `s3:GetObject` (permesso di lettura) sugli oggetti di un bucket denominato `amzn-s3-demo-bucket1`. Specificando un ruolo IAM come `Principal`, questa policy consente l'accesso a qualsiasi utente IAM con questo ruolo. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"BucketLevelReadPermissions",
      "Effect":"Allow",
      "Principal": {
	    "AWS": "arn:aws:iam::123456789101:role/s3-role"
      },
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::amzn-s3-demo-bucket/*"]
    }]
  }
```

------

**Nota**  
Durante la creazione delle policy, è opportuno evitare l'uso di caratteri jolly (`*`) nell'elemento `Principal` perché questo consente a chiunque di accedere alle risorse Amazon S3. Invece, elencare esplicitamente gli utenti o i gruppi che possono accedere al bucket o elencare le condizioni che devono essere soddisfatte utilizzando una clausola di condizione nella policy. Inoltre, piuttosto che includere un carattere jolly per le azioni dei tuoi utenti o gruppi, concedete loro autorizzazioni specifiche, quando è il caso. 

### Policy basata su identità
<a name="access-mgmt-id-policy"></a>

Una policy utente basata sull'identità o IAM è un tipo di [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Una policy basata sull'identità è una policy in formato JSON collegata a utenti, gruppi o ruoli IAM nell'account AWS . È possibile utilizzare le policy basate sull'identità per concedere a un'identità IAM l'accesso ai bucket o agli oggetti. È possibile creare utenti, gruppi e ruoli IAM nel proprio account e associare ad essi le policy di accesso. È quindi possibile concedere l'accesso alle risorse di AWS , comprese quelle di Amazon S3. Per ulteriori informazioni, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md). 

Di seguito è riportato un esempio di policy basata sull'identità. La policy di esempio consente al ruolo IAM associato di eseguire sei diverse azioni (autorizzazioni) di Amazon S3 su un bucket e sugli oggetti in esso contenuti. Se si collega questa policy a un ruolo IAM dell'account e si assegna il ruolo ad alcuni utenti IAM, gli utenti con questo ruolo potranno eseguire queste azioni sulle risorse (bucket) specificate nella policy. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Sid": "AssignARoleActions",
    "Effect": "Allow",
    "Action": [
	  "s3:PutObject",
	  "s3:GetObject",
	  "s3:ListBucket",
	  "s3:DeleteObject",
	  "s3:GetBucketLocation"
    ],
    "Resource": [
	  "arn:aws:s3:::amzn-s3-demo-bucket/*",
	  "arn:aws:s3:::amzn-s3-demo-bucket"
    ]
    },
  {
    "Sid": "AssignARoleActions2",
    "Effect": "Allow",
    "Action": "s3:ListAllMyBuckets",
    "Resource": "*"
  }
  ]
}
```

------

### Sovvenzioni di accesso S3
<a name="access-mgmt-s3ag"></a>

Utilizza S3 Access Grants per creare i permessi di accesso ai dati di Amazon S3 sia per le identità nelle directory di identità aziendali, come Active Directory, sia per le identità AWS Identity and Access Management (IAM). S3 Access Grants aiuta a gestire le autorizzazioni dei dati su scala. Inoltre, S3 Access Grants registra l'identità dell'utente finale e l'applicazione utilizzata per accedere ai dati S3 in AWS CloudTrail. Questo fornisce una cronologia di audit dettagliata fino all'identità dell'utente finale per tutti gli accessi ai dati nei bucket S3. Per ulteriori informazioni, consulta [Gestione dell'accesso con S3 Access Grants](access-grants.md).

### Punti di accesso
<a name="access-mgmt-ap"></a>

Punti di accesso Amazon S3 semplifica la gestione dell'accesso ai dati su scala per le applicazioni che utilizzano set di dati condivisi su S3. I punti di accesso sono endpoint di rete denominati e collegati a un bucket. È possibile utilizzare i punti di accesso per eseguire operazioni sugli oggetti S3 in scala, come il caricamento e il recupero di oggetti. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. I punti di accesso S3 possono essere associati a bucket dello stesso account o di un altro account attendibile. Le policy dei punti di accesso sono policy basate sulle risorse che vengono valutate insieme alla policy di bucket sottostante. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).

### Lista di controllo degli accessi (ACL)
<a name="access-mgmt-acl"></a>

Un ACL è un elenco di sovvenzioni che identificano il beneficiario e l'autorizzazione concessa. ACLs concede autorizzazioni di base di lettura o scrittura ad altri. Account AWS ACLs usa uno schema XML specifico di Amazon S3. Una ACL è un tipo di [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Una ACL per oggetti viene utilizzata per gestire l'accesso a un oggetto e una ACL per bucket viene utilizzata per gestire l'accesso a un bucket. Con le policy bucket, esiste un'unica policy per l'intero bucket, ma gli oggetti ACLs sono specificati per ogni oggetto. Si consiglia di mantenerla ACLs disattivata, tranne nei casi in cui è necessario controllare singolarmente l'accesso per ciascun oggetto. Per ulteriori informazioni sull'utilizzo ACLs, vedere[Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**avvertimento**  
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede l'uso di. ACLs 

Di seguito è riportato un esempio di ACL del bucket. La concessione nell'ACL mostra il proprietario di un bucket che ha il permesso di controllo completo. 

```
<?xml version="1.0" encoding="UTF-8"?>
	<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
		<Owner>
			<ID>Owner-Canonical-User-ID</ID>
		</Owner>
	<AccessControlList>
		<Grant>
			<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User">
				<ID>Owner-Canonical-User-ID</ID>
			</Grantee>
			<Permission>FULL_CONTROL</Permission>
		</Grant>
	</AccessControlList>
</AccessControlPolicy>
```

### Proprietà dell'oggetto
<a name="access-mgmt-obj-ownership"></a>

Per gestire l'accesso ai propri oggetti, è necessario essere il proprietario dell'oggetto. È possibile utilizzare l'impostazione Proprietà oggetto a livello di bucket per controllare la proprietà degli oggetti caricati nel bucket. Inoltre, usa Object Ownership per attivarlo. ACLs Per impostazione predefinita, Object Ownership è impostata sull'*impostazione imposta dal proprietario del Bucket* e tutte ACLs sono disattivate. Quando ACLs sono disattivati, il proprietario del bucket possiede tutti gli oggetti nel bucket e gestisce esclusivamente l'accesso ai dati. Per gestire l'accesso, il proprietario del bucket utilizza politiche o un altro strumento di gestione degli accessi, esclusi. ACLs Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

Object Ownership dispone di tre impostazioni che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per attivare: ACLs

**ACLs disattivata**
+ **Il proprietario del bucket è impostato (impostazione predefinita)**: ACLs sono disattivati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza esclusivamente le policy per definire il controllo degli accessi.

**ACLs acceso**
+ **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 
+ **Autore di oggetti**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite ACLs. Account AWS 

**Best practice aggiuntive**  
Considera l'utilizzo delle seguenti impostazioni e strumenti per i bucket per proteggere i dati in transito e a riposo, entrambi fondamentali per mantenere l'integrità e l'accessibilità dei tuoi dati:
+ **Blocca accesso pubblico** - Non disattivare l'impostazione predefinita a livello di bucket *Blocca accesso pubblico*. Questa impostazione blocca per impostazione predefinita l'accesso pubblico ai tuoi dati. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).
+ **Controllo delle versioni S3** - Per garantire l'integrità dei dati, è possibile implementare l'impostazione di controllo delle versioni S3 per il bucket, che esegue il controllo della versione degli oggetti quando si effettuano gli aggiornamenti, invece di sovrascriverli. È possibile utilizzare il controllo delle versioni S3 per conservare, recuperare e ripristinare una versione precedente, se necessario. Per informazioni sulla funzione Controllo delle versioni S3, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). 
+ **S3 Object Lock** - S3 Object Lock è un'altra impostazione che si può implementare per ottenere l'integrità dei dati. Questa funzionalità può implementare un modello write-once-read-many (WORM) per archiviare oggetti in modo immutabile. Per ulteriori informazioni sul blocco oggetti, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ **Crittografia degli oggetti** - Amazon S3 offre diverse opzioni di crittografia degli oggetti che proteggono i dati in transito e a riposo. La *crittografia lato server* cripta l'oggetto prima di salvarlo sui dischi dei suoi data center e lo decripta quando l'utente scarica gli oggetti. Se si autentica la richiesta e si dispone delle autorizzazioni di accesso, non c'è alcuna differenza nel modo in cui si accede agli oggetti crittografati o non crittografati. Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md). S3 cripta gli oggetti appena caricati per impostazione predefinita. Per ulteriori informazioni, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md). La *crittografia lato client* consiste nel crittografare i dati prima di inviarli ad Amazon S3. Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato client](UsingClientSideEncryption.md). 
+ **Metodi di firma**: la versione 4 di Signature è il processo di aggiunta di informazioni di autenticazione alle AWS richieste inviate tramite HTTP. Per motivi di sicurezza, la maggior parte delle richieste AWS deve essere firmata con una chiave di accesso, che consiste in un ID della chiave di accesso e una chiave di accesso segreta. Queste due chiavi in genere vengono definite come le tue credenziali di sicurezza. Per ulteriori informazioni, consulta Processo di [firma [delle richieste di autenticazione (AWS Signature Version 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) e Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 

## Azioni
<a name="access-management-actions"></a>

Per un elenco completo delle autorizzazioni S3 e delle chiavi di condizione, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

**Azioni**  
Le azioni AWS Identity and Access Management (IAM) per Amazon S3 sono le possibili azioni che possono essere eseguite su un bucket o un oggetto S3. Si concedono queste azioni alle identità in modo che possano agire sulle risorse S3. Esempi di azioni S3 sono `s3:GetObject` per leggere oggetti in un bucket e `s3:PutObject` per scrivere oggetti in un bucket. 

**Chiavi di condizione**  
Oltre alle azioni, le chiavi di condizione IAM si limitano a concedere l'accesso solo quando è soddisfatta una condizione. Le chiavi di condizione sono opzionali. 



**Nota**  
In una policy di accesso basata sulle risorse, come una policy di bucket, o in una policy basata sull'identità, è possibile specificare quanto segue:  
Un'azione o una serie di azioni nell'elemento `Action` dell'istruzione della policy. 
Nell'elemento `Effect` della istruzione di policy, è possibile specificare `Allow` per concedere le azioni elencate oppure `Deny` per bloccare le azioni elencate. Per mantenere ulteriormente la pratica dei privilegi minimi, le istruzioni `Deny` nell'elemento `Effect` della policy di accesso devono essere le più ampie possibile e le istruzioni `Allow` devono essere le più limitate possibile. Gli effetti `Deny` abbinati all'azione `s3:*` sono un altro buon modo per implementare le best practice di opt-in per le identità incluse nelle istruzioni sulla condizione delle policy.
Una chiave di condizione nell'elemento `Condition` di un'istruzione di policy.

## Casi d'uso della gestione degli accessi
<a name="access-management-usecases"></a>

Amazon S3 mette a disposizione dei proprietari delle risorse una serie di strumenti per concedere l'accesso. Lo strumento di gestione degli accessi S3 che si utilizza dipende dalle risorse S3 che si desidera condividere, dalle identità a cui si concede l'accesso e dalle azioni che si desidera consentire o negare. È possibile utilizzare uno o una combinazione di strumenti di gestione degli accessi S3 per gestire l'accesso alle risorse S3.

Nella maggior parte dei casi, è possibile utilizzare una policy di accesso per gestire le autorizzazioni. Una policy di accesso può essere una policy basata sulle risorse, collegata a una risorsa, come un bucket o un'altra risorsa Amazon S3 ([Risorse S3](#access-management-resources)). Una policy di accesso può anche essere una policy basata sull'identità, collegata a un utente, gruppo o ruolo AWS Identity and Access Management (IAM) nel tuo account. È possibile che una policy di bucket sia più adatta al tuo caso d'uso. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md). In alternativa, con AWS Identity and Access Management (IAM), puoi creare utenti, gruppi e ruoli IAM all'interno del tuo account Account AWS e gestirne l'accesso a bucket e oggetti tramite policy basate sull'identità. Per ulteriori informazioni, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md).

Per aiutarti a orientarvi tra queste opzioni di gestione degli accessi, di seguito sono riportati i casi d'uso comuni dei clienti di Amazon S3 e le raccomandazioni per ciascuno degli strumenti di gestione degli accessi S3. 

### Il Account AWS proprietario desidera condividere i bucket solo con utenti all'interno dello stesso account
<a name="access-mgmt-use-case-1"></a>

Tutti gli strumenti di gestione degli accessi possono soddisfare questo caso d'uso di base. Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Policy di bucket** - Se si desidera concedere l'accesso a un solo bucket o a un numero ridotto di bucket, oppure se le autorizzazioni di accesso al bucket sono simili da un bucket all'altro, utilizza una policy di bucket. Con le policy di bucket, si gestisce una policy per ogni bucket. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md).
+ **Policy basate sull'identità** - Se si dispone di un numero molto elevato di bucket con autorizzazioni di accesso diverse per ciascun bucket e solo pochi ruoli utente da gestire, è possibile utilizzare una policy IAM per utenti, gruppi o ruoli. Le policy IAM sono anche una buona opzione se gestisci l'accesso degli utenti ad altre AWS risorse, oltre alle risorse Amazon S3. Per ulteriori informazioni, consulta [Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket](example-walkthroughs-managing-access-example1.md).
+ **S3 Access Grants** - È possibile utilizzare S3 Access Grants per concedere l'accesso ai bucket, ai prefissi o agli oggetti S3. S3 Access Grants consente di specificare autorizzazioni variabili a livello di oggetto su scala, mentre le policy dei bucket sono limitate a 20 KB di dimensione. Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).
+ **Punti di accesso** - È possibile utilizzare i punti di accesso, che sono endpoint di rete denominati e collegati a un bucket. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md). 

### Il Account AWS proprietario desidera condividere bucket o oggetti con utenti di un altro AWS account (cross-account)
<a name="access-mgmt-use-case-2"></a>

Per concedere l'autorizzazione a un altro utente Account AWS, è necessario utilizzare una policy sui bucket o uno dei seguenti strumenti di gestione degli accessi consigliati. Non è possibile utilizzare un policy di accesso basata sull'identità per questo caso d'uso. Per ulteriori informazioni sulla concessione dell'accesso multi-account, consulta [Come si fornisce l'accesso a più account agli oggetti contenuti nei bucket Amazon S3?](https://repost.aws/knowledge-center/cross-account-access-s3)

Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Policy di bucket** - Con le policy di bucket, si gestisce una policy per ogni bucket. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md).
+ **S3 Access Grants** - Si possono usare gli S3 Access Grants per concedere autorizzazioni multi-account ai bucket, ai prefissi o agli oggetti S3. È possibile utilizzare S3 Access Grants per specificare autorizzazioni variabili a livello di oggetto su scala; mentre le policy dei bucket sono limitate a 20 KB di dimensione. Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).
+ **Punti di accesso** - È possibile utilizzare i punti di accesso, che sono endpoint di rete denominati e collegati a un bucket. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md). 

### Il Account AWS proprietario o il proprietario del bucket deve concedere le autorizzazioni a livello di oggetto o di prefisso e queste autorizzazioni variano da oggetto a oggetto o da prefisso a prefisso
<a name="access-mgmt-use-case-3"></a>

In una policy di bucket, ad esempio, è possibile concedere l'accesso agli oggetti di un bucket che condividono un [prefisso specifico del nome della chiave](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) o che hanno un tag specifico. È possibile concedere l'autorizzazione di lettura agli oggetti che iniziano con il prefisso del nome della chiave `logs/`. Tuttavia, se le autorizzazioni di accesso variano in base all'oggetto, concedere le autorizzazioni ai singoli oggetti utilizzando una policy di bucket potrebbe non essere pratico, soprattutto perché le policy di bucket hanno dimensioni limitate a 20 KB.

Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **S3 Access Grants** - È possibile utilizzare S3 Access Grants per gestire le autorizzazioni a livello di oggetto o di prefisso. A differenza delle policy di bucket, è possibile utilizzare le policy di accesso S3 per specificare autorizzazioni variabili a livello di oggetto su scala. Le policy di bucket sono limitate a dimensioni di 20 KB. Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).
+ **Punti di accesso** - È possibile utilizzare i punti di accesso per gestire le autorizzazioni a livello di oggetto o di prefisso. I punti di accesso sono endpoint di rete denominati e collegati a un bucket. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).
+ **ACLs**— Non è consigliabile utilizzare le liste di controllo degli accessi (ACLs), soprattutto perché sono limitate a 100 concessioni per oggetto. ACLs *Tuttavia, se scegli di attivarla, nelle impostazioni del Bucket ACLs, imposta *Object Ownership* su *Bucket owner (preferito* e abilitato). ACLs* Con questa impostazione, nuovi oggetti scritti con l'ACL predefinita `bucket-owner-full-control` saranno automaticamente di proprietà del proprietario del bucket anziché dell'object writer. Puoi quindi utilizzare object ACLs, che è una politica di accesso in formato XML, per concedere ad altri utenti l'accesso all'oggetto. Per ulteriori informazioni, consulta [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md).

### Il Account AWS proprietario o il proprietario del bucket desidera limitare l'accesso al bucket solo a un account specifico IDs
<a name="access-mgmt-use-case-4"></a>

Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Policy di bucket** - Con le policy di bucket, si gestisce una policy per ogni bucket. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md).
+ **Punti di accesso** - I punti di accesso sono endpoint di rete denominati e collegati a un bucket. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).

### Il Account AWS proprietario o il proprietario del bucket desidera endpoint distinti per ogni utente o applicazione che accede ai propri dati
<a name="access-mgmt-use-case-5"></a>

Per questo caso d'uso si consiglia il seguente strumento di gestione degli accessi:
+ **Punti di accesso** - I punti di accesso sono endpoint di rete denominati e collegati a un bucket. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. Ogni punto di accesso applica una policy personalizzata che funziona insieme alla policy di bucket collegata al bucket sottostante. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).

### Il Account AWS proprietario o il proprietario del bucket deve gestire l'accesso dagli endpoint Virtual Private Cloud (VPC) per S3
<a name="access-mgmt-use-case-6"></a>

Gli endpoint del cloud privato virtuale (VPC) per Amazon S3 sono entità logiche all'interno di un VPC che consentono la connettività solo a S3. Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Bucket in un'impostazione VPC** - È possibile utilizzare una policy di bucket per controllare chi può accedere ai bucket e a quali endpoint VPC può accedere. Per ulteriori informazioni, consulta [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md).
+ **Punto di accesso** - Se si sceglie di impostare dei punti di accesso, è possibile utilizzare una policy dedicata. È possibile configurare qualsiasi punto di accesso in modo che accetti richieste solo da un cloud privato virtuale (VPC) per limitare l'accesso ai dati Amazon S3 a una rete privata. È inoltre possibile configurare impostazioni personalizzate di blocco dell'accesso pubblico per ciascun punto di accesso. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).

### Il Account AWS proprietario o il proprietario del bucket deve rendere disponibile al pubblico un sito Web statico
<a name="access-mgmt-use-case-7"></a>

Con S3 è possibile ospitare un sito web statico e consentire a chiunque di visualizzarne il contenuto, ospitato da un bucket S3. 

Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Amazon CloudFront**: questa soluzione consente di ospitare un sito Web statico Amazon S3 al pubblico, continuando allo stesso tempo a bloccare tutti gli accessi pubblici ai contenuti di un bucket. Se desideri mantenere abilitate tutte e quattro le impostazioni di S3 Block Public Access e ospitare un sito Web statico S3, puoi utilizzare Amazon CloudFront Origin Access Control (OAC). Amazon CloudFront offre le funzionalità necessarie per configurare un sito Web statico sicuro. Inoltre, i siti Web statici di Amazon S3 che non utilizzano questa soluzione possono supportare solo endpoint HTTP. CloudFront utilizza lo storage durevole di Amazon S3 fornendo al contempo intestazioni di sicurezza aggiuntive, come HTTPS. HTTPS aggiunge sicurezza crittografando una normale richiesta HTTP e proteggendo contro o più comuni attacchi informatici.

  Per ulteriori informazioni, consulta la sezione [Guida introduttiva a un sito Web statico sicuro](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html) nella *Amazon CloudFront Developer Guide*.
+ **Rendere il proprio bucket Amazon S3 pubblicamente accessibile** - È possibile configurare un bucket per utilizzarlo come sito web statico ad accesso pubblico. 
**avvertimento**  
Non raccomandiamo questo metodo. Ti consigliamo invece di utilizzare siti Web statici di Amazon S3 come parte di Amazon. CloudFront Per ulteriori informazioni, consulta l'opzione precedente o consulta [Come iniziare un sito web statico sicuro](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html).

  Per creare un sito Web statico Amazon S3, senza Amazon CloudFront, devi innanzitutto disattivare tutte le impostazioni di Block Public Access. Durante la scrittura della policy del bucket per il sito Web statico, assicurati di consentire solo operazioni `s3:GetObject`, non autorizzazioni `ListObject` o `PutObject`. In questo modo si evita che gli utenti possano visualizzare tutti gli oggetti del bucket o aggiungere i propri contenuti. Per ulteriori informazioni, consulta [Impostazione delle autorizzazioni per l'accesso al sito Web](WebsiteAccessPermissionsReqd.md).

### Il Account AWS proprietario o il proprietario del bucket desidera rendere il contenuto di un bucket disponibile al pubblico
<a name="access-mgmt-use-case-8"></a>

Quando si crea un nuovo bucket Amazon S3, l'impostazione *Blocca accesso pubblico* è attivata per impostazione predefinita. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md). 

Si sconsiglia di consentire l'accesso pubblico al proprio bucket. Tuttavia, se è necessario farlo per un caso d'uso particolare, si consiglia il seguente strumento di gestione degli accessi per questo caso d'uso:
+ **Disabilita l'impostazione Blocca accesso pubblico** - Il proprietario di un bucket può consentire richieste non autenticate al bucket. Ad esempio, le richieste [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) non autenticate sono consentite quando un bucket ha una policy di bucket pubblica o quando un'ACL del bucket consente l'accesso pubblico. Tutte le richieste non autenticate vengono effettuate da altri AWS utenti arbitrari, o anche da utenti anonimi non autenticati. Questo utente è rappresentato dall'ID utente ACLs canonico specifico. `65a011a29cdf8ec533ec3d1ccaae921c` Se un oggetto viene caricato su `WRITE` o `FULL_CONTROL`, l'accesso viene concesso specificamente al gruppo Tutti gli utenti o all'utente anonimo. Per ulteriori informazioni sulle politiche dei bucket pubblici e sugli elenchi di controllo degli accessi pubblici (ACLs), vedere. [Significato di "pubblico"](access-control-block-public-access.md#access-control-block-public-access-policy-status)

### Il Account AWS proprietario o il proprietario del bucket ha superato i limiti di dimensione della politica di accesso
<a name="access-mgmt-use-case-9"></a>

Sia le policy di bucket che quelle basate sull'identità hanno un limite di 20 KB. Se i requisiti di autorizzazione all'accesso sono complessi, si potrebbe superare questo limite di dimensione. 

Per questo caso d'uso si consigliano i seguenti strumenti di gestione degli accessi:
+ **Punto di accesso** - Utilizza i punti di accesso se questi funzionano con il tuo caso d'uso. Con i punti di accesso, ogni bucket ha più endpoint di rete denominati, ciascuno con la propria policy di punto di accesso che funziona con la policy di bucket sottostante. Tuttavia, i punti di accesso possono agire solo sugli oggetti, non sui bucket, e non supportano la replica tra Regioni. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).
+ **S3 Access Grants** - Utilizza S3 Access Grants, che supporta un numero molto elevato di grant che danno accesso a bucket, prefissi o oggetti. Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).

### Il ruolo di Account AWS proprietario o amministratore desidera concedere l'accesso a bucket, prefisso o oggetto direttamente agli utenti o ai gruppi in una directory aziendale
<a name="access-mgmt-use-case-10"></a>

Invece di gestire utenti, gruppi e ruoli tramite AWS Identity and Access Management (IAM), puoi aggiungere la tua directory aziendale a. AWS IAM Identity Center Per ulteriori informazioni, consulta [What is IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). 

Dopo aver aggiunto la directory aziendale AWS IAM Identity Center, ti consigliamo di utilizzare il seguente strumento di gestione degli accessi per concedere alle identità della directory aziendale l'accesso alle tue risorse S3:
+ **S3 Access Grants** - Utilizza S3 Access Grants, che supporta la concessione dell'accesso a utenti o ruoli nella directory aziendale. Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).

### Il Account AWS proprietario o il proprietario del bucket desidera consentire al AWS CloudFront servizio di accedere ai CloudFront log di scrittura su un bucket S3
<a name="access-mgmt-use-case-11"></a>

Per questo caso d'uso abbiamo consigliato il seguente strumento di gestione degli accessi:
+ **Bucket ACL**: l'unico caso d'uso consigliato per bucket ACLs è concedere autorizzazioni ad alcuni Servizi AWS, come l'account Amazon. CloudFront `awslogsdelivery` Quando crei o aggiorni una distribuzione e attivi la CloudFront registrazione, CloudFront aggiorna l'ACL del bucket per concedere all'`awslogsdelivery`account le `FULL_CONTROL` autorizzazioni per scrivere i log nel bucket. Per ulteriori informazioni, consulta la sezione [Autorizzazioni necessarie per configurare la registrazione standard e accedere ai file di registro](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership) nella *Amazon CloudFront Developer Guide*. Se il bucket che memorizza i log utilizza l'impostazione *imposta dal proprietario del bucket* per disattivare S3 Object Ownership ACLs, CloudFront non è possibile scrivere log nel bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

### L'utente, in qualità di proprietario del bucket, vuole mantenere il pieno controllo degli oggetti aggiunti al bucket da altri utenti
<a name="access-mgmt-use-case-12"></a>

È possibile concedere ad altri account l'accesso al caricamento di oggetti nel bucket utilizzando una policy di bucket, un punto di accesso o S3 Access Grants. Se si è concesso l'accesso multi-account al proprio bucket, è possibile assicurarsi che tutti gli oggetti caricati nel bucket rimangano sotto il proprio controllo. 

Per questo caso d'uso abbiamo consigliato il seguente strumento di gestione degli accessi:
+ **Proprietà dell'oggetto** - Mantieni l'impostazione a livello di bucket *Proprietà dell'oggetto* all'impostazione predefinita *Proprietario del bucket*.

## Risoluzione dei problemi di gestione degli accessi
<a name="access-management-troubleshooting"></a>

Le seguenti risorse possono aiutare a risolvere eventuali problemi con la gestione degli accessi S3: 

**Risoluzione dei problemi relativi agli errori di accesso negato (403 Accesso negato)**  
Se si verificano problemi di rifiuto di accesso, controllare le impostazioni a livello di account e di bucket. Inoltre, verificare la funzionalità di gestione degli accessi utilizzata per concedere l'accesso per assicurarsi che la policy, l'impostazione o la configurazione siano corretti. Per ulteriori informazioni sulle cause più comuni degli errori di accesso negato (403 Accesso negato) in Amazon S3, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md).

**IAM Access Analyzer per S3**  
Se non vuoi rendere pubbliche le tue risorse o se vuoi limitare l'accesso pubblico alle tue risorse, puoi usare IAM Access Analyzer for S3. Sulla console Amazon S3, usa IAM Access Analyzer per S3 per esaminare tutti i bucket che dispongono di elenchi di controllo degli accessi ai bucket (ACLs), policy dei bucket o policy dei punti di accesso che garantiscono l'accesso pubblico o condiviso. IAM Access Analyzer for S3 ti avvisa dei bucket configurati per consentire l'accesso a chiunque su Internet o altro, anche all'esterno della tua organizzazione. Account AWS Account AWS Per ogni bucket pubblico o condiviso, vengono visualizzati risultati che riportano l'origine e il livello di accesso pubblico o condiviso. 

In IAM Access Analyzer per S3, è possibile bloccare tutti gli accessi pubblici a un bucket con una singola azione. Si consiglia di bloccare l'accesso pubblico ai propri bucket, a meno che non sia necessario per supportare un caso d'uso specifico. Prima di bloccare tutti gli accessi pubblici, accertati che le tue applicazioni continuino a funzionare correttamente anche senza accesso pubblico. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

È inoltre possibile rivedere le impostazioni dei permessi a livello di bucket per configurare livelli di accesso dettagliati. Per casi d'uso specifici e verificati che richiedono l'accesso pubblico o condiviso, puoi confermare e registrare l'intenzione del bucket di rimanere pubblico o condiviso archiviando i risultati per il bucket. Puoi consultare e modificare le configurazioni relative al bucket in qualsiasi momento. È inoltre possibile scaricare i risultati in un report CSV per scopi di verifica.

IAM Access Analyzer per S3 è disponibile senza costi aggiuntivi nella console di Amazon S3. IAM Access Analyzer per S3 è basato su AWS Identity and Access Management (IAM) IAM Access Analyzer. Per utilizzare IAM Access Analyzer for S3 sulla console Amazon S3, è necessario visitare la [Console IAM](https://console.aws.amazon.com/iam/) e creare un analizzatore a livello di account in IAM Access Analyzer per ogni singola Regione. 

Per ulteriori informazioni su IAM Access Analyzer per S3, consultare [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](access-analyzer.md).

**Registrazione di log e monitoraggio**  
Il monitoraggio è una parte importante del mantenimento dell'affidabilità, della disponibilità e delle prestazioni delle soluzioni Amazon S3 in modo da poter eseguire più facilmente il debug di un errore di accesso. La registrazione può fornire informazioni sugli errori ricevuti dagli utenti e su quando e quali richieste vengono effettuate. AWS fornisce diversi strumenti per il monitoraggio delle risorse Amazon S3, come i seguenti: 
+ AWS CloudTrail
+ Log di accesso Amazon S3
+ AWS Trusted Advisor
+ Amazon CloudWatch

Per ulteriori informazioni, consulta [Registrazione e monitoraggio in Amazon S3](monitoring-overview.md).

# Identity and Access Management per Amazon S3
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) è uno strumento Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi può essere *autenticato* (può accedere) e *autorizzato* (dispone di autorizzazioni) a utilizzare le risorse Amazon S3. IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Nota**  
Per ulteriori informazioni sull'uso della classe di storage Amazon S3 Express One Zone con i bucket di directory, consulta [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) e [Operazioni con i bucket di directory](directory-buckets-overview.md).

**Topics**
+ [Destinatari](#security_iam_audience)
+ [Autenticazione con identità](#security_iam_authentication)
+ [Gestione dell’accesso tramite policy](#security_iam_access-manage)
+ [Come funziona Amazon S3 con IAM](security_iam_service-with-iam.md)
+ [In che modo Amazon S3 autorizza una richiesta](how-s3-evaluates-access-control.md)
+ [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md)
+ [Policy e autorizzazioni in Amazon S3](access-policy-language-overview.md)
+ [Policy dei bucket per Amazon S3](bucket-policies.md)
+ [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md)
+ [Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3](example-walkthroughs-managing-access.md)
+ [Utilizzo dei ruoli collegati ai servizi per Amazon S3 Storage Lens](using-service-linked-roles.md)
+ [Risoluzione dei problemi di identità e accesso ad Amazon S3](security_iam_troubleshoot.md)
+ [AWS politiche gestite per Amazon S3](security-iam-awsmanpol.md)

## Destinatari
<a name="security_iam_audience"></a>

Il modo in cui utilizzi AWS Identity and Access Management (IAM) varia in base al tuo ruolo:
+ **Utente del servizio**: richiedi le autorizzazioni all’amministratore se non riesci ad accedere alle funzionalità (consulta [Risoluzione dei problemi di identità e accesso ad Amazon S3](security_iam_troubleshoot.md))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Come funziona Amazon S3 con IAM](security_iam_service-with-iam.md))
+ **Amministratore IAM**: scrivi policy per gestire l’accesso (consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md))

## Autenticazione con identità
<a name="security_iam_authentication"></a>

L'autenticazione è il modo in cui accedi AWS utilizzando le tue credenziali di identità. Devi autenticarti come utente IAM o assumendo un ruolo IAM. Utente root dell'account AWS

Puoi accedere come identità federata utilizzando credenziali provenienti da una fonte di identità come AWS IAM Identity Center (IAM Identity Center), autenticazione Single Sign-On o credenziali. Google/Facebook Per ulteriori informazioni sull’accesso, consulta [Come accedere all’ Account AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) nella *Guida per l’utente di Accedi ad AWS *.

Per l'accesso programmatico, AWS fornisce un SDK e una CLI per firmare crittograficamente le richieste. Per ulteriori informazioni, consulta [AWS Signature Version 4 per le richieste API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) nella *Guida per l’utente di IAM*.

### Account AWS utente root
<a name="security_iam_authentication-rootuser"></a>

 Quando si crea un Account AWS, si inizia con un'identità di accesso denominata *utente Account AWS root* che ha accesso completo a tutte Servizi AWS le risorse. Consigliamo vivamente di non utilizzare l’utente root per le attività quotidiane. Per le attività che richiedono le credenziali dell’utente root, consulta [Attività che richiedono le credenziali dell’utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) nella *Guida per l’utente IAM*. 

### Identità federata
<a name="security_iam_authentication-federated"></a>

Come procedura ottimale, richiedi agli utenti umani di utilizzare la federazione con un provider di identità per accedere Servizi AWS utilizzando credenziali temporanee.

Un'*identità federata* è un utente della directory aziendale, del provider di identità Web o Directory Service che accede Servizi AWS utilizzando le credenziali di una fonte di identità. Le identità federate assumono ruoli che forniscono credenziali temporanee.

Per la gestione centralizzata degli accessi, si consiglia di utilizzare AWS IAM Identity Center. Per ulteriori informazioni, consulta [Che cos’è il Centro identità IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) nella *Guida per l’utente di AWS IAM Identity Center *.

### Utenti e gruppi IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* è una identità che dispone di autorizzazioni specifiche per una singola persona o applicazione. Ti consigliamo di utilizzare credenziali temporanee invece di utenti IAM con credenziali a lungo termine. *Per ulteriori informazioni, consulta [Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) nella Guida per l'utente IAM.*

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) specifica una raccolta di utenti IAM e semplifica la gestione delle autorizzazioni per gestire gruppi di utenti di grandi dimensioni. Per ulteriori informazioni, consulta [Casi d’uso per utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) nella *Guida per l’utente di IAM*.

### Ruoli IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* è un’identità con autorizzazioni specifiche che fornisce credenziali temporanee. Puoi assumere un ruolo [passando da un ruolo utente a un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o chiamando un'operazione AWS CLI o AWS API. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

I ruoli IAM sono utili per l’accesso degli utenti federati, le autorizzazioni utente IAM temporanee, l’accesso multi-account, l’accesso multi-servizio e le applicazioni in esecuzione su Amazon EC2. Per maggiori informazioni, consultare [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

## Gestione dell’accesso tramite policy
<a name="security_iam_access-manage"></a>

Puoi controllare l'accesso AWS creando policy e associandole a AWS identità o risorse. Una policy definisce le autorizzazioni quando è associata a un'identità o a una risorsa. AWS valuta queste politiche quando un preside effettua una richiesta. La maggior parte delle politiche viene archiviata AWS come documenti JSON. Per maggiori informazioni sui documenti delle policy JSON, consulta [Panoramica delle policy JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) nella *Guida per l’utente IAM*.

Utilizzando le policy, gli amministratori specificano chi ha accesso a cosa definendo quale **principale** può eseguire **azioni** su quali **risorse** e in quali **condizioni**.

Per impostazione predefinita, utenti e ruoli non dispongono di autorizzazioni. Un amministratore IAM crea le policy IAM e le aggiunge ai ruoli, che gli utenti possono quindi assumere. Le policy IAM definiscono le autorizzazioni indipendentemente dal metodo utilizzato per eseguirle.

### Policy basate sull’identità
<a name="security_iam_access-manage-id-based-policies"></a>

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile collegare a un’identità (utente, gruppo o ruolo). Tali policy controllano le operazioni autorizzate per l’identità, nonché le risorse e le condizioni in cui possono essere eseguite. Per informazioni su come creare una policy basata su identità, consultare [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente IAM*.

Le policy basate su identità possono essere *policy in linea* (con embedding direttamente in una singola identità) o *policy gestite* (policy autonome collegate a più identità). Per informazioni su come scegliere tra una policy gestita o una policy inline, consulta [Scegliere tra policy gestite e policy in linea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) nella *Guida per l’utente di IAM*.

### Policy basate sulle risorse
<a name="security_iam_access-manage-resource-based-policies"></a>

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Gli esempi includono le *policy di trust dei ruoli* IAM e le *policy dei bucket* di Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Le policy basate sulle risorse sono policy inline che si trovano in tale servizio. Non è possibile utilizzare le policy AWS gestite di IAM in una policy basata sulle risorse.

### Altri tipi di policy
<a name="security_iam_access-manage-other-policies"></a>

AWS supporta tipi di policy aggiuntivi che possono impostare le autorizzazioni massime concesse dai tipi di policy più comuni:
+ **Limiti delle autorizzazioni**: imposta il numero massimo di autorizzazioni che una policy basata su identità ha la possibilità di concedere a un’entità IAM. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) nella *Guida per l’utente di IAM*.
+ **Politiche di controllo del servizio (SCPs)**: specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa in. AWS Organizations Per ulteriori informazioni, consultare [Policy di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella *Guida per l’utente di AWS Organizations *.
+ **Politiche di controllo delle risorse (RCPs)**: imposta le autorizzazioni massime disponibili per le risorse nei tuoi account. Per ulteriori informazioni, consulta [Politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella *Guida per l'AWS Organizations utente*.
+ **Policy di sessione**: policy avanzate passate come parametro quando si crea una sessione temporanea per un ruolo o un utente federato. Per maggiori informazioni, consultare [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) nella *Guida per l’utente IAM*.

### Più tipi di policy
<a name="security_iam_access-manage-multiple-policies"></a>

Quando a una richiesta si applicano più tipi di policy, le autorizzazioni risultanti sono più complicate da comprendere. Per scoprire come si AWS determina se consentire o meno una richiesta quando sono coinvolti più tipi di policy, consulta [Logica di valutazione delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) nella *IAM User Guide*.

# Come funziona Amazon S3 con IAM
<a name="security_iam_service-with-iam"></a>

Prima di utilizzare IAM per gestire l'accesso ad Amazon S3, è necessario conoscere le funzioni IAM disponibili per l'utilizzo di Amazon S3.






**Funzioni IAM utilizzabili con Amazon S3**  

| Funzionalità IAM | Supporto Amazon S3 | 
| --- | --- | 
|  [Policy basate sull’identità](#security_iam_service-with-iam-id-based-policies)  |   Sì  | 
|  [Policy basate su risorse](#security_iam_service-with-iam-resource-based-policies)  |   Sì  | 
|  [Operazioni di policy](#security_iam_service-with-iam-id-based-policies-actions)  |   Sì  | 
|  [Risorse relative alle policy](#security_iam_service-with-iam-id-based-policies-resources)  |   Sì  | 
|  [Chiavi di condizione della policy (specifica del servizio)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sì   | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Sì  | 
|  [ABAC (tag nelle policy)](#security_iam_service-with-iam-tags)  |   Parziale  | 
|  [Credenziali temporanee](#security_iam_service-with-iam-roles-tempcreds)  |   Sì  | 
|  [Inoltro delle sessioni di accesso (FAS)](#security_iam_service-with-iam-principal-permissions)  |   Sì  | 
|  [Ruoli di servizio](#security_iam_service-with-iam-roles-service)  |   Sì  | 
|  [Ruoli collegati al servizio](#security_iam_service-with-iam-roles-service-linked)  |   Parziale  | 

Per avere una visione di alto livello di come Amazon S3 e AWS altri servizi funzionano con la maggior parte delle funzionalità IAM, [AWS consulta i servizi che funzionano con](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM nella IAM User *Guide*.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

## Policy basate sull'identità per Amazon S3
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Supporta le policy basate sull’identità:** sì

Le policy basate sull'identità sono documenti di policy di autorizzazione JSON che è possibile allegare a un'identità (utente, gruppo di utenti o ruolo IAM). Tali policy definiscono le operazioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una policy basata su identità, consulta [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente di IAM*.

Con le policy basate sull’identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o respinte, nonché le condizioni in base alle quali le operazioni sono consentite o respinte. Per informazioni su tutti gli elementi utilizzabili in una policy JSON, consulta [Guida di riferimento agli elementi delle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l’utente IAM*.

### Esempi di policy basate sull'identità per Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Per visualizzare esempi di policy basate sull'identità di Amazon S3, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md).

## Policy basate sulle risorse in Amazon S3
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Supporta le policy basate sulle risorse**: sì

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Esempi di policy basate sulle risorse sono le *policy di attendibilità dei ruoli* IAM e le *policy di bucket* Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. Quando è collegata a una risorsa, una policy definisce le operazioni che un principale può eseguire su tale risorsa e a quali condizioni. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). I principali possono includere account, utenti, ruoli, utenti federati o. Servizi AWS

Per consentire l’accesso multi-account, è possibile specificare un intero account o entità IAM in un altro account come entità principale in una policy basata sulle risorse. Per ulteriori informazioni, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

Il servizio Amazon S3 supporta le *policy di bucket*, le *policy di punto di accesso* e le *concessioni di accesso*:
+ Le policy di bucket sono policy basate sulle risorse e collegate a un bucket Amazon S3. Una policy di bucket definisce quali sono i principali che possono eseguire azioni sul bucket.
+ Le policy dei punti di accesso sono policy basate sulle risorse che vengono valutate insieme alla policy di bucket sottostante.
+ I permessi di accesso sono un modello semplificato per definire le autorizzazioni di accesso ai dati in Amazon S3 per prefisso, bucket o oggetto. Per informazioni su S3 Access Grants, consulta [Gestione dell'accesso con S3 Access Grants](access-grants.md).

### Principali per le policy dei bucket
<a name="s3-bucket-user-policy-specifying-principal-intro"></a>

L'elemento `Principal` specifica l'utente, l'account, il servizio o un'altra entità a cui è consentito o negato l'accesso a una risorsa. Di seguito vengono illustrati alcuni esempi di specifica del `Principal`. Per ulteriori informazioni, consulta [Principali](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) nella *Guida per l'utente di IAM*.

#### Concedi le autorizzazioni a un Account AWS
<a name="s3-aws-account-permissions"></a>

Per concedere le autorizzazioni a un utente Account AWS, identifica l'account utilizzando il seguente formato.

```
"AWS":"account-ARN"
```

Di seguito vengono mostrati gli esempi.

```
"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
```

```
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}
```

**Nota**  
Gli esempi precedenti forniscono le autorizzazioni all’utente root, che delega le autorizzazioni a livello di account. Tuttavia, le policy IAM sono ancora necessarie per i ruoli e gli utenti specifici dell’account.

#### Concessione delle autorizzazioni a un utente IAM
<a name="s3-aws-user-permissions"></a>

Per concedere l'autorizzazione a un utente IAM nel tuo account, devi fornire una coppia nome-valore `"AWS":"user-ARN"`.

```
"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}
```

Per esempi dettagliati che forniscono step-by-step istruzioni, vedere [Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket](example-walkthroughs-managing-access-example1.md) e[Esempio 3: il proprietario del bucket concede autorizzazioni per gli oggetti che non sono di sua proprietà](example-walkthroughs-managing-access-example3.md).

**Nota**  
Se un'identità IAM viene eliminata dopo aver aggiornato la policy del bucket, la policy del bucket mostrerà un identificatore univoco nell'elemento principale anziché un ARN. Questi codici univoci non IDs vengono mai riutilizzati, quindi puoi rimuovere in sicurezza i principali con identificatori univoci da tutte le tue dichiarazioni politiche. Per ulteriori informazioni sugli identificatori unici, consulta [Identificatori IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) nella *Guida per l'utente di IAM*.

#### Concessione di autorizzazioni anonime
<a name="s3-anonymous-permissions"></a>

**avvertimento**  
Si deve prestare attenzione a concedere l'accesso anonimo al proprio bucket Amazon S3. Quando si concede l'accesso anonimo, si consente a qualsiasi persona al mondo di accedere al bucket. È consigliabile non concedere mai alcun tipo di accesso anonimo in scrittura al bucket S3.

Per assegnare l'autorizzazione a tutti, vale a dire l'accesso anonimo, è necessario impostare i caratteri jolly (`"*"`) come valore `Principal`. Ad esempio, se si configura un bucket come un sito Web, si vuole che tutti gli oggetti presenti nel bucket siano pubblicamente accessibili.

```
"Principal":"*"
```

```
"Principal":{"AWS":"*"}
```

L'utilizzo `"Principal": "*"` con `Allow` effetto in una policy basata sulle risorse consente a chiunque, anche se non ha effettuato l'accesso, di accedere alla AWS tua risorsa. 

L'utilizzo di `"Principal" : { "AWS" : "*" }` con un effetto `Allow` in una policy basata sulle risorse consente a qualsiasi utente root, utente IAM, sessione del ruolo assunto o utente federato in qualsiasi account nella stessa partizione di accedere alla tua risorsa.

Per gli utenti anonimi, questi due metodi sono equivalenti. Per ulteriori informazioni, consulta [Tutti i principali](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-anonymous) nella *Guida per l'utente di IAM*.

Non è possibile utilizzare un carattere jolly per associare parte di un nome di un principale o di un ARN.

**Importante**  
Nelle politiche di controllo degli AWS accessi, i Principal «\$1» e \$1» «:AWS«\$1"\$1 si comportano in modo identico.

#### Limitazione delle autorizzazioni per le risorse
<a name="s3-restrict-permissions"></a>

Puoi anche utilizzare la policy delle risorse per limitare l'accesso a risorse che altrimenti sarebbero disponibili per i principali IAM. Usa un'istruzione `Deny` per impedire l'accesso.

L'esempio seguente blocca l'accesso se non viene utilizzato un protocollo di trasporto sicuro:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyBucketAccessIfSTPNotUsed",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}
```

------

Utilizzare il `"Principal": "*"` in modo che questa restrizione si applichi a tutti è una best practice, anziché tentare di negare l'accesso solo a account o principali specifici utilizzando questo metodo. 

#### Richiedi l'accesso tramite CloudFront URLs
<a name="require-cloudfront-urls"></a>

Puoi richiedere che gli utenti accedano ai tuoi contenuti Amazon S3 solo utilizzando CloudFront URLs invece di Amazon S3. URLs A tale scopo, crea un controllo di accesso all' CloudFront origine (OAC). Quindi, modifica le autorizzazioni sui dati S3. Nella tua policy bucket, puoi impostarla come Principal CloudFront come segue:

```
"Principal":{"Service":"cloudfront.amazonaws.com"}
```

Utilizza un `Condition` elemento della policy per consentire l'accesso CloudFront al bucket solo quando la richiesta è per conto della CloudFront distribuzione che contiene l'origine S3.

```
        "Condition": {
           "StringEquals": {
              "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID"
           }
        }
```

Per ulteriori informazioni su come richiedere l'accesso a S3 tramite CloudFront URLs, consulta [Limitazione dell'accesso a un'origine Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) nella *Amazon CloudFront Developer Guide*. Per ulteriori informazioni sui vantaggi in termini di sicurezza e privacy derivanti dall'utilizzo di Amazon CloudFront, consulta [Configurazione dell'accesso sicuro e limitazione dell'accesso ai contenuti](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecurityAndPrivateContent.html). 

### Esempi di policy basate sulle risorse per Amazon S3
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>
+ Per visualizzare esempi di policy per i bucket Amazon S3, consulta [Policy dei bucket per Amazon S3](bucket-policies.md).
+ Per visualizzare esempi di policy per i punti di accesso, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

## Azioni di policy per Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Supporta le operazioni di policy:** si

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento `Action` di una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l’accesso in una policy. Includere le operazioni in una policy per concedere le autorizzazioni di eseguire l’operazione associata.

Di seguito sono illustrati diversi tipi di relazione di mappatura tra le operazioni API S3 e le azioni di policy richieste.
+ One-to-one mappatura con lo stesso nome. Ad esempio, per utilizzare l'operazione API `PutBucketPolicy`, è necessaria l'azione di policy `s3:PutBucketPolicy`.
+ One-to-one mappatura con nomi diversi. Ad esempio, per utilizzare l'operazione API `ListObjectsV2`, è necessaria l'azione di policy `s3:ListBucket`.
+ One-to-many mappatura. Ad esempio, per utilizzare l'operazione API `HeadObject`, è necessaria l'operazione `s3:GetObject`. Inoltre, quando si utilizza S3 Object Lock e si desidera ottenere lo stato di conservazione legale di un oggetto o le impostazioni di conservazione, prima di poter utilizzare l'operazione API `HeadObject` sono necessarie anche le azioni di policy `s3:GetObjectLegalHold` o `s3:GetObjectRetention` corrispondenti.
+ Many-to-one mappatura. Ad esempio, per utilizzare le operazioni API `ListObjectsV2` o `HeadBucket`, è necessaria l'azione di policy `s3:ListBucket`.



Per visualizzare un elenco di azioni Amazon S3 da utilizzare nelle policy, consulta [Azioni definite da Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions) in *Riferimento alle autorizzazioni di servizio*. Per un elenco completo delle operazioni API di Amazon S3, consulta [Azioni API di Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/API/API_Operations.html) in *Riferimento API di Amazon Simple Storage Service*.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

Le azioni di policy in Amazon S3 utilizzano il seguente prefisso prima dell'azione:

```
s3
```

Per specificare più operazioni in una sola istruzione, occorre separarle con la virgola.

```
"Action": [
      "s3:action1",
      "s3:action2"
         ]
```





### Operazioni relative ai bucket
<a name="using-with-s3-actions-related-to-buckets"></a>

Le operazioni sui bucket sono operazioni API S3 che operano sul tipo di risorsa bucket. For example: `CreateBucket`, `ListObjectsV2` e `PutBucketPolicy`. Le azioni di policy S3 per le operazioni sui bucket richiedono che l'elemento `Resource` nelle policy sui bucket o nelle policy basate sull'identità IAM sia l'identificatore nome della risorsa Amazon (ARN) del tipo di bucket S3 nel seguente formato di esempio. 

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
```

La seguente policy di bucket concede all'utente `Akua` con l'account `12345678901` l'autorizzazione `s3:ListBucket` per eseguire l'operazione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html) e di elencare gli oggetti in un bucket S3.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to list objects in the bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
        }
    ]
}
```

------
<a name="bucket-operations-ap"></a>
**Operazioni su bucket nelle policy per i punti di accesso di bucket per uso generico**  
Le autorizzazioni fornite in un punto di accesso per una policy di bucket per uso generico sono efficaci solo se il bucket sottostante consente le stesse autorizzazioni. Quando si utilizzano i punti di accesso S3, è necessario delegare il controllo dell'accesso dal bucket al punto di accesso o aggiungere le stesse autorizzazioni nelle policy dei punti di accesso alle policy del bucket sottostante. Per ulteriori informazioni, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md). Nelle policy dei punti di accesso, le azioni delle policy S3 per le operazioni sui bucket richiedono l'utilizzo dell'ARN del punto di accesso per l'elemento `Resource` nel seguente formato. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
```

La seguente policy del punto di accesso concede all'utente `Akua` con l'account `12345678901` il permesso `s3:ListBucket` di eseguire l'operazione API [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html) attraverso il punto di accesso S3 denominato `example-access-point`. Questo permesso consente a `Akua` di elencare gli oggetti nel bucket associato a `example-access-point`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAkuaToListObjectsInBucketThroughAccessPoint",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:us-west-2:111122223333:accesspoint/example-access-point"
        }
    ]
}
```

------

**Nota**  
Non tutte le operazioni di bucket sono supportate dai punti di accesso di bucket per uso generico. Per ulteriori informazioni, consulta [Compatibilità dei punti di accesso con le operazioni S3](access-points-service-api-support.md#access-points-operations-support).
<a name="bucket-operations-ap-directory-buckets"></a>
**Operazioni su bucket nelle policy per i punti di accesso di bucket di directory**  
Le autorizzazioni fornite in un punto di accesso per una policy di bucket di directory sono efficaci solo se il bucket sottostante consente le stesse autorizzazioni. Quando si utilizzano i punti di accesso S3, è necessario delegare il controllo dell'accesso dal bucket al punto di accesso o aggiungere le stesse autorizzazioni nelle policy dei punti di accesso alle policy del bucket sottostante. Per ulteriori informazioni, consulta [Configurazione delle policy IAM per l’utilizzo dei punti di accesso per i bucket di directory](access-points-directory-buckets-policies.md). Nelle policy dei punti di accesso, le azioni delle policy S3 per le operazioni sui bucket richiedono l'utilizzo dell'ARN del punto di accesso per l'elemento `Resource` nel seguente formato. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
```

La seguente policy di punto di accesso fornisce all’utente `Akua` con l’account `12345678901` l’autorizzazione `s3:ListBucket` per eseguire l’operazione API [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html) attraverso il punto di accesso denominato `example-access-point--usw2-az1--xa-s3`. Questo permesso consente a `Akua` di elencare gli oggetti nel bucket associato a `example-access-point--usw2-az1--xa-s3`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAkuaToListObjectsInTheBucketThroughAccessPoint",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3express:us-east-1:111122223333:accesspoint/example-access-point-usw2-az1-xa-s3"
        }
    ]
}
```

------

**Nota**  
Non tutte le operazioni di bucket sono supportate dai punti di accesso di bucket di directory. Per ulteriori informazioni, consulta [Operazioni sugli oggetti per i punti di accesso di bucket di directory](access-points-directory-buckets-service-api-support.md).

### Operazioni con gli oggetti
<a name="using-with-s3-actions-related-to-objects"></a>

Le operazioni sugli oggetti sono operazioni API S3 che agiscono sul tipo di risorsa oggetto. For example: `GetObject`, `PutObject` e `DeleteObject`. Le azioni delle policy S3 per le operazioni sugli oggetti richiedono che l'elemento `Resource` nelle policy sia l'ARN dell'oggetto S3 nei seguenti formati di esempio. 

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

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
```

**Nota**  
L'ARN dell'oggetto deve contenere una barra in avanti dopo il nome del bucket, come visto negli esempi precedenti.

La seguente policy del bucket concede all'utente `Akua` con l'account `12345678901` l'autorizzazione `s3:PutObject`. Questa autorizzazione consente a `Akua` di utilizzare l'operazione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html) per caricare oggetti nel bucket S3 denominato `amzn-s3-demo-bucket`.

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

****  

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

------
<a name="object-operations-ap"></a>
**Operazioni sugli oggetti nelle policy dei punti di accesso**  
Quando si utilizzano i punti di accesso S3 per controllare l'accesso alle operazioni sugli oggetti, è possibile utilizzare le policy dei punti di accesso. Quando si utilizzano le policy dei punti di accesso, le azioni delle policy S3 per le operazioni sugli oggetti richiedono l'utilizzo dell'ARN del punto di accesso per l'elemento `Resource` nel seguente formato: `arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource`. Per le operazioni sugli oggetti che utilizzano punti di accesso, è necessario includere il valore `/object/` dopo l'intero ARN del punto di accesso nell'elemento `Resource`. Ecco alcuni esempi.

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/*"
```

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/prefix/*"
```

La seguente policy del punto di accesso concede all'utente `Akua` con l'account `12345678901` l'autorizzazione `s3:GetObject`. Questa autorizzazione consente a `Akua` di eseguire l'operazione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html) attraverso il punto di accesso denominato `example-access-point` su tutti gli oggetti del bucket associato al punto di accesso. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to get objects through access point",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/example-access-point/object/*"
        }
    ]
}
```

------

**Nota**  
Non tutte le operazioni sugli oggetti sono supportate dai punti di accesso. Per ulteriori informazioni, consulta [Compatibilità dei punti di accesso con le operazioni S3](access-points-service-api-support.md#access-points-operations-support).
<a name="object-operations-ap-directory-buckets"></a>
**Operazioni su oggetti nelle policy per i punti di accesso di bucket di directory**  
Quando si utilizzano i punti di accesso di bucket di directory per controllare l’accesso alle operazioni degli oggetti, è possibile utilizzare le policy di punti di accesso. Quando si utilizzano le policy dei punti di accesso, le azioni delle policy S3 per le operazioni sugli oggetti richiedono l'utilizzo dell'ARN del punto di accesso per l'elemento `Resource` nel seguente formato: `arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource`. Per le operazioni sugli oggetti che utilizzano punti di accesso, è necessario includere il valore `/object/` dopo l'intero ARN del punto di accesso nell'elemento `Resource`. Ecco alcuni esempi.

```
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*"
```

```
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/prefix/*"
```

La seguente policy del punto di accesso concede all'utente `Akua` con l'account `12345678901` l'autorizzazione `s3:GetObject`. Questa autorizzazione consente a `Akua` di eseguire l'operazione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html) attraverso il punto di accesso denominato `example-access-point--usw2-az1--xa-s3` su tutti gli oggetti del bucket associato al punto di accesso. 

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to get objects through access point",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::12345678901:user/Akua"
            },
            "Action": "s3express:CreateSession","s3:GetObject"
            "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*"
        }
    ]
}
```

**Nota**  
Non tutte le operazioni di oggetti sono supportate dai punti di accesso di bucket di directory. Per ulteriori informazioni, consulta [Operazioni sugli oggetti per i punti di accesso di bucket di directory](access-points-directory-buckets-service-api-support.md).

### Operazioni sui punti di accesso di bucket per uso generico
<a name="using-with-s3-actions-related-to-accesspoint"></a>

Le operazioni sui punti di accesso sono operazioni API S3 che operano sul tipo di risorsa `accesspoint`. For example: `CreateAccessPoint`, `DeleteAccessPoint` e `GetAccessPointPolicy`. Le azioni delle policy S3 per le operazioni sui punti di accesso possono essere utilizzate solo nelle policy IAM basate sull'identità, non nelle policy di bucket o punti di accesso. Le operazioni sui punti di accesso richiedono che l'elemento `Resource` sia l'ARN del punto di accesso nel seguente formato di esempio. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
```

La seguente policy IAM basata sull'identità concede all'indirizzo `s3:GetAccessPointPolicy` il permesso di eseguire l'operazione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) sul punto di accesso S3 denominato `example-access-point`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GrantPermissionToRetrieveTheAccessPointPolicyOfAccessPointExampleAccessPoint",
            "Effect": "Allow",
            "Action": [
            "s3:GetAccessPointPolicy"
            ],
            "Resource": "arn:aws:s3:*:123456789012:accesspoint/example-access-point"
        }
    ]
}
```

------

Quando si usano i punti di accesso, per controllare l'accesso alle operazioni sui bucket, consulta [Operazioni su bucket nelle policy per i punti di accesso di bucket per uso generico](#bucket-operations-ap); per controllare l'accesso alle operazioni sugli oggetti, consulta [Operazioni sugli oggetti nelle policy dei punti di accesso](#object-operations-ap). Per ulteriori informazioni su come configurare le policy dei punti di accesso, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

### Operazioni sui punti di accesso di bucket di directory
<a name="using-with-s3-actions-related-to-accesspoint-directory-buckets"></a>

Le operazioni sui punti di accesso di bucket di directory sono operazioni API S3 che operano sul tipo di risorsa `accesspoint`. For example: `CreateAccessPoint`, `DeleteAccessPoint` e `GetAccessPointPolicy`. Le azioni delle policy S3 per le operazioni sui punti di accesso possono essere utilizzate solo nelle policy IAM basate sull'identità, non nelle policy di bucket o punti di accesso. Le operazioni sui punti di accesso di bucket di directory richiedono che l’elemento `Resource` sia l’ARN del punto di accesso nel seguente formato di esempio. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
```

La seguente policy IAM basata su identità fornisce l’autorizzazione `s3express:GetAccessPointPolicy` per eseguire l’operazione API [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) sul punto di accesso denominato `example-access-point--usw2-az1--xa-s3`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GrantPermissionToRetrieveTheAccessPointPolicyOfAccessPointExampleAccessPointUsw2Az1XaS3",
            "Effect": "Allow",
            "Action": [
            "s3express:CreateSession","s3express:GetAccessPointPolicy"
            ],
            "Resource": "arn:aws:s3:*:111122223333:accesspoint/example-access-point"
        }
    ]
}
```

------

La seguente policy IAM basata su identità fornisce l’autorizzazione `s3express:CreateAccessPoint` per creare un punto di accesso di bucket di directory.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Grant CreateAccessPoint.",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "s3express:CreateAccessPoint""Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

La seguente policy IAM basata su identità fornisce l’autorizzazione `s3express:PutAccessPointScope` per creare un ambito del punto di accesso di bucket di directory.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Grant PutAccessPointScope",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "s3express:CreateAccessPoint",
            "S3Express:PutAccessPointScope""Effect": "Allow",
            "Resource": "*",
        }
    ]
}
```

Quando si utilizzano i punti di accesso di bucket di directory per controllare l’accesso alle operazioni sui bucket, consulta [Operazioni su bucket nelle policy per i punti di accesso di bucket di directory](#bucket-operations-ap-directory-buckets) e per controllare l’accesso alle operazioni sugli oggetti, consulta [Operazioni su oggetti nelle policy per i punti di accesso di bucket di directory](#object-operations-ap-directory-buckets). Per ulteriori informazioni su come configurare le policy di punti di accesso di bucket di directory, consulta [Configurazione delle policy IAM per l’utilizzo dei punti di accesso per i bucket di directory](access-points-directory-buckets-policies.md).

### Operazioni sui punti di accesso Lambda per oggetti
<a name="using-with-s3-actions-related-to-olap"></a>

Con Lambda per oggetti Amazon S3, è possibile aggiungere il proprio codice alle richieste di Amazon S3 `GET`, `LIST` e `HEAD` per modificare ed elaborare i dati mentre vengono restituiti a un'applicazione. È possibile effettuare richieste attraverso un punto di accesso Lambda per oggetti, che funziona come le richieste attraverso altri punti di accesso. Per ulteriori informazioni, consulta [Trasformazione di oggetti con S3 Object Lambda](transforming-objects.md).

Per ulteriori informazioni su come configurare le policy per le operazioni sui punti di accesso Lambda per oggetti, consulta [Configurazione delle policy IAM per i punti di accesso Lambda per oggetti](olap-policies.md).

### Operazioni con punti di accesso multiregionali
<a name="using-with-s3-actions-related-to-mrap"></a>

Un punto di accesso multiregionale fornisce un endpoint globale che le applicazioni possono utilizzare per soddisfare le richieste dai bucket S3 situati in più Regione AWS. È possibile utilizzare un punto di accesso multiregionale per creare applicazioni multiregionali con la stessa architettura utilizzata in una singola Regione ed eseguirle in qualsiasi parte del mondo. Per ulteriori informazioni, consulta [Gestione del traffico multi-regione con punti di accesso multi-regione](MultiRegionAccessPoints.md).

Per ulteriori informazioni su come configurare le policy per le operazioni dei punti di accesso multiregionali, consulta [Esempi di policy dei punti di accesso multi-regione](MultiRegionAccessPointPermissions.md#MultiRegionAccessPointPolicyExamples).

### Operazioni di processo in batch
<a name="using-with-s3-actions-related-to-batchops"></a>

(Operazioni in batch) Le operazioni di processo sono operazioni API S3 che operano sul tipo di risorsa di processo, Ad esempio `DescribeJob` e `CreateJob`. Le azioni delle policy S3 per le operazioni di processo possono essere utilizzate solo nelle policy basate sull'identità IAM, non nelle policy dei bucket. Inoltre, le operazioni di processo richiedono che l'elemento `Resource` nelle policy basate sull'identità IAM sia l'ARN di `job` nel seguente formato di esempio. 

```
"Resource": "arn:aws:s3:*:123456789012:job/*"
```

La seguente policy basata sull'identità IAM concede l'`s3:DescribeJob`autorizzazione a eseguire l'operazione [DescribeJob](https://docs.aws.amazon.com//AmazonS3/latest/API/API_DescribeJob.html)API sul job S3 Batch Operations denominato. `example-job`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribingBatchOperationJob",
            "Effect": "Allow",
            "Action": [
            "s3:DescribeJob"
            ],
            "Resource": "arn:aws:s3:*:111122223333:job/example-job"
        }
    ]
}
```

------

### Operazioni di configurazione dell'Storage Lens S3
<a name="using-with-s3-actions-related-to-lens"></a>

Per ulteriori informazioni su come configurare le operazioni di configurazione di S3 Storage Lens, consulta [Impostazione delle autorizzazioni di Amazon S3 Storage Lens](storage_lens_iam_permissions.md).

### Operazioni sugli account
<a name="using-with-s3-actions-related-to-accounts"></a>

Le operazioni sugli account sono operazioni API S3 che operano a livello di account, ad esempio `GetPublicAccessBlock` (per account). L'account non è un tipo di risorsa definito da Amazon S3. Le azioni delle policy S3 per le operazioni sugli account possono essere utilizzate solo nelle policy basate sull'identità IAM, non nelle policy dei bucket. Inoltre, le operazioni sugli account richiedono che l'elemento `Resource` nelle policy IAM basate sull'identità sia `"*"`. 

La seguente policy IAM basata sull'identità concede all'indirizzo `s3:GetAccountPublicAccessBlock` l'autorizzazione a eseguire l'operazione API a livello di account e a recuperare le impostazioni del blocco di accesso pubblico a livello di account [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetPublicAccessBlock.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) e recuperare le impostazioni del blocco di accesso pubblico a livello di account.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowRetrievingTheAccountLevelPublicAccessBlockSettings",
         "Effect":"Allow",
         "Action":[
            "s3:GetAccountPublicAccessBlock" 
         ],
         "Resource":[
            "*"
         ]
       }
    ]
}
```

------

### Esempi di policy per Amazon S3
<a name="security_iam_service-with-policies-examples-actions"></a>
+ Per visualizzare esempi di policy basate sull'identità di Amazon S3, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md).
+ Per visualizzare esempi di policy basate sulle risorse di Amazon S3, consulta [Policy dei bucket per Amazon S3](bucket-policies.md) e [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

## Risorse di policy per Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Supporta le risorse relative alle policy:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento JSON `Resource` della policy specifica l’oggetto o gli oggetti ai quali si applica l’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\$1) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```

Alcune azioni API di Amazon S3 supportano più risorse. Ad esempio, `s3:GetObject` accede a `example-resource-1` e `example-resource-2`, quindi un principale deve avere i permessi per accedere a entrambe le risorse. Per specificare più risorse in una singola istruzione, separale ARNs con virgole, come illustrato nell'esempio seguente. 

```
"Resource": [
      "example-resource-1",
      "example-resource-2"
```

Le risorse in Amazon S3 sono bucket, oggetti, punti di accesso o processi. In una policy, utilizzare il nome della risorsa Amazon (ARN) del bucket, dell'oggetto, del punto di accesso o del processo per identificare la risorsa.

*Per visualizzare un elenco completo dei tipi di risorse Amazon S3 e relativi ARNs, consulta [Resources defined by Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies) nel Service Authorization Reference.* Per sapere con quali azioni è possibile specificare l'ARN di ogni risorsa, consulta [Azioni definite da Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

### Caratteri jolly nella risorsa ARNs
<a name="s3-arn-wildcards"></a>

È possibile utilizzare caratteri jolly come parte dell'ARN della risorsa. È possibile utilizzare i caratteri jolly (`*` e `?`) all'interno di qualsiasi segmento ARN (le parti separate dai due punti). Un asterisco (`*`) rappresenta qualsiasi combinazione di zero o più caratteri, mentre un punto interrogativo (`?`) rappresenta qualsiasi singolo carattere. È possibile utilizzare più caratteri `*` o `?` in ogni segmento. Tuttavia, un carattere jolly non può essere esteso a più segmenti. 
+ Il seguente ARN utilizza il carattere jolly `*` nella parte `relative-ID` dell'ARN per identificare tutti gli oggetti nel bucket `amzn-s3-demo-bucket`.

  ```
  1. arn:aws:s3:::amzn-s3-demo-bucket/*
  ```
+ Il seguente ARN utilizza `*` per indicare tutti i bucket e gli oggetti S3.

  ```
  arn:aws:s3:::*
  ```
+ Il seguente ARN utilizza entrambi i caratteri jolly, `*` e `?`, nella parte `relative-ID`. Questo ARN identifica tutti gli oggetti in bucket come *`amzn-s3-demo-example1bucket`*, `amzn-s3-demo-example2bucket`, `amzn-s3-demo-example3bucket`, e così via.

  ```
  1. arn:aws:s3:::amzn-s3-demo-example?bucket/*
  ```

### Variabili politiche per la risorsa ARNs
<a name="s3-policy-variables"></a>

È possibile utilizzare variabili di policy in Amazon S3 ARNs. Al momento della valutazione della policy, queste variabili predefinite vengono sostituite dai valori corrispondenti. Supponiamo di organizzare il bucket come una raccolta di cartelle, con una cartella per ogni utente. Il nome della cartella è lo stesso del nome utente. Per assegnare agli utenti le autorizzazioni per le rispettive cartelle, è possibile specificare la variabile di policy nell'ARN della risorsa:

```
arn:aws:s3:::bucket_name/developers/${aws:username}/
```

In fase di esecuzione, quando la policy viene valutata, la variabile `${aws:username}` nell'ARN della risorsa viene sostituita con il nome utente della persona che sta effettuando la richiesta. 





### Esempi di policy per Amazon S3
<a name="security_iam_service-with-policies-examples-resources"></a>
+ Per visualizzare esempi di policy basate sull'identità di Amazon S3, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md).
+ Per visualizzare esempi di policy basate sulle risorse di Amazon S3, consulta [Policy dei bucket per Amazon S3](bucket-policies.md) e [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

## Chiavi di condizione per Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Supporta le chiavi di condizione delle policy specifiche del servizio:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

Ciascuna chiave di condizione di Amazon S3 corrisponde all'intestazione della richiesta con lo stesso nome consentito dall'API su cui può essere impostata la condizione. Le chiavi di condizione specifiche di Amazon S3 determinano il comportamento delle intestazioni di richiesta con lo stesso nome. Ad esempio, la chiave di condizione `s3:VersionId` usata per concedere l'autorizzazione condizionale per l'autorizzazione `s3:GetObjectVersion` definisce il comportamento del parametro di query `versionId` impostato in una richiesta GET Object.

Per un elenco delle chiavi di condizione di Amazon S3, consulta [Chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) in *Riferimento alle autorizzazioni di servizio*. Per sapere con quali azioni e risorse è possibile utilizzare una chiave di condizione, consulta [Azioni definite da Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).

### Esempio: limitazione del caricamento di oggetti a oggetti con una classe di storage specifica
<a name="example-storage-class-condition-key"></a>

Si supponga che il conto A, rappresentato dall'ID dell'account `123456789012`, possieda un bucket. L’amministratore dell’account A vuole limitare *`Dave`*, un utente dell’account A, in modo che *`Dave`* possa caricare oggetti nel bucket solo se l’oggetto è archiviato nella classe di archiviazione `STANDARD_IA`. Per limitare il caricamento di oggetti con una classe di storage specifica, l'amministratore dell'Account A può utilizzare la chiave di condizione `s3:x-amz-storage-class`, come illustrato nella policy di bucket di esempio seguente. 

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

****  

```
{
                 "Version":"2012-10-17",		 	 	 
                 "Statement": [
                   {
                     "Sid": "statement1",
                     "Effect": "Allow",
                     "Principal": {
                       "AWS": "arn:aws:iam::123456789012:user/Dave"
                     },
                     "Action": "s3:PutObject",
                     "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                     "Condition": {
                       "StringEquals": {
                         "s3:x-amz-storage-class": [
                           "STANDARD_IA"
                         ]
                       }
                     }
                   }
                 ]
            }
```

------

Nell'esempio, il blocco `Condition` specifica la condizione `StringEquals` che viene applicata alla coppia chiave-valore `"s3:x-amz-acl":["public-read"]`. Esiste un insieme predefinito di chiavi che possono essere utilizzate nell'espressione di una condizione. L'esempio utilizza la chiave di condizione `s3:x-amz-acl`. Questa condizione richiede che l'utente includa l'intestazione `x-amz-acl` con il valore `public-read` in ogni richiesta `PutObject`.

### Esempi di policy per Amazon S3
<a name="security_iam_service-with-policies-examples-conditions"></a>
+ Per visualizzare esempi di policy basate sull'identità di Amazon S3, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md).
+ Per visualizzare esempi di policy basate sulle risorse di Amazon S3, consulta [Policy dei bucket per Amazon S3](bucket-policies.md) e [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

## ACLs in Amazon S3
<a name="security_iam_service-with-iam-acls"></a>

**Supporti ACLs: Sì**

In Amazon S3, gli elenchi di controllo degli accessi (ACLs) controllano quali Account AWS sono i permessi per accedere a una risorsa. ACLs sono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato di documento relativo alle policy JSON.

**Importante**  
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs 

Per informazioni sull'utilizzo per ACLs controllare l'accesso in Amazon S3, consulta. [Gestire l'accesso con ACLs](acls.md)

## ABAC con Amazon S3
<a name="security_iam_service-with-iam-tags"></a>

**Supporta ABAC (tag nelle policy):** parzialmente

Il controllo degli accessi basato su attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi, chiamati tag. Puoi allegare tag a entità e AWS risorse IAM, quindi progettare politiche ABAC per consentire le operazioni quando il tag del principale corrisponde al tag sulla risorsa.

Per controllare l’accesso basato su tag, fornire informazioni sui tag nell’[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando le chiavi di condizione `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Se un servizio supporta tutte e tre le chiavi di condizione per ogni tipo di risorsa, il valore per il servizio è **Sì**. Se un servizio supporta tutte e tre le chiavi di condizione solo per alcuni tipi di risorsa, allora il valore sarà **Parziale**.

Per maggiori informazioni su ABAC, consulta [Definizione delle autorizzazioni con autorizzazione ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) nella *Guida per l’utente di IAM*. Per visualizzare un tutorial con i passaggi per l’impostazione di ABAC, consulta [Utilizzo del controllo degli accessi basato su attributi (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) nella *Guida per l’utente di IAM*.

Per informazioni sulle risorse che supportano ABAC in Amazon S3, consulta [Utilizzo dei tag per il controllo degli accessi basato su attributi (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac).

Per visualizzare esempi di policy basate sull'identità per limitare l'accesso ai processi di Operazioni in batch S3 in base ai tag, consulta [Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo](batch-ops-job-tags-examples.md).

### ABAC e tag degli oggetti
<a name="s3-object-tags"></a>

Nelle policy ABAC, gli oggetti utilizzano i tag `s3:` invece dei tag `aws:`. Per controllare l'accesso agli oggetti in base ai tag degli oggetti, si forniscono informazioni sui tag nell'[elemento Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando i seguenti tag:
+ `s3:ExistingObjectTag/tag-key`
+ `s3:RequestObjectTagKeys`
+ `s3:RequestObjectTag/tag-key`

Per informazioni sull'uso dei tag degli oggetti per controllare l'accesso, comprese le policy di autorizzazione di esempio, consulta [Tagging e policy di controllo degli accessi](tagging-and-policies.md).

## Utilizzo di credenziali temporanee con Amazon S3
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Supporta le credenziali temporanee:** sì

Le credenziali temporanee forniscono l'accesso a breve termine alle AWS risorse e vengono create automaticamente quando si utilizza la federazione o si cambia ruolo. AWS consiglia di generare dinamicamente credenziali temporanee anziché utilizzare chiavi di accesso a lungo termine. Per ulteriori informazioni, consulta [Credenziali di sicurezza temporanee in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Servizi AWS compatibili con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) nella *Guida per l’utente IAM*.

## Sessioni di accesso in avanti per Amazon S3
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Supporta l’inoltro delle sessioni di accesso (FAS):** sì

 Le sessioni di accesso inoltrato (FAS) utilizzano le autorizzazioni del principale che chiama e, in combinazione con la richiesta Servizio AWS, Servizio AWS per effettuare richieste ai servizi downstream. Per i dettagli delle policy relative alle richieste FAS, consulta [Forward access sessions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 
+ FAS viene utilizzato da Amazon S3 per effettuare chiamate AWS KMS per decrittografare un oggetto quando SSE-KMS è stato utilizzato per crittografarlo. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). 
+ Anche S3 Access Grants utilizza il FAS. Dopo aver creato una concessione di accesso ai dati S3 per una particolare identità, il beneficiario della concessione richiede una credenziale temporanea a S3 Access Grants. S3 Access Grants ottiene una credenziale temporanea per il richiedente e la fornisce al richiedente. AWS STS Per ulteriori informazioni, consulta [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md).

## Ruoli di servizio per Amazon S3
<a name="security_iam_service-with-iam-roles-service"></a>

**Supporta i ruoli di servizio:** sì

 Un ruolo di servizio è un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) che un servizio assume per eseguire operazioni per tuo conto. Un amministratore IAM può creare, modificare ed eliminare un ruolo di servizio dall’interno di IAM. Per ulteriori informazioni, consulta la sezione [Create a role to delegate permissions to an Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida per l’utente IAM*. 

**avvertimento**  
La modifica delle autorizzazioni per un ruolo di servizio potrebbe interrompere la funzionalità di Amazon S3. Modifica i ruoli di servizio solo quando Amazon S3 fornisce indicazioni in tal senso.

## Ruoli collegati al servizio per Amazon S3
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Supporta i ruoli legati ai servizi:** Parziale

 Un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. Servizio AWS Il servizio può assumere il ruolo per eseguire un’operazione per tuo conto. I ruoli collegati al servizio vengono visualizzati nel tuo account Account AWS e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati al servizio, ma non modificarle. 

Amazon S3 supporta i ruoli collegati ai servizi per Amazon S3 Storage Lens. Per informazioni dettagliate sulla creazione o sulla gestione dei ruoli legati al servizio Amazon S3, consulta [Utilizzo dei ruoli collegati ai servizi per Amazon S3 Storage Lens](using-service-linked-roles.md).

**Servizio Amazon S3 come principale**


| Nome del servizio nella policy | Funzione S3 | Ulteriori informazioni | 
| --- | --- | --- | 
|  `s3.amazonaws.com`  |  Replica di Amazon S3  |  [Panoramica della configurazione della replica in tempo reale](replication-how-setup.md)  | 
|  `s3.amazonaws.com`  |  Notifiche di eventi S3  |  [Notifiche di eventi Amazon S3](EventNotifications.md)  | 
|  `s3.amazonaws.com`  |  Inventario S3  |  [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md)  | 
|  `access-grants.s3.amazonaws.com`  |  Sovvenzioni di accesso S3  |  [Registrazione di una posizione](access-grants-location-register.md)  | 
|  `batchoperations.s3.amazonaws.com`  |  Operazioni in batch S3  |  [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md)  | 
|  `logging.s3.amazonaws.com`  |  S3 Server Access Logging  |  [Abilitazione della registrazione degli accessi al server Amazon S3](enable-server-access-logging.md)  | 
|  `storage-lens.s3.amazonaws.com`  |  S3 Storage Lens  |  [Visualizzazione dei parametri di Amazon S3 Storage Lens utilizzando una esportazione di dati](storage_lens_view_metrics_export.md)  | 

# In che modo Amazon S3 autorizza una richiesta
<a name="how-s3-evaluates-access-control"></a>

Quando Amazon S3 riceve una richiesta, ad esempio un'operazione su un bucket o su un oggetto, verifica innanzitutto che il richiedente disponga delle autorizzazioni necessarie. Amazon S3 valuta tutte le policy di accesso pertinenti, le policy utente e le policy basate sulle risorse (policy del bucket, lista di controllo degli accessi (ACL) del bucket e lista ACL dell'oggetto) per decidere se autorizzare la richiesta. 

**Nota**  
Se il controllo delle autorizzazioni di Amazon S3 non trova autorizzazioni valide, viene restituito un errore di autorizzazione negata Accesso negato (403 Non consentito). Per ulteriori informazioni, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Accesso negato) in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/troubleshoot-403-errors.html).

Per determinare se il richiedente ha il permesso di eseguire un'operazione specifica, Amazon S3 esegue le seguenti operazioni, in ordine, quando riceve una richiesta:

1. Converte tutte le politiche di accesso pertinenti (policy utente, bucket policy e ACLs) in fase di esecuzione in una serie di politiche per la valutazione.

1. Valuta l'insieme di policy risultante nelle fasi successive. In ciascuna fase, Amazon S3 valuta un sottoinsieme di policy in un contesto specifico, in base all'autorità del contesto. 

   1. **Contesto dell'utente** – Nel contesto dell'utente l'account padre a cui l'utente appartiene è l'autorità del contesto.

      Amazon S3 valuta un sottoinsieme di policy di proprietà dell'account padre. Questo sottoinsieme include la policy utente che l'account padre ha associato all'utente. Se il padre possiede anche la risorsa nella richiesta (bucket o oggetto), Amazon S3 valuta anche le policy delle risorse corrispondenti (policy del bucket, ACL del bucket e ACL dell'oggetto) allo stesso tempo. 

      Per eseguire l'operazione, un utente deve essere autorizzato da un account padre.

      Questa fase si applica solo se la richiesta viene eseguita da un utente in un Account AWS. Se la richiesta viene effettuata utilizzando le credenziali utente root di un Account AWS, Amazon S3 salta questo passaggio.

   1. **Contesto del bucket**: nel contesto del bucket, Amazon S3 valuta le politiche di proprietà del proprietario Account AWS del bucket. 

      Se la richiesta riguarda un'operazione su un bucket, il richiedente deve essere disporre dell'autorizzazione concessa dal proprietario del bucket. Se la richiesta riguarda un oggetto, Amazon S3 valuta tutte le policy appartenenti al proprietario del bucket per verificare che quest'ultimo non abbia negato in modo esplicito l'accesso all'oggetto. Se è stato impostato un rifiuto esplicito, Amazon S3 non autorizza la richiesta. 

   1. **Contesto dell'oggetto** – Se la richiesta riguarda un oggetto, Amazon S3 valuta il sottoinsieme di policy che appartengono al proprietario dell'oggetto. 

Di seguito sono riportati alcuni scenari di esempio che illustrano come Amazon S3 autorizza una richiesta.

**Example - Il richiedente è un principale IAM**  
Se il richiedente è un principale IAM, Amazon S3 deve determinare se il Account AWS genitore a cui appartiene il principale ha concesso l'autorizzazione principale necessaria per eseguire l'operazione. Inoltre, se la richiesta riguarda un'operazione su un bucket, ad esempio una richiesta per elencare il contenuto del bucket, Amazon S3 deve verificare che il proprietario del bucket abbia concesso al richiedente l'autorizzazione per eseguire l'operazione. Per eseguire un'operazione specifica su una risorsa, un principale IAM necessita dell'autorizzazione sia del genitore Account AWS a cui appartiene Account AWS sia del proprietario della risorsa.

 

**Example - Il richiedente è un principale IAM - Se la richiesta è per un'operazione su un oggetto che non è di proprietà del proprietario del bucket**  
Se la richiesta è per un'operazione su un oggetto che non è di proprietà del proprietario del bucket, oltre ad assicurarsi che il richiedente abbia i permessi del proprietario dell'oggetto, Amazon S3 deve anche controllare la policy del bucket per assicurarsi che il proprietario del bucket non abbia impostato un rifiuto esplicito sull'oggetto. Il proprietario del bucket (che paga la fattura) può negare in modo esplicito l'accesso agli oggetti nel bucket, indipendentemente dall'utente a cui appartiene. Il proprietario del bucket può anche eliminare tutti gli oggetti nel bucket.  
Per impostazione predefinita, quando un altro Account AWS carica un oggetto nel tuo bucket generico S3, quell'account (lo scrittore dell'oggetto) possiede l'oggetto, ha accesso ad esso e può concedere ad altri utenti l'accesso ad esso tramite le liste di controllo degli accessi (). ACLs Puoi utilizzare Object Ownership per modificare questo comportamento predefinito in modo che sia ACLs disabilitato e tu, in qualità di proprietario del bucket, possiedi automaticamente ogni oggetto nel tuo bucket generico. Di conseguenza, il controllo degli accessi ai dati si basa su policy come le policy degli utenti IAM, le policy dei bucket S3, le policy degli endpoint del cloud privato virtuale (VPC) e le policy di controllo dei AWS Organizations servizi (). SCPs Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

Per ulteriori informazioni su come Amazon S3 valuta le policy di accesso per autorizzare o negare le richieste di operazioni su bucket e oggetti, consulta i seguenti argomenti:

**Topics**
+ [In che modo Amazon S3 autorizza una richiesta per un'operazione su un bucket](access-control-auth-workflow-bucket-operation.md)
+ [In che modo Amazon S3 autorizza una richiesta per un'operazione su un oggetto](access-control-auth-workflow-object-operation.md)

# In che modo Amazon S3 autorizza una richiesta per un'operazione su un bucket
<a name="access-control-auth-workflow-bucket-operation"></a>

Quando Amazon S3 riceve una richiesta per un'operazione su un bucket, Amazon S3 converte tutte le autorizzazioni pertinenti in una serie di policy da valutare in fase di esecuzione. Le autorizzazioni pertinenti includono le autorizzazioni basate sulle risorse (ad esempio, le policy di bucket e le ACL dei bucket) e le policy utente se la richiesta proviene da un principale IAM. Amazon S3 valuta quindi l'insieme di policy risultanti in una serie di passaggi in base a un contesto specifico, quello dell'utente o quello del bucket: 

1. **Contesto utente**: se il richiedente è un principale IAM, il principale deve avere l'autorizzazione del genitore Account AWS a cui appartiene. In questa fase, Amazon S3 valuta un sottoinsieme di policy appartenenti all'account padre (denominato anche autorità del contesto). Questo sottoinsieme include la policy utente che l'account padre ha associato al principale. Se l'account padre è anche proprietario della risorsa nella richiesta (in questo caso, il bucket), Amazon S3 valuta, allo stesso tempo, anche le policy della risorsa (la policy del bucket e l'ACL del bucket) corrispondenti. Ogni volta che viene eseguita una richiesta per un'operazione su un bucket, i log degli accessi del server registrano l'ID canonico del richiedente. Per ulteriori informazioni, consulta [Registrazione delle richieste con registrazione dell'accesso al server](ServerLogs.md).

1. **Contesto del bucket** – Il richiedente deve disporre delle autorizzazioni concesse dal proprietario del bucket per eseguire un'operazione specifica sul bucket. In questa fase, Amazon S3 valuta un sottoinsieme di policy di proprietà del proprietario del Account AWS bucket. 

   Il proprietario del bucket può concedere l'autorizzazione utilizzando una policy del bucket o l'ACL del bucket. Se l'account Account AWS che possiede il bucket è anche l'account padre di un principale IAM, può configurare le autorizzazioni del bucket in una policy utente. 

 Di seguito è illustrato il grafico della valutazione basata sul contesto per un'operazione su un bucket. 

![\[Illustrazione che mostra la valutazione basata sul contesto per l'operazione del bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/AccessControlAuthorizationFlowBucketResource.png)


Negli esempi seguenti viene illustrata la logica di valutazione. 

## Esempio 1: operazione su un bucket richiesta dal proprietario del bucket
<a name="example1-policy-eval-logic"></a>

 In questo esempio, il proprietario del bucket invia una richiesta per un'operazione sul bucket utilizzando le credenziali dell'utente root dell' Account AWS. 

![\[Illustrazione che mostra un'operazione sul bucket richiesta dal proprietario del bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/example10-policy-eval-logic.png)


 Amazon S3 esegue la valutazione del contesto come indicato di seguito:

1.  Poiché la richiesta viene eseguita utilizzando le credenziali dell'utente root di un Account AWS, il contesto dell'utente non viene valutato.

1.  Nel contesto del bucket, Amazon S3 esamina la policy del bucket per determinare se il richiedente dispone dell'autorizzazione per eseguire l'operazione. Amazon S3 autorizza la richiesta. 

## Esempio 2: operazione del bucket richiesta da un utente Account AWS che non è il proprietario del bucket
<a name="example2-policy-eval-logic"></a>

In questo esempio, viene eseguita una richiesta utilizzando le credenziali dell'utente root dell' Account AWS 1111-1111-1111 per un'operazione sul bucket che appartiene all' Account AWS 2222-2222-2222. Nessun utente IAM è coinvolto in questa richiesta.

![\[Illustrazione che mostra un'operazione sul bucket richiesta da un Account AWS che non è il proprietario del bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/example20-policy-eval-logic.png)


In questo esempio, Amazon S3 valuta il contesto come segue:

1. Poiché la richiesta viene effettuata utilizzando le credenziali dell'utente root di an Account AWS, il contesto utente non viene valutato.

1. Nel contesto del bucket, Amazon S3 esamina la policy del bucket. Se il proprietario del bucket (Account AWS 2222-2222-2222) non ha autorizzato Account AWS 1111-1111-1111 a eseguire l'operazione richiesta, Amazon S3 nega la richiesta. Altrimenti, Amazon S3 accetta la richiesta ed esegue l'operazione.

## Esempio 3: operazione bucket richiesta da un principale IAM il cui genitore è anche il proprietario del bucket Account AWS
<a name="example3-policy-eval-logic"></a>

 Nell'esempio, la richiesta viene inviata da Jill, un utente IAM nell' Account AWS 1111-1111-1111, che è anche il proprietario del bucket. 

![\[Illustrazione che mostra un'operazione sul bucket richiesta da un principale IAM e dal proprietario del bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/example30-policy-eval-logic.png)


 Amazon S3 esegue la seguente valutazione del contesto:

1.  Poiché la richiesta proviene da un responsabile IAM, nel contesto dell'utente, Amazon S3 valuta tutte le policy che appartengono al principale per determinare se Jill è autorizzata Account AWS a eseguire l'operazione. 

    In questo esempio, il genitore Account AWS 1111-1111-1111, a cui appartiene il principale, è anche il proprietario del bucket. Di conseguenza, oltre alla policy dell'utente, Amazon S3 valuta anche la policy del bucket e la ACL del bucket nello stesso contesto, poiché appartengono allo stesso account.

1. Poiché Amazon S3 ha valutato la policy del bucket e l'ACL del bucket come parte del contesto dell'utente, non valuta il contesto del bucket.

## Esempio 4: operazione del bucket richiesta da un principale IAM il cui genitore non è il proprietario del bucket Account AWS
<a name="example4-policy-eval-logic"></a>

In questo esempio, la richiesta viene inviata da Jill, un utente IAM il cui genitore Account AWS è 1111-1111-1111, ma il bucket è di proprietà di un altro utente, 2222-2222-2222. Account AWS

![\[Illustrazione che mostra un'operazione sul bucket richiesta da un principale IAM che non è il proprietario del bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/example40-policy-eval-logic.png)


Jill avrà bisogno delle autorizzazioni sia del genitore che del proprietario del bucket. Account AWS Amazon S3 valuta il contesto come indicato di seguito:

1. Poiché la richiesta proviene da un principale IAM, Amazon S3 valuta il contesto dell'utente esaminando le policy create dall'account per verificare che Jill disponga delle autorizzazioni necessarie. Se Jill ha l'autorizzazione, Amazon S3 passa a valutare il contesto del bucket. Se Jill non ha l'autorizzazione, nega la richiesta.

1.  Nel contesto del bucket, Amazon S3 verifica che il proprietario del bucket 2222-2222-2222 abbia concesso a Jill (o al suo genitore) l'autorizzazione a eseguire l'operazione richiesta. Account AWS Se dispone di tale autorizzazione, Amazon S3 concede la richiesta ed esegue l'operazione. In caso contrario, Amazon S3 rifiuta la richiesta. 

# In che modo Amazon S3 autorizza una richiesta per un'operazione su un oggetto
<a name="access-control-auth-workflow-object-operation"></a>

Quando riceve una richiesta per un'operazione su un oggetto, Amazon S3 converte tutte le autorizzazioni rilevanti, ovvero le autorizzazioni basate sulle risorse (lista di controllo accessi (ACL) dell'oggetto, policy del bucket e ACL del bucket) e le policy utente IAM, in un set di policy da valutare in fase di esecuzione. Valuta quindi l'insieme di policy risultante in una serie di fasi. In ogni fase, valuta un sottoinsieme di policy in tre contesti specifici: contesto dell'utente, contesto del bucket e contesto dell'oggetto:

1. **Contesto utente**: se il richiedente è un preside IAM, deve avere l'autorizzazione del genitore a cui appartiene. Account AWS In questa fase, Amazon S3 valuta un sottoinsieme di policy appartenenti all'account padre (denominato anche autorità del contesto). Questo sottoinsieme include la policy utente che l'account padre ha associato al principale. Se il padre possiede anche la risorsa nella richiesta (bucket o oggetto), Amazon S3 valuta le policy delle risorse corrispondenti (policy del bucket, ACL del bucket e ACL dell'oggetto) allo stesso tempo. 
**Nota**  
Se il genitore Account AWS possiede la risorsa (bucket o oggetto), può concedere le autorizzazioni relative alla risorsa al suo responsabile IAM utilizzando la politica utente o la politica delle risorse. 

1. **Contesto del bucket**: in questo contesto Amazon S3 valuta le policy che appartengono all' Account AWS proprietario del bucket.

   Se il Account AWS proprietario dell'oggetto nella richiesta non è lo stesso del proprietario del bucket, Amazon S3 verifica le politiche se il proprietario del bucket ha negato esplicitamente l'accesso all'oggetto. Se è stato impostato un rifiuto esplicito sull'oggetto, Amazon S3 non autorizza la richiesta. 

1. **Contesto dell'oggetto** – Il richiedente deve disporre delle autorizzazioni concesse dal proprietario dell'oggetto per eseguire un'operazione specifica sull'oggetto. In questa fase, Amazon S3 valuta l'ACL dell'oggetto. 
**Nota**  
Se il proprietario del bucket corrisponde a quello dell'oggetto, l'accesso all'oggetto può essere concesso nella policy del bucket, che viene valutata nel contesto del bucket. Se i proprietari sono differenti, il proprietario dell'oggetto devono utilizzare un'ACL dell'oggetto per concedere le autorizzazioni. Se il Account AWS proprietario dell'oggetto è anche l'account principale a cui appartiene il principale IAM, può configurare le autorizzazioni dell'oggetto in una politica utente, che viene valutata nel contesto dell'utente. Per ulteriori informazioni su come utilizzare queste policy di accesso alternative, consulta la sezione [Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3](example-walkthroughs-managing-access.md).  
Se in qualità di proprietario del bucket desideri possedere tutti gli oggetti nel tuo bucket e utilizzare politiche del bucket o politiche basate sulla IAMto gestione dell'accesso a questi oggetti, puoi applicare l'impostazione applicata dal proprietario del bucket per Object Ownership. Con questa impostazione, in quanto proprietario del bucket possiedi automaticamente e hai il pieno controllo su ogni oggetto nel bucket. Il bucket e l'oggetto non ACLs possono essere modificati e non sono più considerati accessibili. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

 Di seguito è riportata un'illustrazione della valutazione basata sul contesto per un'operazione su un oggetto.

![\[Illustrazione che mostra la valutazione basata sul contesto per un'operazione su un oggetto.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/AccessControlAuthorizationFlowObjectResource.png)


## Esempio di richiesta di operazione su un oggetto
<a name="access-control-auth-workflow-object-operation-example1"></a>

In questo esempio, l'utente IAM Jill, il cui genitore Account AWS è 1111-1111-1111, invia una richiesta di operazione sull'oggetto (ad esempio,`GetObject`) per un oggetto di proprietà di Account AWS 3333-3333-3333 in un bucket di proprietà di 2222-2222-2222. Account AWS 

![\[Illustrazione che mostra una richiesta di operazione su un oggetto.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/example50-policy-eval-logic.png)


Jill avrà bisogno dell'autorizzazione del genitore, del proprietario del bucket e del proprietario dell'oggetto. Account AWS Amazon S3 valuta il contesto come indicato di seguito:

1. Poiché la richiesta proviene da un principale IAM, Amazon S3 valuta il contesto dell'utente per verificare che il genitore Account AWS 1111-1111-1111 abbia concesso a Jill il permesso di eseguire l'operazione richiesta. Se Jill dispone di tale autorizzazione, Amazon S3 valuta il contesto del bucket. In caso contrario, Amazon S3 rifiuta la richiesta.

1. Nel contesto del bucket, il proprietario del bucket, 2222-2222-2222, è l'autorità del contesto. Account AWS Amazon S3 valuta la policy del bucket per determinare se il proprietario del bucket ha negato in modo esplicito l'accesso all'oggetto. 

1. Nel contesto dell'oggetto, l'autorità del contesto è l' Account AWS 3333-3333-3333, ovvero il proprietario dell'oggetto. Amazon S3 valuta l'ACL dell'oggetto per determinare se Jill dispone dell'autorizzazione per accedere all'oggetto. In caso affermativo, Amazon S3 autorizza la richiesta. 

# Autorizzazioni necessarie per le operazioni API di Amazon S3
<a name="using-with-s3-policy-actions"></a>

**Nota**  
Questa pagina riguarda le azioni delle policy di Amazon S3 per i bucket per uso generico. Per saperne di più sulle azioni delle policy di Amazon S3 per i bucket di directory, consulta [Azioni per i bucket della directory](s3-express-security-iam.md#s3-express-security-iam-actions).

Per eseguire un'operazione API S3, è necessario disporre delle giuste autorizzazioni. Questa pagina mappa le operazioni API S3 alle autorizzazioni richieste. Per concedere le autorizzazioni per l'esecuzione di un'operazione API S3, è necessario comporre una policy valida (come una policy S3 bucket o una policy IAM basata sull'identità) e specificare le azioni corrispondenti nell'elemento `Action` della policy. Queste azioni sono chiamate azioni policy. Non tutte le operazioni API S3 sono rappresentate da un singolo permesso (una singola azione di policy) e alcuni permessi (alcune azioni di policy) sono necessari per molte operazioni API diverse. 

Quando si compongono le policy, è necessario specificare l'elemento `Resource` in base al tipo di risorsa corretta richiesta dalle azioni della policy Amazon S3 corrispondente. Questa pagina classifica le autorizzazioni alle operazioni API S3 in base ai tipi di risorse. Per ulteriori informazioni sui tipi di risorse, consulta [Tipi di risorse definiti da Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies) in *Riferimento alle autorizzazioni di servizio*. Per un elenco completo delle azioni, delle risorse e delle chiavi di condizione per le policy di Amazon S3, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *Riferimento alle autorizzazioni di servizio*. Per un elenco completo delle operazioni API di Amazon S3, consulta [Azioni API di Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/API/API_Operations.html) in *Riferimento API di Amazon Simple Storage Service*.

Per ulteriori informazioni su come correggere gli errori HTTP `403 Forbidden` in S3, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md). Per ulteriori informazioni sulle funzionalità IAM da utilizzare con S3, consulta [Come funziona Amazon S3 con IAM](security_iam_service-with-iam.md). Per ulteriori informazioni sulle best practice di sicurezza S3, consulta [Best practice di sicurezza per Amazon S3](security-best-practices.md). 

**Topics**
+ [Operazioni e autorizzazioni del bucket](#using-with-s3-policy-actions-related-to-buckets)
+ [Operazioni e autorizzazioni degli oggetti](#using-with-s3-policy-actions-related-to-objects)
+ [Operazioni sui punti di accesso di bucket per uso generico e autorizzazioni](#using-with-s3-policy-actions-related-to-accesspoint)
+ [Operazioni e autorizzazioni del punto di accesso Lambda per oggetti](#using-with-s3-policy-actions-related-to-olap)
+ [Operazioni e autorizzazioni dei punti di accesso multiregionali](#using-with-s3-policy-actions-related-to-mrap)
+ [Operazioni e autorizzazioni per i processi batch](#using-with-s3-policy-actions-related-to-batchops)
+ [Operazioni e autorizzazioni di configurazione di S3 Storage Lens](#using-with-s3-policy-actions-related-to-lens)
+ [Operazioni e autorizzazioni dei gruppi S3 Storage Lens](#using-with-s3-policy-actions-related-to-lens-groups)
+ [Operazioni sull’istanza S3 Access Grants e autorizzazioni](#using-with-s3-policy-actions-related-to-s3ag-instances)
+ [Operazioni sulla posizione S3 Access Grants e autorizzazioni](#using-with-s3-policy-actions-related-to-s3ag-locations)
+ [Operazioni sulla concessione S3 Access Grants e autorizzazioni](#using-with-s3-policy-actions-related-to-s3ag-grants)
+ [Operazioni e autorizzazioni dell'account](#using-with-s3-policy-actions-related-to-accounts)

## Operazioni e autorizzazioni del bucket
<a name="using-with-s3-policy-actions-related-to-buckets"></a>

Le operazioni sui bucket sono operazioni API S3 che operano sul tipo di risorsa bucket. È necessario specificare le azioni delle policy S3 per le operazioni sui bucket nelle policy sui bucket o nelle policy IAM basate sull'identità.

Nelle policy, l'elemento `Resource` deve essere il nome della risorsa Amazon (ARN) del bucket. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni relative ai bucket](security_iam_service-with-iam.md#using-with-s3-actions-related-to-buckets).

**Nota**  
Per concedere le autorizzazioni alle operazioni di bucket nelle policy dei punti di accesso, tieni presente quanto segue:  
Le autorizzazioni concesse per le operazioni sui bucket in una policy del punto di accesso sono efficaci solo se il bucket sottostante consente le stesse autorizzazioni. Quando si utilizza un punto di accesso, è necessario delegare il controllo dell'accesso dal bucket al punto di accesso o aggiungere le stesse autorizzazioni nella policy del punto di accesso alla policy del bucket sottostante.
Nelle policy dei punti di accesso che concedono autorizzazioni alle operazioni di bucket, l'elemento `Resource` deve essere l'ARN `accesspoint`. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni su bucket nelle policy per i punti di accesso di bucket per uso generico](security_iam_service-with-iam.md#bucket-operations-ap). Per ulteriori informazioni sulle policy dei punti di accesso, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md). 
Non tutte le operazioni di bucket sono supportate dai punti di accesso. Per ulteriori informazioni, consulta [Compatibilità dei punti di accesso con le operazioni S3](access-points-service-api-support.md#access-points-operations-support).

Di seguito è riportata la mappatura delle operazioni sui bucket e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)  |  (Obbligatorio) `s3:CreateBucket`  |  Richiesto per creare un nuovo bucket s3.  | 
|    |  (Obbligo condizionale) `s3:PutBucketAcl`  |  Necessario se si desidera utilizzare una lista di controllo degli accessi (ACL) per specificare le autorizzazioni su un bucket quando si effettua una richiesta `CreateBucket`.  | 
|    |  (Obbligo condizionale) `s3:PutBucketObjectLockConfiguration`, `s3:PutBucketVersioning`  |  Richiesto se si desidera attivare Object Lock quando si crea un bucket.  | 
|    |  (Obbligo condizionale) `s3:PutBucketOwnershipControls`  |  Richiesto se si desidera specificare la proprietà dell'oggetto S3 quando si crea un bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html) (operazione API V2, il nome dell’azione della policy IAM è uguale per le operazioni API V1 e V2).  |  (Obbligatorio)`s3:CreateBucketMetadataTableConfiguration`,,,,, `s3tables:CreateTableBucket` `s3tables:CreateNamespace` `s3tables:CreateTable` `s3tables:GetTable` `s3tables:PutTablePolicy` `s3tables:PutTableEncryption` `kms:DescribeKey`  |  Richiesto per creare la configurazione di una tabella di metadati su un bucket per uso generico.  Per creare il bucket di tabelle AWS gestito e le tabelle di metadati specificate nella configurazione della tabella di metadati, è necessario disporre delle autorizzazioni specificate. `s3tables` Per crittografare le tabelle dei metadati utilizzando la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), sono necessarie autorizzazioni aggiuntive nella policy della chiave KMS. Per ulteriori informazioni, consulta [Impostazione delle autorizzazioni per la configurazione delle tabelle di metadati](metadata-tables-permissions.md). Se desideri integrare anche il tuo bucket di tabelle AWS gestite con i servizi di AWS analisi in modo da poter interrogare la tabella di metadati, hai bisogno di autorizzazioni aggiuntive. Per ulteriori informazioni, consulta [Integrazione delle tabelle Amazon S3 con i servizi di analisi di AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html).  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html) (operazione API V1)  |  (Obbligatorio) `s3:CreateBucketMetadataTableConfiguration`, `s3tables:CreateNamespace`, `s3tables:CreateTable`, `s3tables:GetTable`, `s3tables:PutTablePolicy`  |  Richiesto per creare la configurazione di una tabella di metadati su un bucket per uso generico.  Per creare la tabella dei metadati nel bucket della tabella specificato nella configurazione della tabella dei metadati, è necessario disporre dei permessi specificati in `s3tables`. Per crittografare le tabelle dei metadati utilizzando la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), sono necessarie ulteriori autorizzazioni. Per ulteriori informazioni, consulta [Impostazione delle autorizzazioni per la configurazione delle tabelle di metadati](metadata-tables-permissions.md). Se desideri integrare anche il tuo table bucket con i servizi di AWS analisi in modo da poter interrogare la tabella dei metadati, hai bisogno di autorizzazioni aggiuntive. Per ulteriori informazioni, consulta [Integrazione delle tabelle Amazon S3 AWS con](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) i servizi di analisi.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)  |  (Obbligatorio) `s3:DeleteBucket`  |  Richiesto per eliminare un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html)  |  (Obbligatorio) `s3:PutAnalyticsConfiguration`  |  Richiesto per eliminare una configurazione analitica S3 da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html)  |  (Obbligatorio) `s3:PutBucketCORS`  |  Richiesto per eliminare la configurazione della condivisione delle risorse in origine incrociata (CORS) per un bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html)  |  (Obbligatorio) `s3:PutEncryptionConfiguration`  |  Richiesto per reimpostare la configurazione di crittografia predefinita per un bucket S3 come crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3).  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)  |  (Obbligatorio) `s3:PutIntelligentTieringConfiguration`  |  Necessario per eliminare la configurazione S3 Intelligent-Tiering esistente da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html)  |  (Obbligatorio) `s3:PutInventoryConfiguration`  |  Richiesto per eliminare una configurazione dell'inventario S3 da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html)  |  (Obbligatorio) `s3:PutLifecycleConfiguration`  |  Richiesto per eliminare la configurazione del ciclo di vita S3 per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html) (operazione API V2, il nome dell’azione della policy IAM è uguale per le operazioni API V1 e V2).  |  (Obbligatorio) `s3:DeleteBucketMetadataTableConfiguration`  |  Richiesto per eliminare la configurazione di una tabella di metadati da un bucket per uso generico.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html) (operazione API V1)  |  (Obbligatorio) `s3:DeleteBucketMetadataTableConfiguration`  |  Richiesto per eliminare la configurazione di una tabella di metadati da un bucket per uso generico.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html)  |  (Obbligatorio) `s3:PutMetricsConfiguration`  |  Necessario per eliminare una configurazione dei parametri per i parametri di CloudWatch richiesta Amazon da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html)   |  (Obbligatorio) `s3:PutBucketOwnershipControls`  |  Richiesto per rimuovere l'impostazione della proprietà dell'oggetto per un bucket S3. Dopo la rimozione, l'impostazione Proprietà oggetto diventa `Object writer`.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html)  |  (Obbligatorio) `s3:DeleteBucketPolicy`  |  Richiesto per eliminare la policy di un bucket S3.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html)  |  (Obbligatorio) `s3:PutReplicationConfiguration`  |  Richiesto per eliminare la configurazione di replica di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html)  |  (Obbligatorio) `s3:PutBucketTagging`  |  Richiesto per eliminare i tag da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html)  |  (Obbligatorio) `s3:DeleteBucketWebsite`  |  Richiesto per rimuovere la configurazione del sito web per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) (a livello di bucket)  |  (Obbligatorio) `s3:PutBucketPublicAccessBlock`  |  Richiesto per rimuovere la configurazione di accesso pubblico a blocchi per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html)  |  (Obbligatorio) `s3:GetAccelerateConfiguration`  |  Necessario per utilizzare la sotto-risorsa accelerate per restituire lo stato di Amazon S3 Transfer Acceleration di un bucket, che è Enabled o Suspended.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)  |  (Obbligatorio) `s3:GetBucketAcl`  |  Richiesto per restituire la lista di controllo degli accessi (ACL) di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html)  |  (Obbligatorio) `s3:GetAnalyticsConfiguration`  |  Richiesto per restituire una configurazione di analisi identificata dall'ID della configurazione di analisi da un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)  |  (Obbligatorio) `s3:GetBucketCORS`  |  Richiesto per restituire la configurazione della condivisione delle risorse in provenienza incrociata (CORS) per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)  |  (Obbligatorio) `s3:GetEncryptionConfiguration`  |  Richiesto per ripristinare la configurazione di crittografia predefinita per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)  |  (Obbligatorio) `s3:GetIntelligentTieringConfiguration`  |  Richiesto per ottenere la configurazione S3 Intelligent-Tiering di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html)  |  (Obbligatorio) `s3:GetInventoryConfiguration`  |  Richiesto per restituire una configurazione d'inventario identificata dall'ID della configurazione d'inventario dal bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)  |  (Obbligatorio) `s3:GetLifecycleConfiguration`  |  Richiesto per restituire la configurazione S3 Lifecycle del bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)  |  (Obbligatorio) `s3:GetBucketLocation`  |  Obbligatorio per restituire il file in Regione AWS cui risiede un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html)  |  (Obbligatorio) `s3:GetBucketLogging`  |  Richiesto per restituire lo stato di registrazione di un bucket S3 e le autorizzazioni che gli utenti hanno per visualizzare e modificare tale stato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html) (operazione API V2, il nome dell’azione della policy IAM è uguale per le operazioni API V1 e V2).  |  (Obbligatorio) `s3:GetBucketMetadataTableConfiguration`  |  Richiesto per recuperare la configurazione di una tabella di metadati per un bucket per uso generico.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html) (operazione API V1)  |  (Obbligatorio) `s3:GetBucketMetadataTableConfiguration`  |  Richiesto per recuperare la configurazione di una tabella di metadati per un bucket per uso generico.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html)  |  (Obbligatorio) `s3:GetMetricsConfiguration`  |  Richiesto per ottenere una configurazione di metriche specificata dall'ID della configurazione di metriche dal bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)  |  (Obbligatorio) `s3:GetBucketNotification`  |  Richiesto per restituire la configurazione di notifica di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html)  |  (Obbligatorio) `s3:GetBucketOwnershipControls`  |  Richiesto per recuperare l'impostazione della proprietà dell'oggetto per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)  |  (Obbligatorio) `s3:GetBucketPolicy`  |  Richiesto per restituire la policy di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)  |  (Obbligatorio) `s3:GetBucketPolicyStatus`  |  Richiesto per recuperare lo stato delle policy per un bucket S3, che indica se il bucket è pubblico.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html)  |  (Obbligatorio) `s3:GetReplicationConfiguration`  |  Richiesto per restituire la configurazione di replica di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html)  |  (Obbligatorio) `s3:GetBucketRequestPayment`  |  Richiesto per restituire la configurazione del pagamento della richiesta per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)  |  (Obbligatorio) `s3:GetBucketVersioning`  |  Richiesto per restituire lo stato di controllo delle versioni di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html)  |  (Obbligatorio) `s3:GetBucketTagging`  |  Richiesto per restituire il set di tag associato a un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html)  |  (Obbligatorio) `s3:GetBucketWebsite`  |  Richiesto per restituire la configurazione del sito web per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html)  |  (Obbligatorio) `s3:GetBucketObjectLockConfiguration`  |  Richiesto per ottenere la configurazione di Object Lock per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) (a livello di bucket)  |  (Obbligatorio) `s3:GetBucketPublicAccessBlock`  |  Richiesto per recuperare la configurazione di accesso pubblico ai blocchi per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)  |  (Obbligatorio) `s3:ListBucket`  |  Richiesto per determinare se un bucket esiste e se si ha il permesso di accedervi.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html)  |  (Obbligatorio) `s3:GetAnalyticsConfiguration`  |  Richiesto per elencare le configurazioni di analisi per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html)  |  (Obbligatorio) `s3:GetIntelligentTieringConfiguration`  |  Richiesto per elencare le configurazioni S3 Intelligent-Tiering di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html)  |  (Obbligatorio) `s3:GetInventoryConfiguration`  |  Richiesto per restituire un elenco di configurazioni di inventario per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html)  |  (Obbligatorio) `s3:GetMetricsConfiguration`  |  Richiesto per elencare le configurazioni delle metriche per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)  |  (Obbligatorio) `s3:ListBucket`  |  Richiesto per elencare alcuni o tutti (fino a 1.000) gli oggetti di un bucket S3.  | 
|    |  (Obbligo condizionale) `s3:GetObjectAcl`  |  Richiesto se si desidera visualizzare le informazioni sul proprietario dell'oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)  |  (Obbligatorio) `s3:ListBucket`  |  Richiesto per elencare alcuni o tutti (fino a 1.000) gli oggetti di un bucket S3.  | 
|    |  (Obbligo condizionale) `s3:GetObjectAcl`  |  Richiesto se si desidera visualizzare le informazioni sul proprietario dell'oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)  |  (Obbligatorio) `s3:ListBucketVersions`  |  Necessario per ottenere metadati su tutte le versioni degli oggetti in un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html)  |  (Obbligatorio) `s3:PutAccelerateConfiguration`  |  Richiesto per impostare la configurazione di accelerazione di un bucket esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html)  |  (Obbligatorio) `s3:PutBucketAcl`  |  Necessario per utilizzare gli elenchi di controllo degli accessi (ACLs) per impostare le autorizzazioni su un bucket esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html)  |  (Obbligatorio) `s3:PutAnalyticsConfiguration`  |  Richiesto per impostare una configurazione analitica per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html)  |  (Obbligatorio) `s3:PutBucketCORS`  |  Richiesto per impostare la configurazione della condivisione delle risorse in provenienza incrociata (CORS) per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)  |  (Obbligatorio) `s3:PutEncryptionConfiguration`  |  Richiesto per configurare la crittografia predefinita per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)  |  (Obbligatorio) `s3:PutIntelligentTieringConfiguration`  |  Richiesto per inserire la configurazione S3 Intelligent-Tiering in un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html)  |  (Obbligatorio) `s3:PutInventoryConfiguration`  |  Richiesto per aggiungere una configurazione di inventario a un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)  |  (Obbligatorio) `s3:PutLifecycleConfiguration`  |  Richiesto per creare una nuova configurazione del ciclo di vita S3 o per sostituire una configurazione del ciclo di vita esistente per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html)  |  (Obbligatorio) `s3:PutBucketLogging`  |  Necessario per impostare i parametri di registrazione per un bucket S3 e specificare le autorizzazioni per chi può visualizzare e modificare i parametri di registrazione.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html)  |  (Obbligatorio) `s3:PutMetricsConfiguration`  |  Necessario per impostare o aggiornare una configurazione dei parametri per i parametri di CloudWatch richiesta Amazon di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html)  |  (Obbligatorio) `s3:PutBucketNotification`  |  Necessario per abilitare le notifiche di eventi specifici per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html)  |  (Obbligatorio) `s3:PutBucketOwnershipControls`  |  Richiesto per creare o modificare l'impostazione della proprietà dell'oggetto per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)  |  (Obbligatorio) `s3:PutBucketPolicy`  |  Richiesto per applicare una policy del bucket S3 a un bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html)  |  (Obbligatorio) `s3:PutReplicationConfiguration`  |  Necessario per creare una nuova configurazione di replica o sostituirne una esistente per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html)  |  (Obbligatorio) `s3:PutBucketRequestPayment`  |  Richiesto per impostare la configurazione del pagamento della richiesta per un bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html)  |  (Obbligatorio) `s3:PutBucketTagging`  |  Richiesto per aggiungere una serie di tag a un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html)  |  (Obbligatorio) `s3:PutBucketVersioning`  |  Richiesto per impostare lo stato di controllo delle versioni di un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html)  |  (Obbligatorio) `s3:PutBucketWebsite`  |  Richiesto per configurare un bucket come sito web e impostare la configurazione del sito web.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html)  |  (Obbligatorio) `s3:PutBucketObjectLockConfiguration`  |  Richiesto per mettere la configurazione di Object Lock su un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) (a livello di bucket)  |  (Obbligatorio) `s3:PutBucketPublicAccessBlock`  |  Richiesto per creare o modificare la configurazione di accesso pubblico a blocchi per un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html)  |  (Obbligatorio)`s3:UpdateBucketMetadataInventoryTableConfiguration`,,,`s3tables:CreateTableBucket`,,`s3tables:CreateNamespace`, `s3tables:CreateTable` `s3tables:GetTable` `s3tables:PutTablePolicy` `s3tables:PutTableEncryption` `kms:DescribeKey`  |  Richiesto per abilitare o disabilitare una tabella di inventario per una configurazione della tabella dei metadati su un bucket per uso generico. Per crittografare la tabella di inventario utilizzando la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), sono necessarie ulteriori autorizzazioni nella policy della chiave KMS. Per ulteriori informazioni, consulta [Impostazione delle autorizzazioni per la configurazione delle tabelle di metadati](metadata-tables-permissions.md).  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html)  |  (Obbligatorio) `s3:UpdateBucketMetadataJournalTableConfiguration`  |  Richiesto per abilitare o disabilitare la scadenza dei record della tabella del diario per una configurazione della tabella dei metadati su un bucket per uso generico.  | 

## Operazioni e autorizzazioni degli oggetti
<a name="using-with-s3-policy-actions-related-to-objects"></a>

Le operazioni sugli oggetti sono operazioni API S3 che operano sul tipo di risorsa oggetto. È necessario specificare le azioni delle policy S3 per le operazioni sugli oggetti nelle policy basate sulle risorse (come le policy sui bucket, sui punti di accesso, sui punti di accesso multiregionali e sugli endpoint VPC) o nelle policy IAM basate sull'identità.

Nelle policy, l'elemento `Resource` deve essere l'ARN dell'oggetto. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni con gli oggetti](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects). 

**Nota**  
AWS KMS le azioni politiche (`kms:GenerateDataKey`e`kms:Decrypt`) sono applicabili solo per il tipo di AWS KMS risorsa e devono essere specificate nelle politiche basate sull'identità IAM e nelle politiche basate sulle AWS KMS risorse (politiche chiave).AWS KMS Non è possibile specificare azioni AWS KMS politiche nelle policy basate sulle risorse di S3, come le policy dei bucket S3.
Quando si utilizzano i punti di accesso per controllare l'accesso alle operazioni degli oggetti, è possibile utilizzare le policy dei punti di accesso. Per concedere le autorizzazioni alle operazioni sugli oggetti nelle policy dei punti di accesso, tieni presente quanto segue:  
Nelle politiche dei punti di accesso che concedono le autorizzazioni alle operazioni sugli oggetti, l'`Resource`elemento deve essere lo stesso ARNs per gli oggetti a cui si accede tramite un punto di accesso. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni sugli oggetti nelle policy dei punti di accesso](security_iam_service-with-iam.md#object-operations-ap).
Non tutte le operazioni sugli oggetti sono supportate dai punti di accesso. Per ulteriori informazioni, consulta [Compatibilità dei punti di accesso con le operazioni S3](access-points-service-api-support.md#access-points-operations-support).
Non tutte le operazioni sugli oggetti sono supportate dai punti di accesso multiregionali. Per ulteriori informazioni, consulta [Compatibilità dei punti di accesso multi-regione con le operazioni S3](MrapOperations.md#mrap-operations-support).

Di seguito è riportata la mappatura delle operazioni degli oggetti e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)  |  (Obbligatorio) `s3:AbortMultipartUpload`  |  Richiesto per interrompere un caricamento multiparte.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  (Obbligatorio) `s3:PutObject`  |  Richiesto per completare un caricamento multiparte.  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se si desidera completare un caricamento in più parti per un oggetto crittografato con chiave gestita AWS KMS dal cliente.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)  |  Per l'oggetto di origine:  |  Per l'oggetto di origine:  | 
|    |  (Obbligatorio) `s3:GetObject` o `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se si desidera copiare un oggetto crittografato con chiave gestita dal AWS KMS cliente dal bucket di origine.   | 
|    |  Per l'oggetto di destinazione:  |  Per l'oggetto di destinazione:  | 
|    |  (Obbligatorio) `s3:PutObject`  |  Richiesto per inserire l'oggetto copiato nel bucket di destinazione.  | 
|    |  (Obbligo condizionale) `s3:PutObjectAcl`  |  Necessario se si desidera inserire l'oggetto copiato con la lista di controllo degli accessi (ACL) dell'oggetto nel bucket di destinazione quando si effettua una richiesta `CopyObject`.  | 
|    |  (Obbligo condizionale) `s3:PutObjectTagging`  |  Richiesto se si vuole mettere l'oggetto copiato con il tagging dell'oggetto nel bucket di destinazione quando si fa una richiesta a `CopyObject`.  | 
|    |  (Obbligo condizionale) `kms:GenerateDataKey`  |  Obbligatorio se si desidera crittografare l'oggetto copiato con una chiave gestita AWS KMS dal cliente e inserirlo nel bucket di destinazione.   | 
|    |  (Obbligo condizionale) `s3:PutObjectRetention`  |  Richiesto se si desidera impostare una configurazione di conservazione Object Lock per il nuovo oggetto.  | 
|    |  (Obbligo condizionale) `s3:PutObjectLegalHold`  |  Richiesto se si desidera inserire un blocco legale Object Lock del nuovo oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)  |  (Obbligatorio) `s3:PutObject`  |  Richiesto per creare un caricamento multiparte.  | 
|    |  (Obbligo condizionale) `s3:PutObjectAcl`  |  Richiesto se si desidera impostare le autorizzazioni della lista di controllo degli accessi (ACL) per l'oggetto caricato.  | 
|    |  (Obbligo condizionale) `s3:PutObjectTagging`  |  Richiesto se si desidera aggiungere uno o più tag all'oggetto caricato.  | 
|    |  (Obbligo condizionale) `kms:GenerateDataKey`  |  Obbligatorio se si desidera utilizzare una chiave gestita AWS KMS dal cliente per crittografare un oggetto quando si avvia un caricamento in più parti.   | 
|    |  (Obbligo condizionale) `s3:PutObjectRetention`  |  Richiesto se si desidera impostare una configurazione di conservazione Object Lock per l'oggetto caricato.  | 
|    |  (Obbligo condizionale) `s3:PutObjectLegalHold`  |  Richiesto se si desidera applicare un blocco legale Object Lock all'oggetto caricato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)  |  (Obbligatorio) `s3:DeleteObject` o `s3:DeleteObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `s3:BypassGovernanceRetention`  |  Necessario se si desidera eliminare un oggetto protetto dalla modalità di governance per la conservazione Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)  |  (Obbligatorio) `s3:DeleteObject` o `s3:DeleteObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `s3:BypassGovernanceRetention`  |  Necessario se si desidera eliminare gli oggetti protetti dalla modalità di governance per la conservazione Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  (Obbligatorio) `s3:DeleteObjectTagging` o `s3:DeleteObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)  |  (Obbligatorio) `s3:GetObject` o `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se si desidera ottenere e decrittografare un oggetto crittografato con chiave gestita AWS KMS dal cliente.   | 
|    |  (Obbligo condizionale) `s3:GetObjectTagging`  |  Richiesto se si vuole ottenere il set di tag di un oggetto quando si fa una richiesta a `GetObject`.  | 
|    |  (Obbligo condizionale) `s3:GetObjectLegalHold`  |  Richiesto se si vuole ottenere lo stato attuale di blocco legale Object Lock di un oggetto.  | 
|    |  (Obbligo condizionale) `s3:GetObjectRetention`  |  Richiesto se si desidera recuperare le impostazioni di conservazione Object Lock per un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)  |  (Obbligatorio) `s3:GetObjectAcl` o `s3:GetObjectVersionAcl`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)  |  (Obbligatorio) `s3:GetObject` o `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se si desidera recuperare gli attributi relativi a un oggetto crittografato con chiave gestita AWS KMS dal cliente.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)  |  (Obbligatorio) `s3:GetObjectLegalHold`  |  Richiesto per ottenere lo stato attuale di blocco legale Object Lock di un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)  |  (Obbligatorio) `s3:GetObjectRetention`  |  Richiesto per recuperare le impostazioni di conservazione Object Lock per un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)  |  (Obbligatorio) `s3:GetObjectTagging` o `s3:GetObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTorrent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTorrent.html)  |  (Obbligatorio) `s3:GetObject`  |  Richiesto per restituire i file torrent di un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)  |  (Obbligatorio) `s3:GetObject`  |  Richiesto per recuperare i metadati da un oggetto senza restituire l'oggetto stesso.  | 
|    |  (Obbligo condizionale) `s3:GetObjectLegalHold`  |  Richiesto se si vuole ottenere lo stato attuale di blocco legale Object Lock di un oggetto.  | 
|    |  (Obbligo condizionale) `s3:GetObjectRetention`  |  Richiesto se si desidera recuperare le impostazioni di conservazione Object Lock per un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)  |  (Obbligatorio) `s3:ListBucketMultipartUploads`  |  Richiesto per elencare i caricamenti multiparte in corso in un bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)  |  (Obbligatorio) `s3:ListMultipartUploadParts`  |  Richiesto per elencare le parti che sono state caricate per uno specifico caricamento multiparte.  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se desideri elencare parti di un caricamento multiparte con chiave crittografata gestita dal AWS KMS cliente.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)  |  (Obbligatorio) `s3:PutObject`  |  Richiesto per inserire un oggetto.  | 
|    |  (Obbligo condizionale) `s3:PutObjectAcl`  |  Richiesto se si desidera inserire la lista di controllo degli accessi (ACL) dell'oggetto quando si effettua una richiesta `PutObject`.  | 
|    |  (Obbligo condizionale) `s3:PutObjectTagging`  |  Richiesto se si vuole inserire l'etichetta dell'oggetto quando si fa una richiesta a `PutObject`.  | 
|    |  (Obbligo condizionale) `kms:GenerateDataKey`  |  Obbligatorio se si desidera crittografare un oggetto con una chiave gestita AWS KMS dal cliente.   | 
|    |  (Obbligo condizionale) `s3:PutObjectRetention`  |  Richiesto se si desidera impostare una configurazione di conservazione Object Lock per un oggetto.  | 
|    |  (Obbligo condizionale) `s3:PutObjectLegalHold`  |  Richiesto se si desidera applicare una configurazione di Blocco legale Object Lock a un oggetto specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  (Obbligatorio) `s3:PutObjectAcl` o `s3:PutObjectVersionAcl`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)  |  (Obbligatorio) `s3:PutObjectLegalHold`  |  Richiesto per applicare una configurazione di Blocco legale Object Lock a un oggetto.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)  |  (Obbligatorio) `s3:PutObjectRetention`  |  Richiesto per applicare una configurazione di conservazione Object Lock per un oggetto.  | 
|    |  (Obbligo condizionale) `s3:BypassGovernanceRetention`  |  Necessario se si desidera bypassare la modalità di governance di una configurazione di conservazione Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  (Obbligatorio) `s3:PutObjectTagging` o `s3:PutObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  (Obbligatorio) `s3:RestoreObject`  |  Richiesto per ripristinare una copia di un oggetto archiviato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html)  |  (Obbligatorio) `s3:GetObject`  |  Richiesto per filtrare il contenuto di un oggetto S3 in base a una semplice istruzione SQL (Structured Query Language).  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se desideri filtrare il contenuto di un oggetto S3 crittografato con una chiave gestita AWS KMS dal cliente.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html) | (Obbligatorio) `s3:UpdateObjectEncryption``s3:PutObject`,`kms:Encrypt`,,`kms:Decrypt`, `kms:GenerateDataKey` `kms:ReEncrypt*`  | Obbligatorio se desideri modificare gli oggetti crittografati tra crittografia lato server con crittografia gestita Amazon S3 (SSE-S3) e crittografia lato server con () chiavi di crittografia AWS Key Management Service (SSE-KMS).AWS KMS Puoi anche utilizzare l'`UpdateObjectEncryption`operazione per applicare S3 Bucket Keys per ridurre i costi delle AWS KMS richieste o modificare la chiave KMS gestita dal cliente utilizzata per crittografare i dati in modo da rispettare gli standard personalizzati di rotazione delle chiavi. | 
|    | (Obbligo condizionale) `organizations:DescribeAccount` | Se utilizzi l'operazione AWS Organizations, per utilizzare l'`UpdateObjectEncryption`operazione con chiavi KMS gestite dal cliente provenienti da altri membri dell'organizzazione, devi disporre dell'autorizzazione. Account AWS `organizations:DescribeAccount`   È inoltre necessario richiedere la possibilità di utilizzare gli account AWS KMS keys di proprietà di altri membri all'interno dell'organizzazione contattando. Supporto AWS   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)  |  (Obbligatorio) `s3:PutObject`  |  Richiesto per caricare una parte in un caricamento multiparte.  | 
|    |  (Obbligo condizionale) `kms:GenerateDataKey`  |  Obbligatorio se desideri inserire una parte di caricamento e crittografarla con una chiave gestita AWS KMS dal cliente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)  |  Per l'oggetto di origine:  |  Per l'oggetto di origine:  | 
|    |  (Obbligatorio) `s3:GetObject` o `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Obbligo condizionale) `kms:Decrypt`  |  Obbligatorio se si desidera copiare un oggetto crittografato con chiave gestita dal AWS KMS cliente dal bucket di origine.   | 
|    |  Per la parte di destinazione:  |  Per la parte di destinazione:  | 
|    |  (Obbligatorio) `s3:PutObject`  |  Richiesto per caricare una parte di caricamento multiparte nel bucket di destinazione.  | 
|    |  (Obbligo condizionale) `kms:GenerateDataKey`  |  Obbligatorio se si desidera crittografare una parte con una chiave gestita AWS KMS dal cliente quando si carica la parte nel bucket di destinazione.   | 

## Operazioni sui punti di accesso di bucket per uso generico e autorizzazioni
<a name="using-with-s3-policy-actions-related-to-accesspoint"></a>

Le operazioni sui punti di accesso sono operazioni API S3 che operano sul tipo di risorsa `accesspoint`. È necessario specificare le azioni delle policy S3 per le operazioni dei punti di accesso nelle policy IAM basate sull'identità, non nelle policy dei bucket o dei punti di accesso.

Nelle policy, l'elemento `Resource` deve essere l'ARN `accesspoint`. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni sui punti di accesso di bucket per uso generico](security_iam_service-with-iam.md#using-with-s3-actions-related-to-accesspoint).

**Nota**  
Se desideri utilizzare i punti di accesso per controllare l'accesso alle operazioni sui bucket o sugli oggetti, tieni presente quanto segue:  
Per l'utilizzo dei punti di accesso per controllare l'accesso alle operazioni del bucket, consulta [Operazioni su bucket nelle policy per i punti di accesso di bucket per uso generico](security_iam_service-with-iam.md#bucket-operations-ap).
Per l'utilizzo dei punti di accesso per controllare l'accesso alle operazioni sugli oggetti, consulta [Operazioni sugli oggetti nelle policy dei punti di accesso](security_iam_service-with-iam.md#object-operations-ap).
Per ulteriori informazioni su come configurare le policy dei punti di accesso, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

Di seguito è riportata la mappatura delle operazioni dei punti di accesso e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html)  |  (Obbligatorio) `s3:CreateAccessPoint`  |  Richiesto per creare un punto di accesso associato a un bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html)  |  (Obbligatorio) `s3:DeleteAccessPoint`  |  Richiesto per eliminare un punto di accesso.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html)  |  (Obbligatorio) `s3:DeleteAccessPointPolicy`  |  Richiesto per eliminare una policy del punto di accesso.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html)  |  (Obbligatorio) `s3:GetAccessPointPolicy`  |  Richiesto per recuperare una policy del punto di accesso.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyStatus.html)  |  (Obbligatorio) `s3:GetAccessPointPolicyStatus`  |  Richiesto per recuperare le informazioni sul fatto che il punto di accesso specificato abbia attualmente una policy che consente l'accesso pubblico.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html)  |  (Obbligatorio) `s3:PutAccessPointPolicy`  |  Richiesto per inserire una policy del punto di accesso.  | 

## Operazioni e autorizzazioni del punto di accesso Lambda per oggetti
<a name="using-with-s3-policy-actions-related-to-olap"></a>

Le operazioni sui punti di accesso Lambda per oggetti sono operazioni API S3 che operano sul tipo di risorsa `objectlambdaaccesspoint`. Per ulteriori informazioni su come configurare le policy per le operazioni sui punti di accesso Lambda per oggetti, consulta [Configurazione delle policy IAM per i punti di accesso Lambda per oggetti](olap-policies.md).

Di seguito è riportata la mappatura delle operazioni sui punti di accesso Lambda per oggetti e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html)  |  (Obbligatorio) `s3:CreateAccessPointForObjectLambda`  |  Richiesto per creare un punto di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html)  |  (Obbligatorio) `s3:DeleteAccessPointForObjectLambda`  |  Richiesto per eliminare un punto di accesso Lambda per oggetti specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html)  |  (Obbligatorio) `s3:DeleteAccessPointPolicyForObjectLambda`  |  Richiesto per eliminare la policy di un punto di accesso Lambda per oggetti specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html)  |  (Obbligatorio) `s3:GetAccessPointConfigurationForObjectLambda`  |  Richiesto per recuperare la configurazione del punto di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointForObjectLambda.html)  |  (Obbligatorio) `s3:GetAccessPointForObjectLambda`  |  Richiesto per recuperare le informazioni sul punto di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyForObjectLambda.html)  |  (Obbligatorio) `s3:GetAccessPointPolicyForObjectLambda`  |  Richiesto per restituire la policy del punto di accesso associata al punto di accesso Lambda per oggetti specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyStatusForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyStatusForObjectLambda.html)  |  (Obbligatorio) `s3:GetAccessPointPolicyStatusForObjectLambda`  |  Richiesto per restituire lo stato della policy per una specifica policy del punto di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointConfigurationForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointConfigurationForObjectLambda.html)  |  (Obbligatorio) `s3:PutAccessPointConfigurationForObjectLambda`  |  Richiesto per impostare la configurazione del punto di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointPolicyForObjectLambda.html)  |  (Obbligatorio) `s3:PutAccessPointPolicyForObjectLambda`  |  Richiesto per associare una policy di accesso a un punto di accesso Lambda per oggetti specificato.  | 

## Operazioni e autorizzazioni dei punti di accesso multiregionali
<a name="using-with-s3-policy-actions-related-to-mrap"></a>

Le operazioni sui punto di accesso multiregione sono operazioni API S3 che operano sul tipo di risorsa `multiregionaccesspoint`. Per ulteriori informazioni su come configurare le policy per le operazioni dei punti di accesso multiregionali, consulta [Esempi di policy dei punti di accesso multi-regione](MultiRegionAccessPointPermissions.md#MultiRegionAccessPointPolicyExamples).

Di seguito è riportata la mappatura delle operazioni dei punti di accesso multiregionali e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)  |  (Obbligatorio) `s3:CreateMultiRegionAccessPoint`  |  Necessario per creare un punto di accesso multiregionale e associarlo ai bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html)  |  (Obbligatorio) `s3:DeleteMultiRegionAccessPoint`  |  Richiesto per eliminare un punto di accesso multiregionale.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html)  |  (Obbligatorio) `s3:DescribeMultiRegionAccessPointOperation`  |  Richiesto per recuperare lo stato di una richiesta asincrona di gestione di un punto di accesso multiregionale.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html)  |  (Obbligatorio) `s3:GetMultiRegionAccessPoint`  |  Richiesto per restituire le informazioni di configurazione del punto di accesso multiregionale specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html)  |  (Obbligatorio) `s3:GetMultiRegionAccessPointPolicy`  |  Richiesto per restituire la policy di controllo degli accessi del punto di accesso multiregionale specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html)  |  (Obbligatorio) `s3:GetMultiRegionAccessPointPolicyStatus`  |  Richiesto per restituire lo stato della policy per uno specifico punto di accesso multiregionale, per sapere se il punto di accesso multiregionale specificato ha una policy di controllo dell'accesso che consente l'accesso pubblico.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html)  |  (Obbligatorio) `s3:GetMultiRegionAccessPointRoutes`  |  Richiesto per restituire la configurazione di routing di un punto di accesso multiregionale.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html)  |  (Obbligatorio) `s3:PutMultiRegionAccessPointPolicy`  |  Richiesto per aggiornare la policy di controllo degli accessi del punto di accesso multiregionale specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html)  |  (Obbligatorio) `s3:SubmitMultiRegionAccessPointRoutes`  |  Richiesto per inviare una configurazione di percorso aggiornata per un punto di accesso multiregionale.  | 

## Operazioni e autorizzazioni per i processi batch
<a name="using-with-s3-policy-actions-related-to-batchops"></a>

(Operazioni in batch) Le operazioni di processo sono operazioni API S3 che operano sul tipo di risorsa `job`. È necessario specificare le azioni delle policy S3 per le operazioni di processo nelle policy IAM basate sull'identità, non nelle policy dei bucket.

Nelle policy, l'elemento `Resource` deve essere l'ARN `job`. Per ulteriori informazioni sul formato dell'elemento `Resource` e su esempi di policy, consulta [Operazioni di processo in batch](security_iam_service-with-iam.md#using-with-s3-actions-related-to-batchops).

Di seguito è riportata la mappatura delle operazioni dei processi batch e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html)  |  (Obbligatorio) `s3:DeleteJobTagging`  |  Richiesto per rimuovere i tag da un processo di Operazioni in batch S3 esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html)  |  (Obbligatorio) `s3:DescribeJob`  |  Richiesto per recuperare i parametri di configurazione e lo stato di un processo di Operazioni in batch.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html)  |  (Obbligatorio) `s3:GetJobTagging`  |  Richiesto per restituire il set di tag di un processo di Operazioni in batch S3 esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html)  |  (Obbligatorio) `s3:PutJobTagging`  |  Richiesto per inserire o sostituire i tag in un processo di Operazioni in batch S3 esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html)  |  (Obbligatorio) `s3:UpdateJobPriority`  |  Richiesto per aggiornare la priorità di un processo esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html)  |  (Obbligatorio) `s3:UpdateJobStatus`  |  Richiesto per aggiornare lo stato del processo specificato.  | 

## Operazioni e autorizzazioni di configurazione di S3 Storage Lens
<a name="using-with-s3-policy-actions-related-to-lens"></a>

Le operazioni di configurazione di S3 Storage Lens sono operazioni API S3 che operano sul tipo di risorsa `storagelensconfiguration`. Per ulteriori informazioni su come configurare le operazioni di configurazione di S3 Storage Lens, consulta [Impostazione delle autorizzazioni di Amazon S3 Storage Lens](storage_lens_iam_permissions.md).

Di seguito è riportata la mappatura delle operazioni di configurazione di S3 Storage Lens e delle azioni delle policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfiguration.html)  |  (Obbligatorio) `s3:DeleteStorageLensConfiguration`  |  Richiesto per eliminare la configurazione di Storage Lens S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfigurationTagging.html)  |  (Obbligatorio) `s3:DeleteStorageLensConfigurationTagging`  |  Necessario per eliminare i tag di configurazione di S3 Storage Lens.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfiguration.html)  |  (Obbligatorio) `s3:GetStorageLensConfiguration`  |  Richiesto per ottenere la configurazione di S3 Storage Lens.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfigurationTagging.html)  |  (Obbligatorio) `s3:GetStorageLensConfigurationTagging`  |  Richiesto per ottenere i tag della configurazione di S3 Storage Lens.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfigurationTagging.html)  |  (Obbligatorio) `s3:PutStorageLensConfigurationTagging`  |  Richiesto per inserire o sostituire i tag in una configurazione S3 Storage Lens esistente.  | 

## Operazioni e autorizzazioni dei gruppi S3 Storage Lens
<a name="using-with-s3-policy-actions-related-to-lens-groups"></a>

Le operazioni dei gruppi S3 Storage Lens sono operazioni API S3 che operano sul tipo di risorsa `storagelensgroup`. Per ulteriori informazioni su come configurare le autorizzazioni dei gruppi S3 Storage Lens, consulta [Autorizzazioni gruppi Storage Lens](storage-lens-groups.md#storage-lens-group-permissions).

Di seguito è riportata la mappatura delle operazioni dei gruppi S3 Storage Lens e delle azioni delle policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensGroup.html)  |  (Obbligatorio) `s3:DeleteStorageLensGroup`  |  Richiesto per eliminare un gruppo S3 Storage Lens esistente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensGroup.html)  |  (Obbligatorio) `s3:GetStorageLensGroup`  |  Richiesto per recuperare i dettagli di configurazione del gruppo S3 Storage Lens.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateStorageLensGroup.html)  |  (Obbligatorio) `s3:UpdateStorageLensGroup`  |  Richiesto per aggiornare il gruppo S3 Storage Lens esistente.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html) | (Obbligatorio) `s3:CreateStorageLensGroup` | Richiesto per creare un gruppo Storage Lens. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) | (Obbligatorio) `s3:CreateStorageLensGroup`, `s3:TagResource` | Richiesto per creare un nuovo gruppo Storage Lens con tag. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html) | (Obbligatorio) `s3:ListStorageLensGroups` | Richiesto per elencare tutti i gruppi Storage Lens nella Regione di origine. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html) | (Obbligatorio) `s3:ListTagsForResource` | Richiesto per elencare i tag aggiunti al gruppo Storage Lens. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) | (Obbligatorio) `s3:TagResource` | Richiesto per aggiungere o aggiornare un tag di gruppo Storage Lens per un gruppo Storage Lens esistente. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) | (Obbligatorio) `s3:UntagResource` | Richiesto per eliminare un tag da un gruppo Storage Lens. | 

## Operazioni sull’istanza S3 Access Grants e autorizzazioni
<a name="using-with-s3-policy-actions-related-to-s3ag-instances"></a>

Le operazioni sull’istanza S3 Access Grants sono operazioni API S3 che operano sul tipo di risorsa `accessgrantsinstance`. Un’istanza S3 Access Grants è un container logico per le concessioni di accesso. Per ulteriori informazioni su come utilizzare le istanze S3 Access Grants, consulta [Operazioni con le istanze S3 Access Grants](access-grants-instance.md).

Di seguito è riportata la mappatura delle operazioni di configurazione dell’istanza S3 Access Grants e delle azioni delle policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html)  |  (Obbligatorio) `s3:AssociateAccessGrantsIdentityCenter`  |  Necessario per associare un' AWS IAM Identity Center istanza alla tua istanza S3 Access Grants, in modo da consentirti di creare concessioni di accesso per utenti e gruppi nella tua directory di identità aziendale. È necessario disporre delle seguenti autorizzazioni:  `sso:CreateApplication`, `sso:PutApplicationGrant` e `sso:PutApplicationAuthenticationMethod`.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html)  |  (Obbligatorio) `s3:CreateAccessGrantsInstance`  |  Richiesto per creare un’istanza S3 Access Grants (risorsa `accessgrantsinstance`) che funge da container per le concessioni di accesso individuali.  Per associare un' AWS IAM Identity Center istanza alla tua istanza S3 Access Grants, devi anche disporre delle autorizzazioni`sso:DescribeInstance`,, `sso:CreateApplication` e. `sso:PutApplicationGrant` `sso:PutApplicationAuthenticationMethod`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html)  |  (Obbligatorio) `s3:DeleteAccessGrantsInstance`  |  Necessario per eliminare un'istanza (`accessgrantsinstance`risorsa) di S3 Access Grants da un account. Regione AWS   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstanceResourcePolicy.html)  |  (Obbligatorio) `s3:DeleteAccessGrantsInstanceResourcePolicy`  |  Richiesto per eliminare una policy delle risorse per l’istanza S3 Access Grants.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html)  |  (Obbligatorio) `s3:DissociateAccessGrantsIdentityCenter`  |  Necessario per dissociare un' AWS IAM Identity Center istanza dalla tua istanza S3 Access Grants. È necessario disporre delle seguenti autorizzazioni: `sso:DeleteApplication`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html)  |  (Obbligatorio) `s3:GetAccessGrantsInstance`  |  Necessario per recuperare l'istanza S3 Access Grants per un account. Regione AWS   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html)  |  (Obbligatorio) `s3:GetAccessGrantsInstanceForPrefix`  |  Richiesto per recuperare l’istanza S3 Access Grants che contiene un particolare prefisso.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html)  |  (Obbligatorio) `s3:GetAccessGrantsInstanceResourcePolicy`  |  Necessario per restituire la politica delle risorse dell'istanza S3 Access Grants.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html)  |  (Obbligatorio) `s3:ListAccessGrantsInstances`  |  Richiesto per restituire un elenco delle istanze S3 Access Grants nell’account in uso.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html)  |  (Obbligatorio) `s3:PutAccessGrantsInstanceResourcePolicy`  |  Richiesto per aggiungere o aggiornare la policy delle risorse dell’istanza S3 Access Grants.  | 

## Operazioni sulla posizione S3 Access Grants e autorizzazioni
<a name="using-with-s3-policy-actions-related-to-s3ag-locations"></a>

Le operazioni sulla posizione S3 Access Grants sono operazioni API S3 che operano sul tipo di risorsa `accessgrantslocation`. Per ulteriori informazioni su come utilizzare le posizioni S3 Access Grants, consulta [Operazioni con le posizioni S3 Access Grants](access-grants-location.md).

Di seguito è riportata la mappatura delle operazioni sulla posizione S3 Access Grants e delle azioni delle policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html)  |  (Obbligatorio) `s3:CreateAccessGrantsLocation`  |  Richiesto per registrare una posizione nell’istanza S3 Access Grants (creare una risorsa `accessgrantslocation`). È inoltre necessario disporre della seguente autorizzazione per il ruolo IAM specificato:  `iam:PassRole`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html)  |  (Obbligatorio) `s3:DeleteAccessGrantsLocation`  |  Richiesto per rimuovere una posizione registrata dall’istanza S3 Access Grants.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html)  |  (Obbligatorio) `s3:GetAccessGrantsLocation`  |  Richiesto per recuperare i dettagli di una posizione particolare registrata nell’istanza S3 Access Grants.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html)  |  (Obbligatorio) `s3:ListAccessGrantsLocations`  |  Richiesto per restituire un elenco delle posizioni registrate nell’istanza S3 Access Grants.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html)  |  (Obbligatorio) `s3:UpdateAccessGrantsLocation`  |  Richiesto per aggiornare il ruolo IAM di una posizione registrata con l’istanza S3 Access Grants.  | 

## Operazioni sulla concessione S3 Access Grants e autorizzazioni
<a name="using-with-s3-policy-actions-related-to-s3ag-grants"></a>

Le operazioni sulla concessione S3 Access Grants sono operazioni API S3 che operano sul tipo di risorsa `accessgrant`. Per ulteriori informazioni su come utilizzare le concessioni individuali utilizzando S3 Access Grants, consulta [Operazioni con le concessioni in S3 Access Grants](access-grants-grant.md).

Di seguito è riportata la mappatura delle operazioni di configurazione delle concessioni S3 Access Grants e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html)  |  (Obbligatorio) `s3:CreateAccessGrant`  |  Richiesto per creare un’a concessione individuale (risorsa `accessgrant`) per un utente o un gruppo nell’istanza S3 Access Grants. È necessario disporre delle seguenti autorizzazioni: Per qualsiasi identità della directory: `sso:DescribeInstance` e `sso:DescribeApplication` Per gli utenti della directory: `identitystore:DescribeUser`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html)  |  (Obbligatorio) `s3:DeleteAccessGrant`  |  Richiesto per eliminare una concessione di accesso individuale (risorsa `accessgrant`) dall’istanza S3 Access Grants.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html)  |  (Obbligatorio) `s3:GetAccessGrant`  |  Richiesto per ottenere i dettagli su una concessione di accesso individuale nell’istanza S3 Access Grants.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html)  |  (Obbligatorio) `s3:ListAccessGrants`  |  Richiesto per restituire un elenco di concessioni di accesso individuali nell’istanza S3 Access Grants.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html)  |  (Obbligatorio) `s3:ListCallerAccessGrants`  |  Richiesto per elencare le concessioni di accesso che consentono al chiamante di accedere ai dati Amazon S3 tramite S3 Access Grants.   | 

## Operazioni e autorizzazioni dell'account
<a name="using-with-s3-policy-actions-related-to-accounts"></a>

Le operazioni sugli account sono operazioni API S3 che operano a livello di account, L'account non è un tipo di risorsa definito da Amazon S3. È necessario specificare le azioni delle policy S3 per le operazioni degli account nelle policy IAM basate sull'identità, non nelle policy dei bucket.

Nelle policy, l'elemento `Resource` deve essere `"*"`. Per ulteriori informazioni sulle policy di esempio, consulta [Operazioni sugli account](security_iam_service-with-iam.md#using-with-s3-actions-related-to-accounts).

Di seguito è riportata la mappatura delle operazioni dell'account e delle azioni di policy richieste. 


| operazioni API | Azioni di policy | Descrizione delle azioni delle policy | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)  |  (Obbligatorio) `s3:CreateJob`  |  Richiesto per creare un nuovo processo di Operazioni in batch S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html)  |  (Obbligatorio) `s3:CreateStorageLensGroup`  |  Necessario per creare un nuovo gruppo S3 Storage Lens e associarlo all' Account AWS ID specificato.  | 
|    |  (Obbligo condizionale) `s3:TagResource`  |  Obbligatorio se desideri creare un gruppo S3 Storage Lens con tag di AWS risorse.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) (a livello di account)  |  (Obbligatorio) `s3:PutAccountPublicAccessBlock`  |  Richiesto per rimuovere la configurazione di blocco dell'accesso pubblico da Account AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html)  |  (Obbligatorio) `s3:GetAccessPoint`  |  Richiesto per recuperare le informazioni di configurazione del punto di accesso specificato.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) (a livello di account)  |  (Obbligatorio) `s3:GetAccountPublicAccessBlock`  |  Richiesto per recuperare la configurazione del blocco di accesso pubblico per Account AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html)  |  (Obbligatorio) `s3:ListAccessPoints`  |  Richiesto per elencare i punti di accesso di un bucket S3 di proprietà di un Account AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html)  |  (Obbligatorio) `s3:ListAccessPointsForObjectLambda`  |  Richiesto per elencare i punti di accesso Lambda per oggetti.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)  |  (Obbligatorio) `s3:ListAllMyBuckets`  |  Richiesto per restituire un elenco di tutti i bucket di proprietà del mittente autenticato della richiesta.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html)  |  (Obbligatorio) `s3:ListJobs`  |  Si richiede di elencare i processi attuali e quelli terminati di recente.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html)  |  (Obbligatorio) `s3:ListMultiRegionAccessPoints`  |  Richiesto per restituire un elenco dei punti di accesso multiregionali attualmente associati a Account AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensConfigurations.html)  |  (Obbligatorio) `s3:ListStorageLensConfigurations`  |  Necessario per ottenere un elenco delle configurazioni di S3 Storage Lens per un. Account AWS  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html)  |  (Obbligatorio) `s3:ListStorageLensGroups`  |  Richiesto per elencare tutti i gruppi S3 Storage Lens nella home specificata Regione AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) (a livello di account)  |  (Obbligatorio) `s3:PutAccountPublicAccessBlock`  |  Richiesto per creare o modificare la configurazione del blocco di accesso pubblico per Account AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html)  |  (Obbligatorio) `s3:PutStorageLensConfiguration`  |  Richiesto per mettere una configurazione di S3 Storage Lens.  | 

# Policy e autorizzazioni in Amazon S3
<a name="access-policy-language-overview"></a>

Questa pagina fornisce una panoramica delle policy relative a bucket e utenti in Amazon S3 e descrive gli elementi di base di AWS Identity and Access Management una policy (IAM). Ogni elemento elencato è collegato a ulteriori dettagli ed esempi su come usare l'elemento. 

Per un elenco completo di azioni, risorse e condizioni di Amazon S3, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

In termini basilari, una policy contiene i seguenti elementi:
+ [Resource](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources) - Il bucket Amazon S3, l'oggetto, il punto di accesso o il processo a cui si applica la policy. Usa il nome della risorsa Amazon (ARN) del bucket, dell'oggetto, del punto di accesso o del processo per identificare la risorsa. 

  Un esempio di operazioni a livello di bucket:

  `"Resource": "arn:aws:s3:::bucket_name"`

  Esempi di operazioni a livello di oggetto: 
  + `"Resource": "arn:aws:s3:::bucket_name/*"` per tutti gli oggetti del bucket.
  + `"Resource": "arn:aws:s3:::bucket_name/prefix/*"` per gli oggetti sotto un certo prefisso nel bucket.

  Per ulteriori informazioni, consulta [Risorse di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).
+ [Actions](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) - Per ogni risorsa, Amazon S3 supporta una serie di operazioni. Vengono identificate le operazioni delle risorse che verranno consentite (o rifiutate) utilizzando le parole chiave dell'operazione. 

  Ad esempio, l'autorizzazione `s3:ListBucket` consente all'utente di utilizzare l'operazione Amazon S3 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) di Amazon (il permesso `s3:ListBucket` è un caso in cui il nome dell'azione non corrisponde direttamente al nome dell'operazione). Per ulteriori informazioni sull'uso di operazioni con Simple Storage Service (Amazon S3), consulta [Azioni di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions). Per un elenco completo delle azioni di Amazon S3, consulta [Azioni](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html) in *Riferimento API di Amazon Simple Storage Service*.
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) - Quale sarà l'effetto quando l'utente richiederà l'azione specifica: può essere `Allow` o `Deny`. 

  USe non concedi esplicitamente (consenti) l'accesso a una risorsa, l'accesso viene implicitamente rifiutato. È anche possibile negare esplicitamente l'accesso a una risorsa. È possibile eseguire questa operazione per accertarsi che un utente non sia in grado di accedere a una risorsa, anche se l'accesso viene concesso da un'altra policy. Per ulteriori informazioni, consulta [Elementi delle policy JSON IAM: Effect](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) nella *Guida per l'utente di IAM*.
+ [Principal](security_iam_service-with-iam.md#s3-bucket-user-policy-specifying-principal-intro) - L'account o l'utente a cui è consentito l'accesso alle azioni e alle risorse nell'istruzione. In una policy di bucket l'entità principale è l'utente, l'account, il servizio o un'altra entità destinataria di questa autorizzazione. Per ulteriori informazioni, consulta [Principali per le policy dei bucket](security_iam_service-with-iam.md#s3-bucket-user-policy-specifying-principal-intro).
+ [Condition](amazon-s3-policy-keys.md) - Condizioni per l'entrata in vigore di una policy. Puoi utilizzare chiavi AWS‐wide e chiavi specifiche di Amazon S3 per specificare le condizioni in una policy di accesso di Amazon S3. Per ulteriori informazioni, consulta [Esempi di policy per i bucket che utilizzano le chiavi di condizione](amazon-s3-policy-keys.md).

Il seguente esempio di policy del bucket mostra gli elementi `Effect`, `Principal`, `Action` e `Resource`. Questa policy consente a `Akua`, un utente dell'account `123456789012`, `s3:GetObject`, `s3:GetBucketLocation` e `s3:ListBucket` di ottenere le autorizzazioni per Amazon S3 sul bucket `amzn-s3-demo-bucket1`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ExamplePolicy01",
    "Statement": [
        {
            "Sid": "ExampleStatement01",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Akua"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket1"
            ]
        }
    ]
}
```

------

Per informazioni complete sul linguaggio delle policy, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) e [Riferimento alle policy IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida all'utente IAM*.

## Delega delle autorizzazioni
<a name="permission-delegation"></a>

Se un utente Account AWS possiede una risorsa, può concedere tali autorizzazioni a un'altra persona. Account AWS Tale account a sua volta può delegare le autorizzazioni, o una parte di esse, agli utenti al suo interno. Si parla di* delega del permesso*. Un account che riceve permessi da un altro account non può delegare autorizzazioni multi-account a un altro Account AWS. 

## Proprietà di bucket e oggetti di Amazon S3
<a name="about-resource-owner"></a>

I bucket e gli oggetti sono risorse di Amazon S3. Per impostazione predefinita, solo il proprietario della risorsa è in grado di accedervi. Il proprietario della risorsa si riferisce a Account AWS chi crea la risorsa. Esempio: 
+ La Account AWS persona che usi per creare bucket e caricare oggetti possiede tali risorse. 
+  Se carichi un oggetto utilizzando le credenziali dell'utente o del ruolo AWS Identity and Access Management (IAM), l'oggetto è il Account AWS proprietario dell'oggetto a cui appartiene l'utente o il ruolo. 
+ Un proprietario del bucket può concedere a un altro Account AWS (o agli utenti di un altro account) autorizzazioni multiaccount per caricare gli oggetti. In questo caso, gli oggetti appartengono all' Account AWS che li carica. Il proprietario del bucket non dispone di autorizzazioni sugli oggetti di cui sono proprietari altri account, con le seguenti eccezioni:
  + È il proprietario del bucket a pagare la fattura. Il proprietario del bucket può rifiutare l'accesso agli oggetti nel bucket o eliminarli, indipendentemente dall'utente a cui appartengono. 
  + Il proprietario del bucket può archiviare gli oggetti nel bucket o ripristinarli, indipendentemente dall'utente a cui appartengono. L'archiviazione fa riferimento alla classe di storage utilizzata per archiviare gli oggetti. Per ulteriori informazioni, consulta [Gestione del ciclo di vita degli oggetti](object-lifecycle-mgmt.md).

### Proprietà e autenticazione delle richieste
<a name="about-resource-owner-requests"></a>

Tutte le richieste a un bucket possono essere autenticate o non autenticate. Le richieste autenticate devono includere un valore di firma che autentichi il mittente della richiesta, mentre non è necessario per le richieste non autenticate. Per ulteriori informazioni sull'autenticazione delle richieste, consulta [Esecuzione di richieste](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html) nella *documentazione di riferimento delle API di Amazon S3*.

Un proprietario di bucket può consentire richieste non autenticate. Ad esempio, le richieste non autenticate [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) sono consentite quando un bucket ha una policy di bucket pubblica o quando una ACL del bucket concede l'accesso a `WRITE` o `FULL_CONTROL` al gruppo `All Users` o all'utente anonimo. Per ulteriori informazioni sulle politiche pubbliche dei bucket e sulle liste di controllo degli accessi pubblici (ACLs), consulta. [Significato di "pubblico"](access-control-block-public-access.md#access-control-block-public-access-policy-status)

Tutte le richieste non autenticate sono fatte dall'utente anonimo. Questo utente è rappresentato ACLs dallo specifico ID utente canonico. `65a011a29cdf8ec533ec3d1ccaae921c` Se un oggetto viene caricato in un bucket tramite una richiesta non autenticata, la proprietà dell'oggetto è dell'utente anonimo. L'ACL predefinita dell'oggetto garantisce `FULL_CONTROL` all'utente anonimo in quanto proprietario dell'oggetto. Perciò, Amazon S3 consente alle richieste non autenticate di recuperare l'oggetto o di modificarne l'ACL. 

Per evitare che gli oggetti vengano modificati dall'utente anonimo, si consiglia di non implementare policy relative ai bucket che consentano scritture pubbliche anonime sul bucket o ACLs che consentano all'utente anonimo l'accesso in scrittura al bucket. Puoi applicare questo comportamento consigliato utilizzando il blocco dell'accesso pubblico di Amazon S3. 

Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md). Per ulteriori informazioni su ACLs, consultare [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md).

**Importante**  
Ti consigliamo di non utilizzare le credenziali dell'utente Account AWS root per effettuare richieste autenticate. Crea invece un ruolo IAM, concedendo a esso l'accesso completo. Gli utenti con questo ruolo vengono definiti *utenti amministratori*. È possibile utilizzare le credenziali assegnate al ruolo di amministratore, anziché le credenziali dell'utente Account AWS root, per interagire AWS ed eseguire attività, come creare un bucket, creare utenti e concedere autorizzazioni. Per ulteriori informazioni, consulta [AWS Credenziali di sicurezza](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) e [Pratiche ottimali di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida all'utente IAM*.







# Policy dei bucket per Amazon S3
<a name="bucket-policies"></a>

Una policy di bucket è una policy basata su risorse che puoi utilizzare per concedere autorizzazioni di accesso al bucket Amazon S3 e agli oggetti che contiene. Solo il proprietario del bucket può associare una policy a un bucket. Le autorizzazioni allegate a un bucket si applicano a tutti gli oggetti del bucket di proprietà del proprietario del bucket. Queste autorizzazioni non si applicano agli oggetti di proprietà di altri. Account AWS

S3 Object Ownership è un'impostazione a livello di bucket Amazon S3 che puoi usare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitare o abilitare le liste di controllo degli accessi (). ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario di Bucket e tutti sono disabilitati. ACLs Il proprietario del bucket dispone di tutti gli oggetti nel bucket e gestisce l'accesso ai dati in maniera esclusiva utilizzando policy.

Le policy Bucket utilizzano un linguaggio di policy basato su JSON AWS Identity and Access Management (IAM). Puoi utilizzare policy di bucket per aggiungere o negare autorizzazioni per gli oggetti in un bucket. I criteri di bucket autorizzano o rifiutano le richieste in base agli elementi inclusi nella policy. Questi elementi possono includere richiedente, operazioni S3, risorse e aspetti o condizioni della richiesta (ad esempio, l'indirizzo IP utilizzato per creare la richiesta). 

Ad esempio, è possibile creare una policy di bucket che esegue le seguenti operazioni: 
+ Concedere ad altri account le autorizzazioni multi-account per il caricamento di oggetti nel bucket S3
+ Verificare che il proprietario del bucket abbia il pieno controllo degli oggetti caricati

Per ulteriori informazioni, consulta [Esempi di policy del bucket Amazon S3](example-bucket-policies.md).

**Importante**  
Non è possibile utilizzare una policy del bucket per impedire eliminazioni o transizioni in base a una regola del [ciclo di vita S3](object-lifecycle-mgmt.md). Ad esempio, anche se la policy del bucket nega tutte le azioni per tutti i principali, la configurazione di S3 Lifecycle continua a funzionare normalmente.

Negli argomenti di questa sezione vengono forniti esempi e viene illustrato come aggiungere una policy di bucket nella console S3. Per informazioni sulle policy basate sull'identità, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md). Per informazioni sul linguaggio delle policy di bucket, consulta [Policy e autorizzazioni in Amazon S3](access-policy-language-overview.md).

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Topics**
+ [Aggiunta di una policy di bucket utilizzando la console di Amazon S3](add-bucket-policy.md)
+ [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md)
+ [Esempi di policy del bucket Amazon S3](example-bucket-policies.md)
+ [Esempi di policy per i bucket che utilizzano le chiavi di condizione](amazon-s3-policy-keys.md)

# Aggiunta di una policy di bucket utilizzando la console di Amazon S3
<a name="add-bucket-policy"></a>

Puoi utilizzare il [generatore di policy AWS](https://aws.amazon.com/blogs/aws/aws-policy-generator/) e la console di Amazon S3 per aggiungere una nuova policy di bucket o modificarne una esistente. Una bucket policy è una policy basata sulle risorse (IAM). AWS Identity and Access Management Aggiungi una policy bucket a un bucket per concedere ad altri utenti Account AWS o a utenti IAM le autorizzazioni di accesso per il bucket e gli oggetti in esso contenuti. Le autorizzazioni relative a un oggetto si applicano solo agli oggetti creati dal proprietario del bucket. Per ulteriori informazioni sulle policy di bucket, consulta [Identity and Access Management per Amazon S3](security-iam.md).

Assicurati di risolvere avvisi di sicurezza, errori, avvisi generali e suggerimenti da AWS Identity and Access Management Access Analyzer prima di salvare la policy. IAM Access Analyzer esegue controlli della policy per convalidarla in rapporto alla [sintassi della policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) e alle [best practice](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) di IAM. Questi controlli generano risultati e forniscono raccomandazioni attuabili per aiutarti a creare policy funzionali e conformi alle best practice di sicurezza. Per ulteriori informazioni sulla convalida delle policy tramite IAM Access Analyzer, consulta [Convalida delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l'utente di IAM*. Per visualizzare un elenco delle avvertenze, degli errori e dei suggerimenti restituiti da IAM Access Analyzer, consulta il [Riferimento al controllo delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html).

Per istruzioni sulla risoluzione degli errori con una policy, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md).

**Per creare o modificare una policy del bucket**

1. Accedi a 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. Nel riquadro di navigazione a sinistra, scegli **Bucket per uso generico** o **Bucket di directory**.

1. Nell’elenco dei bucket scegli il nome del bucket per il quale desideri creare una policy di bucket o modificare la policy di bucket.

1. Scegli la scheda **Autorizzazioni**.

1. In **Policy del bucket**, scegli **Modifica**. Viene visualizzata la pagina **Edit bucket policy** (Modifica policy di bucket).

1. Nella pagina **Edit bucket policy** (Modifica policy di bucket), esegui una delle seguenti operazioni: 
   + Per consulta esempi di policy dei bucket, scegli **Esempi di policy**. In alternativa, consulta [Esempi di policy del bucket Amazon S3](example-bucket-policies.md) nella *Guida all'utente di Amazon S3*.
   + Per generare automaticamente una policy o modificare la sintassi JSON nella sezione **Policy**, scegli **Policy generator** (Generatore di policy).

   Se scegli **Policy generator**, il AWS Policy Generator si apre in una nuova finestra.

   1. Nella pagina del **Generatore di policy AWS **, per **Seleziona il tipo di policy**, scegli **Policy del bucket S3**.

   1. Aggiungi un'istruzione inserendo le informazioni nei campi previsti, quindi scegli **Aggiungi istruzione**. Ripeti questo passaggio per tutte le istruzioni che desideri aggiungere. Per ulteriori informazioni su questi campi, consulta [Riferimento agli elementi delle policy IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l'utente IAM*. 
**Nota**  
Per comodità, la pagina **Modifica la policy bucket** visualizza un **ARN** (nome della risorsa Amazon) del bucket corrente sopra il campo di testo **Policy**. È possibile copiare questo ARN per utilizzarlo nelle istruzioni della pagina del **Generatore di policy AWS **. 

   1. Dopo aver aggiunto le istruzioni, scegli **Genera policy**.

   1. Copia il testo della policy generata, scegli **Chiudi** e torna alla pagina **Modifica policy del bucket** nella console di Amazon S3.

1. Nella casella **Policy**, modifica la policy esistente o incolla la bucket policy dal AWS Policy Generator. Assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti prima di salvare la policy.
**Nota**  
Le policy di bucket sono limitate a dimensioni di 20 KB.

1. (Facoltativo) Scegli **Preview external access** (Anteprima accesso esterno) nell'angolo in alto a destra per visualizzare in anteprima in che modo la nuova policy influisce sull'accesso pubblico e multi-account alla risorsa. Prima di salvare la policy, puoi verificare se introduce nuovi risultati di IAM Access Analyzer o risolve i risultati esistenti. Se non è presente uno strumento di analisi attivo, scegli **Go to Access Analyzer** (Passa a strumento analisi accessi) per [creare uno strumento di analisi degli account](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) in IAM Access Analyzer. Per ulteriori informazioni, consulta la sezione [Anteprima dell'accesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html) nella *Guida per l'utente di IAM*. 

1. Scegli **Save changes** (Salva modifiche), che ti riporterà alla pagina **Permissions** (Autorizzazioni). 

# Controllo dell'accesso dagli endpoint VPC con policy di bucket
<a name="example-bucket-policies-vpc-endpoint"></a>

Puoi utilizzare le policy dei bucket di Amazon S3 per controllare l'accesso ai bucket da endpoint specifici del cloud privato virtuale (VPC) o specifici. VPCs Questa sezione contiene esempi di policy per i bucket che possono essere utilizzati per controllare l'accesso al bucket Amazon S3 dagli endpoint VPC. Per informazioni su come configurare gli endpoint VPC, consulta [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) nella *Guida per l'utente di VPC*. 

Un VPC consente di avviare AWS risorse in una rete virtuale definita dall'utente. Un endpoint VPC consente di creare una connessione privata tra la propria VPC e un'altra Servizio AWS. Questa connessione privata non richiede l'accesso via Internet, attraverso una connessione di rete privata virtuale (VPN), attraverso un'istanza NAT o attraverso Direct Connect. 

Un endpoint VPC per Amazon S3 è un'entità logica all'interno di un cloud privato virtuale che permette di connettersi esclusivamente ad Amazon S3. L'endpoint VPC instrada le richieste ad Amazon S3 e restituisce le risposte al VPC. Gli endpoint VPC cambiano solo la modalità di instradamento delle richieste. I nomi DNS e gli endpoint pubblici Amazon S3 continueranno a funzionare con gli endpoint VPC. Per informazioni importanti sull'uso degli endpoint VPC con Amazon S3, consulta [Endpoint gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html) e [Endpoint gateway per Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html) nella *Guida all'utente VPC*. 

Gli endpoint VPC per Amazon S3 offrono due modi per controllare l'accesso ai dati di Amazon S3: 
+ È possibile controllare le richieste, gli utenti o i gruppi autorizzati tramite un endpoint VPC specifico. Per informazioni su questo tipo di controllo degli accessi, consulta [Controllo dell'accesso agli endpoint VPC mediante policy di endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) nella *Guida all'utente VPC*.
+ Puoi controllare quali endpoint VPCs o VPC hanno accesso ai tuoi bucket utilizzando le policy dei bucket di Amazon S3. Per alcuni esempi di questo tipo di controllo di accesso basato su policy di bucket, consulta i seguenti argomenti sulla limitazione dell'accesso.

**Topics**
+ [Limitazione dell'accesso a un endpoint VPC specifico](#example-bucket-policies-restrict-accesss-vpc-endpoint)
+ [Limitazione dell'accesso a un VPC specifico](#example-bucket-policies-restrict-access-vpc)
+ [Limitazione dell'accesso a un endpoint IPv6 VPC](#example-bucket-policies-ipv6-vpc-endpoint)

**Importante**  
Quando si applicano le policy del bucket Amazon S3 per gli endpoint VPC descritte in questa sezione, si potrebbe bloccare involontariamente l'accesso al bucket. Le autorizzazioni del bucket che hanno lo scopo di limitare l'accesso del bucket a connessioni originate dall'endpoint VPC possono bloccare tutte le connessioni al bucket. Per informazioni su come risolvere questo problema, consulta la sezione [Come correggere una policy del bucket con l'ID del VPC o dell'endpoint VPC errato](https://aws.amazon.com/premiumsupport/knowledge-center/s3-regain-access/) nell'*Supporto AWS Knowledge Center*.

## Limitazione dell'accesso a un endpoint VPC specifico
<a name="example-bucket-policies-restrict-accesss-vpc-endpoint"></a>

Di seguito è riportato un esempio di policy del bucket Amazon S3 che limita l'accesso a un bucket specifico, `awsexamplebucket1`, solo dall'endpoint VPC con l'ID `vpce-1a2b3c4d`. Se l'endpoint specificato non viene utilizzato, la policy nega l'accesso al bucket. La condizione `aws:SourceVpce` specifica l'endpoint. La condizione `aws:SourceVpce` non richiede un nome della risorsa Amazon (ARN) per la risorsa endpoint VPC, ma solo l'ID dell'endpoint VPC. Per ulteriori informazioni sull'utilizzo delle condizioni in una policy, consulta [Esempi di policy per i bucket che utilizzano le chiavi di condizione](amazon-s3-policy-keys.md).

**Importante**  
Prima di utilizzare la policy di esempio seguente, sostituire l'ID endpoint VPC con un valore appropriato per il caso d'uso. In caso contrario, non sarà possibile accedere al bucket.
Questa policy disabilita l'accesso della console al bucket specificato perché le richieste della console non provengono dall'endpoint VPC specificato.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpce": "vpce-0abcdef1234567890"
         }
       }
     }
   ]
}
```

------

## Limitazione dell'accesso a un VPC specifico
<a name="example-bucket-policies-restrict-access-vpc"></a>

Puoi creare una policy di bucket che limita l'accesso a uno specifico VPC utilizzando la condizione `aws:SourceVpc`. Ciò è utile se nello stesso VPC sono configurati più endpoint VPC e desideri gestire l'accesso ai bucket Amazon S3 per tutti gli endpoint. Di seguito è riportato un esempio di policy che nega l'accesso a `awsexamplebucket1` e ai relativi oggetti da qualsiasi punto esterno al VPC `vpc-111bbb22`. Se il VPC specificato non è utilizzato, la policy nega l'accesso al bucket. Questa istruzione non garantisce l'accesso al bucket. Per concedere l'accesso, è necessario aggiungere un'istruzione separata `Allow`. La chiave di condizione `vpc-111bbb22` non richiede un ARN per la risorsa VPC, ma solo l'ID VPC.

**Importante**  
Prima di utilizzare la policy di esempio seguente, sostituire l'ID VPC con un valore appropriato per il caso d'uso. In caso contrario, non sarà possibile accedere al bucket.
Questa policy disabilita l'accesso della console al bucket specificato perché le richieste della console non provengono dalla VPC specificata.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909153",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPC-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-1a2b3c4d"
         }
       }
     }
   ]
}
```

------

## Limitazione dell'accesso a un endpoint IPv6 VPC
<a name="example-bucket-policies-ipv6-vpc-endpoint"></a>

La seguente policy di esempio nega tutte le azioni di Amazon S3 `s3:` () sul bucket e sui suoi oggetti, a meno che *amzn-s3-demo-bucket* la richiesta non provenga dall'endpoint VPC specificato `vpce-0a1b2c3d4e5f6g` () e l'indirizzo IP di origine non corrisponda al blocco CIDR fornito. IPv6 

```
{
   "Version": "2012-10-17", 		 	 	 
   "Id": "Policy1415115909154",
   "Statement": [
     {
       "Sid": "AccessSpecificIPv6VPCEOnly",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-0a1b2c3d4e5f6g4h2"
         },
        "NotIpAddress": {
          "aws:VpcSourceIp": "2001:db8::/32"
        }
       }
     }
   ]
}
```

Per informazioni su come limitare l'accesso al tuo bucket in base a specifici IPs o VPCs, consulta [Come posso consentire solo a endpoint VPC o indirizzi IP specifici di accedere al mio bucket Amazon S3](https://repost.aws/knowledge-center/block-s3-traffic-vpc-ip)? nel Knowledge Center. AWS re:Post 

# Esempi di policy del bucket Amazon S3
<a name="example-bucket-policies"></a>

Con le policy di bucket Amazon S3, puoi proteggere l'accesso agli oggetti nei tuoi bucket, in modo che solo gli utenti con le autorizzazioni appropriate possano accedervi. Puoi persino impedire agli utenti autenticati senza le autorizzazioni appropriate di accedere alle tue risorse Amazon S3.

Questa sezione include esempi di casi d'uso tipici per le policy di bucket. Queste policy di esempio utilizzano `amzn-s3-demo-bucket` come valore di risorsa. Per testare queste policy, sostituisci `user input placeholders` con le tue informazioni (come il nome del bucket). 

Per concedere o negare le autorizzazioni a un insieme di oggetti, puoi utilizzare caratteri jolly () `*` in Amazon Resource Names (ARNs) e altri valori. Ad esempio, è possibile controllare l'accesso a gruppi di oggetti che iniziano con un [prefisso](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) comune o terminano con un'estensione specifica, come `.html`. 

Per ulteriori informazioni sul linguaggio di policy AWS Identity and Access Management (IAM), consulta. [Policy e autorizzazioni in Amazon S3](access-policy-language-overview.md)

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Nota**  
Per testare le autorizzazioni utilizzando la console di Amazon S3, dovrai concedere le autorizzazioni aggiuntive richieste dalla console, ovvero `s3:ListAllMyBuckets`, `s3:GetBucketLocation` e `s3:ListBucket`. Per una procedura dettagliata di esempio che concede autorizzazioni a utenti e le testa utilizzando la console, consulta [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md).

Ulteriori risorse per la creazione di policy sui bucket sono le seguenti:
+ Per un elenco delle azioni, delle risorse e delle chiavi di condizione delle policy IAM che è possibile utilizzare quando si crea una policy di bucket, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).
+ Per istruzioni sulla creazione della policy S3, consulta [Aggiunta di una policy di bucket utilizzando la console di Amazon S3](add-bucket-policy.md).
+ Per risolvere gli errori relativi a una policy, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md).

Se riscontri problemi nell'aggiungere o aggiornare una policy, consulta [Perché ricevo l'errore «Principio non valido nella policy» quando tento di aggiornare la mia policy sui bucket Amazon S3](https://repost.aws/knowledge-center/s3-invalid-principal-in-policy-error)? nel Knowledge Center. AWS re:Post 

**Topics**
+ [Concessione dell'autorizzazione di sola lettura a un utente pubblico anonimo](#example-bucket-policies-anonymous-user)
+ [Richiesta della crittografia](#example-bucket-policies-encryption)
+ [Gestione dei bucket utilizzando «in scatola» ACLs](#example-bucket-policies-public-access)
+ [Gestione dell'accesso agli oggetti con assegnazione di tag agli oggetti](#example-bucket-policies-object-tags)
+ [Gestione dell'accesso agli oggetti utilizzando chiavi di condizione globali](#example-bucket-policies-global-condition-keys)
+ [Gestione dell'accesso in base a richieste HTTP o HTTPS](#example-bucket-policies-HTTP-HTTPS)
+ [Gestione dell'accesso utente a cartelle specifiche](#example-bucket-policies-folders)
+ [Gestione dell'accesso per i log degli accessi](#example-bucket-policies-access-logs)
+ [Gestione dell'accesso a un Amazon CloudFront OAI](#example-bucket-policies-cloudfront)
+ [Gestione dell'accesso per Amazon S3 Storage Lens](#example-bucket-policies-lens)
+ [Gestione delle autorizzazioni per i report di S3 Inventory, S3 Analytics e S3 Inventory](#example-bucket-policies-s3-inventory)
+ [Richiesta dell'autenticazione a più fattori (MFA)](#example-bucket-policies-MFA)
+ [Impedire agli utenti di eliminare gli oggetti](#using-with-s3-actions-related-to-bucket-subresources)

## Concessione dell'autorizzazione di sola lettura a un utente pubblico anonimo
<a name="example-bucket-policies-anonymous-user"></a>

È possibile utilizzare le impostazioni delle policy per concedere l'accesso a utenti pubblici anonimi, il che è utile se si sta configurando il bucket come un sito web statico. Per consentire l'accesso agli utenti pubblici anonimi è necessario disattivare le impostazioni di Blocco dell'accesso pubblico per il bucket. Per ulteriori informazioni su come fare e sulle policy necessarie, consulta [Impostazione delle autorizzazioni per l'accesso al sito Web](WebsiteAccessPermissionsReqd.md). Per informazioni su come configurare politiche più restrittive per lo stesso scopo, vedi [Come posso concedere l'accesso pubblico in lettura ad alcuni oggetti nel mio bucket Amazon S3](https://repost.aws/knowledge-center/read-access-objects-s3-bucket)? nel Knowledge Center. AWS 

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 questi passaggi, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md) per assicurarsi di aver compreso e accettato i rischi connessi alla concessione dell'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 Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

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

1. Seleziona **Autorizzazioni**.

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

1. Deseleziona **Blocca *tutto* l'accesso pubblico**, quindi seleziona **Salva modifiche**.  
![\[Console Amazon S3 in cui vengono mostrate le impostazioni di blocco dell'accesso pubblico a un bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3 disattiva le impostazioni di blocco dell'accesso pubblico per il bucket. Per creare un sito web pubblico statico, potrebbe essere necessario [modificare anche le impostazioni di blocco dell'accesso pubblico](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html) per l'account prima di aggiungere una policy del bucket. Se le impostazioni di Blocco dell'accesso pubblico per l'account sono attualmente attivate, viene visualizzata una nota sotto **Blocco dell'accesso pubblico (impostazioni del bucket)**.

## Richiesta della crittografia
<a name="example-bucket-policies-encryption"></a>

Puoi richiedere la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi (SSE-KMS), come mostrato negli esempi seguenti.

### Richiedi SSE-KMS per tutti gli oggetti scritti in un bucket
<a name="example-bucket-policies-encryption-1"></a>

La seguente politica di esempio richiede che ogni oggetto scritto nel bucket sia crittografato con la crittografia lato server utilizzando le chiavi () (SSE-KMS). AWS Key Management Service AWS KMS Se l'oggetto non è crittografato con SSE-KMS, la richiesta viene rifiutata.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Id": "PutObjPolicy",
"Statement": [{
  "Sid": "DenyObjectsThatAreNotSSEKMS",
  "Principal": "*",
  "Effect": "Deny",
  "Action": "s3:PutObject",
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
  "Condition": {
    "Null": {
      "s3:x-amz-server-side-encryption-aws-kms-key-id": "true"
    }
  }
}]
}
```

------

### Richiedi SSE-KMS con uno specifico per tutti gli oggetti scritti in un bucket AWS KMS key
<a name="example-bucket-policies-encryption-2"></a>

La seguente policy di esempio impedisce la scrittura di qualsiasi oggetto nel bucket se l'oggetto non è crittografato con SSE-KMS mediante un ID chiave KMS specifico. Anche se gli oggetti sono crittografati con SSE-KMS utilizzando un'intestazione per richiesta o la crittografia predefinita del bucket, gli oggetti non possono essere scritti nel bucket se non sono stati crittografati con la chiave KMS specificata. Assicurati di sostituire il nome della risorsa Amazon (ARN) della chiave KMS utilizzata in questo esempio con il nome della risorsa Amazon (ARN) della tua chiave KMS ARN.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Id": "PutObjPolicy",
"Statement": [{
  "Sid": "DenyObjectsThatAreNotSSEKMSWithSpecificKey",
  "Principal": "*",
  "Effect": "Deny",
  "Action": "s3:PutObject",
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
  "Condition": {
    "ArnNotEqualsIfExists": {
      "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
    }
  }
}]
}
```

------

## Gestione dei bucket utilizzando «in scatola» ACLs
<a name="example-bucket-policies-public-access"></a>

### Concessione delle autorizzazioni a più account per caricare oggetti o impostare oggetti per l'accesso pubblico ACLs
<a name="example-bucket-policies-acl-1"></a>

Il seguente esempio di policy concede i permessi `s3:PutObject` e `s3:PutObjectAcl` a più Account AWS. Inoltre, la policy di esempio richiede che tutte le richieste per queste operazioni includano la [lista di controllo degli accessi (ACL) predefinita ](acl-overview.md#canned-acl)`public-read`. Per ulteriori informazioni, consultare [Azioni di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) e [Chiavi di condizione per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys).

**avvertimento**  
L'ACL `public-read` predefinita consente a chiunque nel mondo di visualizzare gli oggetti nel tuo bucket, indipendentemente dalla sua dislocazione geografica. Procedi con cautela quando concedi l'accesso anonimo al bucket Amazon S3 o disabiliti le impostazioni di blocco dell'accesso pubblico. Quando si concede l'accesso anonimo, si consente a qualsiasi persona al mondo di accedere al bucket. È consigliabile non concedere mai l'accesso anonimo al bucket Amazon S3 a meno che non sia assolutamente necessario, ad esempio con l'[hosting di un sito Web statico](WebsiteHosting.md). Se desideri abilitare le impostazioni di Blocco dell'accesso pubblico Amazon S3 per l'hosting di siti Web statici, consulta [Tutorial: Configurazione di un sito Web statico su Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AddPublicReadCannedAcl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:root",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": [
                        "public-read"
                    ]
                }
            }
        }
    ]
}
```

------

### Concedere autorizzazioni multi-account per il caricamento di oggetti a garanzia del controllo completo da parte del proprietario del bucket
<a name="example-bucket-policies-acl-2"></a>

L'esempio seguente mostra come consentire a un altro utente Account AWS di caricare oggetti nel tuo bucket assicurandoti al contempo il pieno controllo degli oggetti caricati. Questa politica concede a uno specifico Account AWS (*`111122223333`*) la possibilità di caricare oggetti solo se tale account include l'ACL predefinito al `bucket-owner-full-control` momento del caricamento. La condizione `StringEquals` nella policy specifica la chiave di condizione `s3:x-amz-acl` per esprimere il requisito dell'ACL predefinita. Per ulteriori informazioni, consulta [Chiavi di condizione per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). 

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

****  

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

------

## Gestione dell'accesso agli oggetti con assegnazione di tag agli oggetti
<a name="example-bucket-policies-object-tags"></a>

### Concedere a un utente autorizzazioni di sola lettura per gli oggetti che hanno una chiave o un valore di tag specifico
<a name="example-bucket-policies-tagging-1"></a>

La seguente policy di autorizzazione limita un utente a leggere solo gli oggetti con chiave e valore di tag `environment: production`. La policy utilizza la chiave di condizione `s3:ExistingObjectTag` per specificare la chiave e il valore di tag.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Principal":{
            "AWS":"arn:aws:iam::111122223333:role/JohnDoe"
         },
         "Effect":"Allow",
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition":{
            "StringEquals":{
               "s3:ExistingObjectTag/environment":"production"
            }
         }
      }
   ]
}
```

------

### Limitare le chiavi di tag degli oggetti che gli utenti possono aggiungere
<a name="example-bucket-policies-tagging-2"></a>

La seguente policy di esempio concede a un utente le autorizzazioni per eseguire l'operazione `s3:PutObjectTagging`, che permette di aggiungere tag a un oggetto esistente. La condizione utilizza la chiave di condizione `s3:RequestObjectTagKeys` per specificare le chiavi di tag consentite, ad esempio `Owner` o `CreationDate`. Per ulteriori informazioni, consulta la sezione [Creazione di una condizione con più chiavi o valori](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) nella *Guida per l'utente IAM*.

La policy garantisce che ogni chiave di tag specificata nella richiesta sia una chiave di tag autorizzata. Il qualificatore `ForAnyValue` nella condizione garantisce che almeno una delle chiavi specificate sia presente nella richiesta.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
            "arn:aws:iam::111122223333:role/JohnDoe"
         ]
       },
 "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [
            "Owner",
            "CreationDate"
          ]
        }
      }
    }
  ]
}
```

------

### Richiedere una chiave e un valore di tag specifici per consentire agli utenti di aggiungere tag di oggetti
<a name="example-bucket-policies-tagging-3"></a>

Il seguente esempio di policy concede a un utente l'autorizzazione a eseguire l'azione `s3:PutObjectTagging`, che consente di aggiungere tag a un oggetto esistente. La condizione prevede che l'utente includa una chiave di tag specifica (ad esempio, `Project`) con valore impostato su `X`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
       "arn:aws:iam::111122223333:user/JohnDoe"
         ]
       },
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X"
        }
      }
    }
  ]
}
```

------

### Concedere a un utente di aggiungere solo oggetti che hanno una chiave o un valore di tag specifico
<a name="example-bucket-policies-tagging-4"></a>

La seguente policy di esempio concede a un utente l'autorizzazione per eseguire l'operazione `s3:PutObject` in modo che possa aggiungere oggetti a un bucket. Tuttavia, l'istruzione `Condition` limita le chiavi e i valori di tag consentiti sugli oggetti caricati. In questo esempio, l'utente può aggiungere al bucket solo oggetti con la chiave di tag specifica (`Department`) con il valore impostato su `Finance`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Principal":{
            "AWS":[
                 "arn:aws:iam::111122223333:user/JohnDoe"
         ]
        },
        "Effect": "Allow",
        "Action": [
            "s3:PutObject"
        ],
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ],
        "Condition": {
            "StringEquals": {
                "s3:RequestObjectTag/Department": "Finance"
            }
        }
    }]
}
```

------

## Gestione dell'accesso agli oggetti utilizzando chiavi di condizione globali
<a name="example-bucket-policies-global-condition-keys"></a>

Le chiavi di [condizione globali sono chiavi](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html) di contesto delle condizioni con un prefisso. `aws` Servizi AWS può supportare chiavi di condizione globali o chiavi specifiche del servizio che includono il prefisso del servizio. È possibile utilizzare l'elemento `Condition` di una policy JSON per confrontare le chiavi in una richiesta con i valori di chiave specificati nella policy.

### Limitare l'accesso alle sole consegne dei log degli accessi al server Amazon S3
<a name="example-bucket-policies-global-condition-keys-1"></a>

Nel seguente esempio di bucket policy, la chiave [https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)global condition viene utilizzata per confrontare l'[Amazon Resource Name (ARN](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)) della risorsa, effettuando service-to-service una richiesta con l'ARN specificato nella policy. La chiave di condizione globale `aws:SourceArn` viene utilizzata per impedire a un servizio Amazon S3 di essere utilizzato come [confused deputy](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html) durante le transazioni tra servizi. Solo il servizio Amazon S3 può aggiungere oggetti al bucket Amazon S3.

Questo esempio di policy di bucket concede autorizzazioni `s3:PutObject` al principale del servizio di log (`logging.s3.amazonaws.com`). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutObjectS3ServerAccessLogsPolicy",
            "Principal": {
                "Service": "logging.s3.amazonaws.com"
            },
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-logs/*",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket1"
                }
            }
        },
        {
            "Sid": "RestrictToS3ServerAccessLogs",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-logs/*",
            "Condition": {
                "ForAllValues:StringNotEquals": {
                    "aws:PrincipalServiceNamesList": "logging.s3.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### Consentire l'accesso solo alla tua organizzazione
<a name="example-bucket-policies-global-condition-keys-2"></a>

Se desideri che tutti i [responsabili IAM che accedono](https://docs.aws.amazon.com//IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) a una risorsa provengano da un membro Account AWS della tua organizzazione (incluso l'account di AWS Organizations gestione), puoi utilizzare la `aws:PrincipalOrgID` chiave global condition.

Per concedere o limitare questo tipo di accesso, definisci la condizione `aws:PrincipalOrgID` e imposta il valore sull'[ID dell'organizzazione](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_org_details.html) nella policy di bucket. L'ID dell'organizzazione viene utilizzato per controllare l'accesso al bucket. Quando si utilizza la condizione `aws:PrincipalOrgID`, le autorizzazioni della policy di bucket vengono applicate anche a tutti i nuovi account aggiunti all'organizzazione.

Ecco un esempio di policy di bucket basata su risorse che puoi utilizzare per concedere l'accesso diretto al bucket a specifici principali IAM nella tua organizzazione. Aggiungendo la chiave di condizione globale `aws:PrincipalOrgID` alla policy di bucket, ora l'account principale deve trovarsi nell'organizzazione per ottenere l'accesso alla risorsa. Anche se si specifica accidentalmente un account errato quando si concede l'accesso, la [chiave di condizione globale aws:PrincipalOrgID](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) funge da ulteriore protezione. Quando viene utilizzata come policy, questa chiave globale impedisce a tutti i principali esterni all'organizzazione specificata di accedere al bucket S3. Solo i principali degli account dell'organizzazione elencata possono ottenere l'accesso alla risorsa.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "AllowGetObject",
        "Principal": {
            "AWS": "*"
        },
        "Effect": "Allow",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
        "Condition": {
            "StringEquals": {
                "aws:PrincipalOrgID": ["o-aa111bb222"]
            }
        }
    }]
}
```

------

## Gestione dell'accesso in base a richieste HTTP o HTTPS
<a name="example-bucket-policies-HTTP-HTTPS"></a>

### Limitare l'accesso solo alle richieste HTTPS
<a name="example-bucket-policies-use-case-HTTP-HTTPS-1"></a>

Se desideri impedire a potenziali aggressori di manipolare il traffico di rete, puoi utilizzare HTTPS (TLS) per consentire solo le connessioni crittografate limitando al contempo l'accesso al tuo bucket da parte delle richieste HTTP. Per determinare se la richiesta è HTTP o HTTPS, utilizza la chiave di condizione globale [https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport) nella policy di bucket S3. La chiave di condizione `aws:SecureTransport` controlla se una richiesta è stata inviata utilizzando HTTP.

Se una richiesta restituisce `true`, la richiesta è stata inviata tramite HTTP. Se la richiesta restituisce `false`, la richiesta è stata inviata tramite HTTP. Puoi quindi consentire o negare l'accesso al bucket in base allo schema di richiesta desiderato.

Nell'esempio seguente, la policy di bucket nega esplicitamente l'accesso alle richieste HTTP. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "RestrictToTLSRequestsOnly",
        "Action": "s3:*",
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket",
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ],
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "false"
            }
        },
        "Principal": "*"
    }]
}
```

------

### Limitare l'accesso a un referer HTTP specifico
<a name="example-bucket-policies-HTTP-HTTPS-2"></a>

Supponi di avere un sito Web con il nome di dominio (*`www.example.com`* o *`example.com`*) con collegamenti a foto e video archiviati nel bucket denominato `amzn-s3-demo-bucket`. Per impostazione predefinita, tutte le risorse Amazon S3 sono private, quindi solo chi le Account AWS ha create può accedervi. 

Per consentire l'accesso in lettura a questi oggetti dal sito Web, è possibile aggiungere una policy di bucket che concede l'autorizzazione `s3:GetObject` con una condizione secondo cui la richiesta `GET` deve generare da pagine Web specifiche. La seguente policy limita le richieste utilizzando la condizione `StringLike` con la chiave di condizione `aws:Referer`.

Verifica che i browser utilizzati includano l'intestazione HTTP `referer` nella richiesta.

**avvertimento**  
Ti consigliamo di procedere cautela quando utilizzi la chiave di condizione `aws:Referer`. È pericoloso includere un valore di intestazione di un referer pubblicamente noto. Parti non autorizzate possono utilizzare browser modificati o personalizzati per fornire qualsiasi valore `aws:Referer` scelto. Pertanto, non `aws:Referer` utilizzarlo per impedire a parti non autorizzate di effettuare richieste dirette AWS .   
La chiave di condizione `aws:Referer` è disponibile solo per consentire ai clienti di proteggere i propri contenuti digitali, come i contenuti archiviati in Amazon S3, da riferimenti su siti di terze parti non autorizzate. Per ulteriori informazioni, consulta la sezione [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-referer](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-referer) nella *Guida per l'utente di IAM*.

## Gestione dell'accesso utente a cartelle specifiche
<a name="example-bucket-policies-folders"></a>

### Concedere agli utenti l'accesso a cartelle specifiche
<a name="example-bucket-policies-folders-1"></a>

Supponiamo che tu stia cercando di concedere agli utenti l'accesso a una cartella specifica. Se l'utente IAM e il bucket S3 appartengono allo stesso gruppo Account AWS, puoi utilizzare una policy IAM per concedere all'utente l'accesso a una cartella di bucket specifica. Con questo approccio, non è necessario aggiornare la policy di bucket per concedere l'accesso. Puoi aggiungere la policy IAM a un ruolo IAM a cui possono passare più utenti. 

Se l'identità IAM e il bucket S3 appartengono a parti diverse Account AWS, devi concedere l'accesso a più account sia nella policy IAM che nella policy del bucket. Per informazioni su come concedere l'accesso multi-account, consulta la sezione relativa al [proprietario del bucket che concede autorizzazioni per il bucket multi-account](https://docs.aws.amazon.com//AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html).

La seguente policy di bucket di esempio concede a `JohnDoe` l'accesso completo a livello di console solo alla sua cartella (`home/JohnDoe/`). Creando una cartella `home` e concedendo le autorizzazioni appropriate ai tuoi utenti, puoi fare in modo che più utenti condividano un singolo bucket. Questa policy è composta da tre istruzioni `Allow`:
+ `AllowRootAndHomeListingOfCompanyBucket`: consente all'utente (`JohnDoe`) di elencare gli oggetti al livello root del bucket `amzn-s3-demo-bucket` e nella cartella `home`. Questa istruzione consente inoltre all'utente di cercare in base al prefisso `home/` utilizzando la console.
+ `AllowListingOfUserFolder`: consente all'utente (`JohnDoe`) di elencare tutti gli oggetti nella cartella `home/JohnDoe/` e nelle eventuali sottocartelle.
+ `AllowAllS3ActionsInUserFolder`: consente all'utente di eseguire tutte le operazioni di Amazon S3 concedendo le autorizzazioni `Read`, `Write` e `Delete`. Le autorizzazioni sono limitate alla cartella principale del proprietario del bucket.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRootAndHomeListingOfCompanyBucket",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"],
            "Condition": {
                "StringEquals": {
                    "s3:prefix": ["", "home/", "home/JohnDoe"],
                    "s3:delimiter": ["/"]
                }
            }
        },
        {
            "Sid": "AllowListingOfUserFolder",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Action": ["s3:ListBucket"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"],
            "Condition": {
                "StringLike": {
                    "s3:prefix": ["home/JohnDoe/*"]
                }
            }
        },
        {
            "Sid": "AllowAllS3ActionsInUserFolder",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Action": ["s3:*"],
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/home/JohnDoe/*"]
        }
    ]
}
```

------

## Gestione dell'accesso per i log degli accessi
<a name="example-bucket-policies-access-logs"></a>

### Concedere l'accesso ad Application Load Balancer per abilitare i log degli accessi
<a name="example-bucket-policies-access-logs-1"></a>

Quando abiliti i log degli accessi per Application Load Balancer, devi specificare il nome del bucket S3 in cui il sistema di bilanciamento del carico [archivierà i log](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#access-log-create-bucket). Il bucket deve avere una [policy collegata](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#attach-bucket-policy) che concede a Elastic Load Balancing l'autorizzazione a scrivere nel bucket.

Nell'esempio seguente, la policy di bucket concede a Elastic Load Balancing (ELB) l'autorizzazione a scrivere i log degli accessi nel bucket:

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

****  

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

------

**Nota**  
Assicurati di sostituire `elb-account-id` con l'ID Account AWS per Elastic Load Balancing per la tua Regione AWS. Per l'elenco delle regioni Elastic Load Balancing, consulta [Collegamento di una policy al bucket Amazon S3](https://docs.aws.amazon.com//elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) nella *Guida per l'utente di Elastic Load Balancing*.

Se la tua Regione AWS non compare nell'elenco delle regioni Elastic Load Balancing supportate, utilizza la seguente politica, che concede le autorizzazioni al servizio di consegna dei log specificato.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Principal": {
         "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
          },
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/111122223333/*"
    }
  ]
}
```

------

Quindi, assicurati di configurare i [log degli accessi di Elastic Load Balancing](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#enable-access-logs) abilitandoli. Puoi [verificare le autorizzazioni del bucket](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#verify-bucket-permissions) creando un file di test.

## Gestione dell'accesso a un Amazon CloudFront OAI
<a name="example-bucket-policies-cloudfront"></a>

### Concedi l'autorizzazione a un Amazon CloudFront OAI
<a name="example-bucket-policies-cloudfront-1"></a>

Il seguente esempio di bucket policy concede un'autorizzazione OAI ( CloudFront Origin Access Identity) per ottenere (leggere) tutti gli oggetti nel bucket S3. Puoi utilizzare un CloudFront OAI per consentire agli utenti di accedere agli oggetti nel tuo bucket tramite Amazon S3 CloudFront , ma non direttamente. Per ulteriori informazioni, consulta [Limitazione dell'accesso ai contenuti di Amazon S3 utilizzando un'identità di accesso di origine](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) nella * CloudFront Amazon* Developer Guide.

La policy seguente utilizza l'ID dell'identità di accesso origine (OAI) come `Principal` della policy. *Per ulteriori informazioni sull'utilizzo delle policy dei bucket S3 per concedere l'accesso a un CloudFront OAI, consulta [Migrating from Origin Access Identity (OAI) a Origin Access Control (OAC)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#migrate-from-oai-to-oac) nella Amazon Developer Guide. CloudFront *

Per utilizzare questo esempio:
+ Sostituisci `EH1HDMB1FH2TC` con l'ID dell'identità di accesso origine (OAI). Per trovare l'ID dell'OAI, consulta la [pagina Origin Access Identity sulla CloudFront console o utilizzalo](https://console.aws.amazon.com/cloudfront/home?region=us-east-1#oai:) nell'API. [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html) CloudFront 
+ Sostituisci `amzn-s3-demo-bucket` con il nome del tuo bucket.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH1HDMB1FH2TC"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

## Gestione dell'accesso per Amazon S3 Storage Lens
<a name="example-bucket-policies-lens"></a>

### Concedere le autorizzazioni per Amazon S3 Storage Lens
<a name="example-bucket-policies-lens-1"></a>

S3 Storage Lens aggrega i tuoi parametri e mostra le informazioni nella sezione **Account snapshot** (Snapshot dell'account) nella pagina **Buckets** (Bucket) della console di Amazon S3. S3 Storage Lens fornisce anche una dashboard interattiva che puoi utilizzare per visualizzare approfondimenti e tendenze, contrassegnare valori anomali e ricevere consigli per ottimizzare i costi di archiviazione e applicare le migliori pratiche di protezione dei dati. La dashboard offre opzioni drill-down per generare e visualizzare informazioni a livello di organizzazione, account, classe di storage, bucket, prefisso Regione AWS o gruppo Storage Lens. Puoi anche inviare un rapporto giornaliero sulle metriche in formato CSV o in Parquet formato a un bucket S3 generico o esportare le metriche direttamente in un bucket di tabella S3 gestito. AWS

S3 Storage Lens può esportare i parametri aggregati relativi l'utilizzo dell'archiviazione in un bucket Amazon S3 per ulteriori analisi. Il bucket in cui S3 Storage Lens colloca le esportazioni delle metriche è noto come *bucket di destinazione*. Quando configuri l'esportazione delle metriche di S3 Storage Lens, devi disporre di una policy di bucket per il bucket di destinazione. Per ulteriori informazioni, consulta [Monitoraggio dell'attività e dell'utilizzo dello storage con Amazon S3 Storage Lens](storage_lens.md).

La seguente policy di bucket di esempio concede ad Amazon S3 l'autorizzazione a scrivere oggetti (richieste `PUT`) in un bucket di destinazione. Questo tipo di policy di bucket viene utilizzato nel *bucket di destinazione* quando si imposta l'esportazione dei parametri di S3 Storage Lens.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3StorageLensExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "storage-lens.s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/destination-prefix/StorageLens/111122223333/*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": "arn:aws:s3:region-code:111122223333:storage-lens/storage-lens-dashboard-configuration-id"
                }
            }
        }
    ]
}
```

------

Utilizza la modifica seguente alla precedente istruzione `Resource` della policy di bucket quando configuri un'esportazione di parametri a livello di organizzazione S3 Storage Lens.

```
1. "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/destination-prefix/StorageLens/your-organization-id/*",
```

## Gestione delle autorizzazioni per i report di S3 Inventory, S3 Analytics e S3 Inventory
<a name="example-bucket-policies-s3-inventory"></a>

### Concedere autorizzazioni per S3 Inventory e S3 Analytics
<a name="example-bucket-policies-s3-inventory-1"></a>

S3 Inventory crea elenchi di oggetti in un bucket, mentre l'esportazione di analisi della classe di archiviazione di S3 Analytics genera file di output dei dati utilizzati nell'analisi. Il bucket per il quale l'inventario elenca gli oggetti è denominato *bucket di origine*. Il bucket nel quale viene scritto il file di inventario e il file di esportazione di analisi è definito *bucket di destinazione*. È necessario creare una policy di bucket per il bucket di destinazione quando si configura un inventario o un'esportazione di analisi. Per ulteriori informazioni, consultare [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md) e [Analisi di Amazon S3 – Analisi della classe di storage](analytics-storage-class.md).

La policy di bucket di esempio seguente concede ad Amazon S3 l'autorizzazione per scrivere oggetti (richieste `PUT`) dall'account per il bucket di origine nel bucket di destinazione. Questo tipo di policy di bucket viene utilizzato nel bucket di destinazione quando imposti S3 Inventory e l'esportazione di S3 Analytics.

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

****  

```
{  
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
            "Sid": "InventoryAndAnalyticsExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
            "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "ArnLike": {
                "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket"
                },
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

### Controllo della creazione della configurazione dei report di Inventario S3
<a name="example-bucket-policies-s3-inventory-2"></a>

[Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md) crea elenchi degli oggetti presenti in un bucket S3 e i metadata per ogni oggetto. L'autorizzazione `s3:PutInventoryConfiguration` consente all'utente di creare una configurazione dell'inventario che include tutti i campi dei metadati dell'oggetto disponibili per impostazione predefinita e di specificare il bucket di destinazione per memorizzare l'inventario. Un utente con accesso in lettura agli oggetti nel bucket di destinazione può accedere a tutti i campi di metadati degli oggetti disponibili nel report di inventario. Per ulteriori informazioni sui campi dei metadati disponibili in S3 Inventory, consulta [Elenco di Amazon S3 Inventory](storage-inventory.md#storage-inventory-contents).

Per impedire a un utente di configurare un report di Inventario S3, rimuovi l'autorizzazione `s3:PutInventoryConfiguration` dall'utente.

Alcuni campi dei metadati degli oggetti nelle configurazioni dei report dell'Inventario S3 sono opzionali, cioè sono disponibili per impostazione predefinita, ma possono essere limitati quando si concede a un utente l'autorizzazione `s3:PutInventoryConfiguration`. È possibile controllare se gli utenti possono includere questi campi di metadati opzionali nei loro report utilizzando la chiave di condizione `s3:InventoryAccessibleOptionalFields`. Per un elenco dei campi di metadati opzionali disponibili in Inventario S3, consulta [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody) in *Riferimento API di Amazon Simple Storage Service*.

Per concedere a un utente l'autorizzazione a creare una configurazione dell'inventario con specifici campi di metadati opzionali, utilizzare la chiave di condizione `s3:InventoryAccessibleOptionalFields` per affinare le condizioni della policy del bucket. 

Il seguente esempio di policy concede a un utente (`Ana`) l'autorizzazione a creare una configurazione di inventario in modo condizionato. La condizione `ForAllValues:StringEquals` nella policy utilizza la chiave di condizione `s3:InventoryAccessibleOptionalFields` per specificare i due campi di metadati opzionali consentiti, ovvero `Size` e `StorageClass`. Quindi, quando `Ana` crea una configurazione di inventario, gli unici campi di metadati opzionali che può includere sono `Size` e `StorageClass`. 

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

****  

```
{
	"Id": "InventoryConfigPolicy",
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
			"Sid": "AllowInventoryCreationConditionally",
			"Effect": "Allow",			
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:user/Ana"
			},			
			"Action": 
				"s3:PutInventoryConfiguration",
			"Resource": 
				"arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET",
			"Condition": {
				"ForAllValues:StringEquals": {
					"s3:InventoryAccessibleOptionalFields": [
					   "Size",
					   "StorageClass"
					   ]
				  }
				}
			}
	]
}
```

------

Per impedire a un utente di configurare un report dell'Inventario S3 che includa specifici campi di metadati opzionali, aggiungere un'istruzione esplicita `Deny` alla policy di bucket per il bucket di origine. Il seguente esempio di policy del bucket impedisce all'utente `Ana` di creare una configurazione dell'inventario nel bucket di origine `amzn-s3-demo-source-bucket` che includa i campi di metadati opzionali `ObjectAccessControlList` o `ObjectOwner`. L'utente `Ana` può comunque creare una configurazione dell'inventario con altri campi di metadati opzionali.

```
 1. {
 2. 	"Id": "InventoryConfigSomeFields",
 3. 	"Version": "2012-10-17",		 	 	 
 4. 	"Statement": [{
 5. 			"Sid": "AllowInventoryCreation",
 6. 			"Effect": "Allow",
 7. 			"Principal": {
 8. 				"AWS": "arn:aws:iam::111122223333:user/Ana"
 9. 			},
10. 			"Action": "s3:PutInventoryConfiguration",			
11. 			"Resource": 
12. 				"arn:aws:s3:::amzn-s3-demo-source-bucket",
13. 
14. 		},
15. 		{
16. 			"Sid": "DenyCertainInventoryFieldCreation",
17. 			"Effect": "Deny",
18. 			"Principal": {
19. 				"AWS": "arn:aws:iam::111122223333:user/Ana"
20. 			},
21. 			"Action": "s3:PutInventoryConfiguration",	
22. 			"Resource": 
23. 			  "arn:aws:s3:::amzn-s3-demo-source-bucket",			
24. 			"Condition": {
25. 				"ForAnyValue:StringEquals": {
26. 					"s3:InventoryAccessibleOptionalFields": [
27. 					   "ObjectOwner",
28. 					   "ObjectAccessControlList"
29. 					   ]
30. 				  }
31. 				}
32. 			}
33. 	]
34. }
```

**Nota**  
L'uso della chiave di condizione `s3:InventoryAccessibleOptionalFields` nelle policy dei bucket non influisce sulla consegna dei report di inventario basati sulle configurazioni di inventario esistenti. 

**Importante**  
Si consiglia di utilizzare `ForAllValues` con un effetto `Allow` o `ForAnyValue` con un effetto `Deny`, come mostrato negli esempi precedenti.  
Non usare `ForAllValues` con un effetto `Deny` né `ForAnyValue` con un effetto `Allow`, perché queste combinazioni possono essere troppo restrittive e bloccare la cancellazione della configurazione dell'inventario.  
Per ulteriori informazioni sugli operatori di set di condizioni `ForAllValues` e `ForAnyValue`, consulta [Tasti contestuali multivalore](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html#reference_policies_condition-multi-valued-context-keys) nella *Guida all'utente IAM*.

## Richiesta dell'autenticazione a più fattori (MFA)
<a name="example-bucket-policies-MFA"></a>

Amazon S3 supporta l'accesso all'API protetto con autenticazione MFA, una caratteristica che permette di imporre la Multi-Factor Authentication (MFA) per accedere alle risorse di Amazon S3. L'autenticazione a più fattori offre un ulteriore livello di sicurezza che puoi applicare al tuo ambiente. AWS L'autenticazione a più fattori (MFA) è una funzione di protezione che prevede che gli utenti dimostrino di possedere fisicamente un dispositivo MFA fornendo un codice MFA valido. Per ulteriori informazioni, consulta [Autenticazione a più fattori (MFA) di AWS](https://aws.amazon.com/mfa/). Puoi richiedere l'autenticazione MFA per tutte le richieste di accesso alle risorse di Amazon S3. 

Per imporre l'uso del requisito dell'autenticazione a più fattori (MFA), utilizza la chiave di condizione `aws:MultiFactorAuthAge` in una policy di bucket. Gli utenti IAM possono accedere alle risorse Amazon S3 utilizzando credenziali temporanee emesse da (). AWS Security Token Service AWS STS Al momento della richiesta AWS STS , dovrai fornire il codice MFA. 

Quando Amazon S3 riceve una richiesta con l'autenticazione a più fattori (MFA), la chiave di condizione `aws:MultiFactorAuthAge` fornisce un valore numerico che indica il tempo trascorso (in secondi) dalla creazione delle credenziali temporanee. Se le credenziali temporanee fornite nella richiesta non sono state create utilizzando un dispositivo MFA, il valore di questa chiave è null (assente). In una policy di bucket, è possibile aggiungere una condizione per controllare questo valore, come mostrato nell'esempio riportato di seguito. 

La policy di esempio nega qualsiasi operazione Amazon S3 nella cartella *`/taxdocuments`* del bucket `amzn-s3-demo-bucket` se la richiesta non è autenticata tramite l'autenticazione a più fattori (MFA). Per ulteriori informazioni su MFA, consulta la sezione [Utilizzo dell'autenticazione a più fattori (MFA) in AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) nella *Guida per l'utente di IAM*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": { "Null": { "aws:MultiFactorAuthAge": true }}
      }
    ]
 }
```

------

La condizione `Null` nel blocco `Condition` viene valutata come `true` se il valore della chiave di condizione `aws:MultiFactorAuthAge` è null, a indicare che le credenziali di sicurezza temporanee nella richiesta sono state create senza un dispositivo MFA. 

La policy di bucket seguente è un'estensione di quella precedente. La seguente policy comprende due istruzioni dedicate. Una dichiarazione consente l'autorizzazione `s3:GetObject` per un bucket (`amzn-s3-demo-bucket`) per tutti gli utenti. La seconda dichiarazione limita ulteriormente l'accesso alla cartella `amzn-s3-demo-bucket/taxdocuments` nel bucket richiedendo l'autenticazione MFA. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "DenyInsecureConnections",
        "Effect": "Deny",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": { "Null": { "aws:MultiFactorAuthAge": true } }
      },
      {
        "Sid": "AllowGetObject",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": ["s3:GetObject"],
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
    ]
 }
```

------

Facoltativamente, è possibile utilizzare una condizione numerica per limitare la durata della validità della chiave `aws:MultiFactorAuthAge`. La durata specificata con la chiave `aws:MultiFactorAuthAge` è indipendente dalla durata delle credenziali di sicurezza temporanee utilizzate per l'autenticazione della richiesta. 

Ad esempio, la policy di bucket seguente, oltre a richiedere l'autenticazione MFA, controlla anche da quanto tempo esiste la sessione temporanea. La policy rifiuta tutte le operazioni se il valore della chiave `aws:MultiFactorAuthAge` indica che la sessione temporanea è stata creata oltre un'ora (3.600 secondi) prima. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": {"Null": {"aws:MultiFactorAuthAge": true }}
      },
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": {"NumericGreaterThan": {"aws:MultiFactorAuthAge": 3600 }}
       },
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": "*",
         "Action": ["s3:GetObject"],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
    ]
 }
```

------

## Impedire agli utenti di eliminare gli oggetti
<a name="using-with-s3-actions-related-to-bucket-subresources"></a>

Per default, gli utenti non dispongono di autorizzazioni. Ma quando si creano le policy, è possibile che si concedano agli utenti autorizzazioni che non si intendevano concedere. Per evitare questi espedienti riguardo alle autorizzazioni, è possibile scrivere una policy di accesso più rigida aggiungendo un rifiuto esplicito. 

Per bloccare esplicitamente gli utenti o gli account dall'eliminazione di oggetti, è necessario aggiungere le seguenti azioni su una policy del bucket: `s3:DeleteObject`, `s3:DeleteObjectVersion` e `s3:PutLifecycleConfiguration`. Tutte e tre le azioni sono necessarie perché è possibile eliminare gli oggetti chiamando esplicitamente le operazioni dell'API `DELETE Object` o configurando il loro ciclo di vita (consulta [Gestione del ciclo di vita degli oggetti](object-lifecycle-mgmt.md)) in modo che Amazon S3 possa rimuovere gli oggetti quando la loro durata scade.

Nel seguente esempio di policy, si negano esplicitamente le autorizzazioni di `DELETE Object` all'utente `MaryMajor`. Un'istruzione esplicita `Deny` sostituisce sempre qualsiasi altra autorizzazione concessa.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "statement1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/MaryMajor"
      },
      "Action": [
        "s3:GetObjectVersion",
        "s3:GetBucketAcl"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
	 	"arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    },
    {
      "Sid": "statement2",
      "Effect": "Deny",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/MaryMajor"
      },
      "Action": [
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutLifecycleConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
	    "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    }
  ]
}
```

------

# Esempi di policy per i bucket che utilizzano le chiavi di condizione
<a name="amazon-s3-policy-keys"></a>

È possibile utilizzare in linguaggio delle policy di accesso per specificare le condizioni quando si concedono le autorizzazioni. È possibile utilizzare l'elemento opzionale `Condition`, o blocco `Condition`, per specificare le condizioni per l'entrata in vigore di una policy. 

Per le policy che utilizzano le chiavi di condizioni di Amazon S3 per operazioni su oggetti e bucket, consulta gli esempi seguenti. Per ulteriori informazioni su queste chiavi di condizione, consulta [Chiavi di condizione per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). Per un elenco completo delle azioni, delle chiavi di condizione e delle risorse di Amazon S3 che è possibile specificare nelle policy, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

## Esempi: Chiavi di condizione di Amazon S3 per operazioni sugli oggetti
<a name="object-keys-in-amazon-s3-policies"></a>

Gli esempi seguenti mostrano come si possono usare le chiavi di condizione specifiche di Amazon S3 per le operazioni sugli oggetti. Per un elenco completo delle azioni, delle chiavi di condizione e delle risorse di Amazon S3 che è possibile specificare nelle policy, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

Molte delle policy di esempio mostrano come è possibile utilizzare le chiavi di condizione con le operazioni [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html). Le operazioni PUT Object permettono intestazioni specifiche della lista di controllo degli accessi (ACL) che è possibile utilizzare per concedere autorizzazioni basate sulle liste ACL. Utilizzando queste chiavi di condizione, è possibile impostare una condizione per richiedere autorizzazioni di accesso specifiche quando l'utente carica un oggetto. Puoi anche concedere autorizzazioni basate su ACL con l'operazione. PutObjectAcl Per ulteriori informazioni, consulta il riferimento [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)all'*API Amazon S3 Amazon Simple Storage Service*. Per ulteriori informazioni su ACLs, consulta[Panoramica delle liste di controllo accessi (ACL)](acl-overview.md).

**Topics**
+ [Esempio 1: concessione dell'autorizzazione a `s3:PutObject` che richiede che gli oggetti siano memorizzati utilizzando la crittografia lato server](#putobject-require-sse-2)
+ [Esempio 2: Concessione all'indirizzo `s3:PutObject` dell'autorizzazione a copiare oggetti con una restrizione sull'origine della copia](#putobject-limit-copy-source-3)
+ [Esempio 3: concessione dell'accesso a una versione specifica di un oggetto](#getobjectversion-limit-access-to-specific-version-3)
+ [Esempio 4: concessione di autorizzazioni in base ai tag degli oggetti](#example-object-tagging-access-control)
+ [Esempio 5: limitazione dell'accesso in base all' Account AWS ID del proprietario del bucket](#example-object-resource-account)
+ [Esempio 6: Richiesta di una versione TLS minima](#example-object-tls-version)
+ [Esempio 7: Esclusione di alcuni principali da un'istruzione `Deny`](#example-exclude-principal-from-deny-statement)
+ [Esempio 8: imporre ai client di caricare oggetti in modo condizionale in base ai nomi delle chiavi degli oggetti o ETags](#example-conditional-writes-enforce)

### Esempio 1: concessione dell'autorizzazione a `s3:PutObject` che richiede che gli oggetti siano memorizzati utilizzando la crittografia lato server
<a name="putobject-require-sse-2"></a>

Si supponga che l'Account A possieda un bucket. L'amministratore dell'account vuole concedere a Jane, un utente dell'account A, l'autorizzazione a caricare oggetti con la condizione che Jane richieda sempre la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). L'amministratore del conto A può specificare questo requisito utilizzando la chiave di condizione `s3:x-amz-server-side-encryption`, come mostrato. La coppia chiave-valore nel seguente blocco `Condition` specifica la chiave di condizione `s3:x-amz-server-side-encryption` e SSE-S3 (`AES256`) come tipo di crittografia:

```
"Condition": {
     "StringNotEquals": {
         "s3:x-amz-server-side-encryption": "AES256"
     }}
```

Quando si verifica questa autorizzazione utilizzando il AWS CLI, è necessario aggiungere la crittografia richiesta utilizzando il `--server-side-encryption` parametro, come illustrato nell'esempio seguente. Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni. 

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key HappyFace.jpg --body c:\HappyFace.jpg --server-side-encryption "AES256" --profile AccountAadmin
```

### Esempio 2: Concessione all'indirizzo `s3:PutObject` dell'autorizzazione a copiare oggetti con una restrizione sull'origine della copia
<a name="putobject-limit-copy-source-3"></a>

In una richiesta di oggetto `PUT`, quando si specifica un oggetto di origine, la richiesta è un'operazione di copia (consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html)). Di conseguenza è possibile che il proprietario del bucket assegni all'utente l'autorizzazione a copiare gli oggetti con qualche limitazione sull'origine, ad esempio:
+ Consente di copiare gli oggetti solo dal bucket di origine specificato (ad esempio, `amzn-s3-demo-source-bucket`).
+ Consente di copiare gli oggetti dal bucket di origine specificato e solo gli oggetti il cui prefisso del nome della chiave inizia con un prefisso specifico, come ad esempio *`public/`* (ad esempio, `amzn-s3-demo-source-bucket/public/*`).
+ Consente di copiare solo un oggetto specifico dal bucket di origine (ad esempio, `amzn-s3-demo-source-bucket/example.jpg`).

La seguente policy del bucket concede a un utente (`Dave`) l'autorizzazione `s3:PutObject`. Questa policy gli consente di copiare gli oggetti solo a condizione che la richiesta includa l'intestazione `s3:x-amz-copy-source` e che il valore dell'intestazione specifichi il prefisso del nome della chiave `/amzn-s3-demo-source-bucket/public/*`. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Sid": "cross-account permission to user in your own account",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
        },
        {
            "Sid": "Deny your user permission to upload object if copy source is not /bucket/prefix",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
            "Condition": {
                "StringNotLike": {
                    "s3:x-amz-copy-source": "amzn-s3-demo-source-bucket/public/*"
                }
            }
        }
    ]
}
```

------

**Verificate la politica con AWS CLI**  
È possibile verificare l'autorizzazione utilizzando il AWS CLI `copy-object` comando. È possibile specificare l'origine aggiungendo il parametro `--copy-source`; il prefisso del nome della chiave deve corrispondere al prefisso consentito nella policy. È necessario fornire le credenziali all'utente Dave utilizzando il parametro `--profile`. *Per ulteriori informazioni sulla configurazione di AWS CLI, consulta [Developing with Amazon S3 using the AWS CLI nell'Amazon S3 API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Reference.*

```
aws s3api copy-object --bucket amzn-s3-demo-source-bucket --key HappyFace.jpg 
--copy-source amzn-s3-demo-source-bucket/public/PublicHappyFace1.jpg --profile AccountADave
```

**Concessione dell'autorizzazione a copiare solo un oggetto specifico**  
La policy di cui sopra utilizza la condizione `StringNotLike`. Per concedere l'autorizzazione a copiare solo un oggetto specifico, è necessario modificare la condizione da `StringNotLike` a `StringNotEquals` e quindi specificare la chiave dell'oggetto esatto, come mostrato nell'esempio seguente. Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

```
"Condition": {
       "StringNotEquals": {
           "s3:x-amz-copy-source": "amzn-s3-demo-source-bucket/public/PublicHappyFace1.jpg"
       }
}
```

### Esempio 3: concessione dell'accesso a una versione specifica di un oggetto
<a name="getobjectversion-limit-access-to-specific-version-3"></a>

Si supponga che l'account A possieda un bucket con controllo delle versioni abilitato. Il bucket ha diverse versioni dell'oggetto `HappyFace.jpg`. L'amministratore dell'account A vuole ora concedere all'utente `Dave` il permesso di ottenere solo una versione specifica dell'oggetto. L'amministratore dell'account può ottenere questo risultato concedendo all'utente `Dave` l'autorizzazione `s3:GetObjectVersion` in modo condizionato, come mostrato nell'esempio seguente. La coppia chiave-valore nel blocco `Condition` specifica la chiave di condizione `s3:VersionId`. In questo caso, per recuperare l'oggetto dal bucket con controllo delle versioni abilitato specificato, `Dave` deve conoscere l'ID esatto della versione dell'oggetto. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/HappyFace.jpg"
        },
        {
            "Sid": "statement2",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/HappyFace.jpg",
            "Condition": {
                "StringNotEquals": {
                    "s3:VersionId": "AaaHbAQitwiL_h47_44lRO2DDfLlBO5e"
                }
            }
        }
    ]
}
```

------

**Verifica la politica con AWS CLI**  
È possibile verificare le autorizzazioni contenute in questa politica utilizzando il AWS CLI `get-object` comando con il `--version-id` parametro per identificare la versione specifica dell'oggetto da recuperare. Il comando recupera la versione specificata dell'oggetto e la salva nel file `OutputFile.jpg`.

```
aws s3api get-object --bucket amzn-s3-demo-bucket --key HappyFace.jpg OutputFile.jpg --version-id AaaHbAQitwiL_h47_44lRO2DDfLlBO5e --profile AccountADave
```

### Esempio 4: concessione di autorizzazioni in base ai tag degli oggetti
<a name="example-object-tagging-access-control"></a>

Per esempi su come utilizzare le chiavi di condizione del tagging degli oggetti con le operazioni di Amazon S3, consulta [Tagging e policy di controllo degli accessi](tagging-and-policies.md).

### Esempio 5: limitazione dell'accesso in base all' Account AWS ID del proprietario del bucket
<a name="example-object-resource-account"></a>

Puoi utilizzare la chiave `aws:ResourceAccount` o `s3:ResourceAccount` condition per scrivere policy endpoint IAM o Virtual Private Cloud (VPC) che limitano l'accesso di utenti, ruoli o applicazioni ai bucket Amazon S3 di proprietà di un ID specifico. Account AWS È possibile utilizzare queste chiavi di condizione per limitare l'accesso dei client all'interno del VPC ai bucket non di proprietà dell'utente.

Tuttavia, tieni presente che alcuni AWS servizi si basano sull'accesso a bucket gestiti. AWS Pertanto, l'utilizzo della chiave `aws:ResourceAccount` o `s3:ResourceAccount` nelle policy IAM potrebbe influire sull'accesso a queste risorse. Per maggiori informazioni, consulta le seguenti risorse:
+ [Limitazione dell'accesso ai bucket in un Account AWS](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3) specificato nella *Guida di AWS PrivateLink *
+ [Limitazione dell'accesso ai bucket utilizzati da Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html#ecr-minimum-s3-perms)nella *Guida di Amazon ECR*
+ [Fornisci l'accesso richiesto a Systems Manager per i bucket Amazon S3 AWS gestiti](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-minimum-s3-permissions.html) *nella guida AWS Systems Manager *

Per ulteriori informazioni sulle chiavi di condizione `aws:ResourceAccount` e `s3:ResourceAccount` ed esempi che mostrano come usarle, consulta [Limitare l'accesso ai bucket Amazon S3 di proprietà di specifici Account AWS](https://aws.amazon.com/blogs/storage/limit-access-to-amazon-s3-buckets-owned-by-specific-aws-accounts/) nello *AWS Storage Blog*.

### Esempio 6: Richiesta di una versione TLS minima
<a name="example-object-tls-version"></a>

È possibile utilizzare la chiave di condizione `s3:TlsVersion` per scrivere policy IAM, endpoint di cloud privato virtuale (VPCE) o bucket che limitano l'accesso di utenti o applicazioni ai bucket Amazon S3 in base alla versione TLS utilizzata dal client. È possibile utilizzare questa chiave di condizione per scrivere policy che richiedono una versione TLS minima. 

**Nota**  
Quando AWS i servizi effettuano chiamate ad altri AWS servizi per tuo conto (service-to-service chiamate), alcuni contesti di autorizzazione specifici della rete vengono oscurati, tra cui,, e. `s3:TlsVersion` `aws:SecureTransport` `aws:SourceIp` `aws:VpcSourceIp` Se la tua politica utilizza queste chiavi di condizione con le `Deny` istruzioni, i responsabili del AWS servizio potrebbero essere bloccati involontariamente. Per consentire ai AWS servizi di funzionare correttamente mantenendo i requisiti di sicurezza, escludi i service principal dalle tue `Deny` dichiarazioni aggiungendo la chiave di `aws:PrincipalIsAWSService` condizione con il valore di. `false` Esempio:  

```
{
  "Effect": "Deny",
  "Action": "s3:*",
  "Resource": "*",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false",
      "aws:PrincipalIsAWSService": "false"
    }
  }
}
```
Questa politica nega l'accesso alle operazioni di S3 quando non viene utilizzato HTTPS (`aws:SecureTransport`è falso), ma solo per i principali non di servizio.AWS Ciò garantisce che le restrizioni condizionali si applichino a tutti i principali ad eccezione dei responsabili dei servizi. AWS 

**Example**  
Il seguente esempio di policy del bucket *nega* le richieste di `PutObject` da parte di client che hanno una versione di TLS precedente a 1.2, ad esempio 1.1 o 1.0. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ],
            "Condition": {
                "NumericLessThan": {
                    "s3:TlsVersion": 1.2
                }
            }
        }
    ]
}
```

**Example**  
Il seguente esempio di policy del bucket *consente* le richieste di `PutObject` da parte di client che hanno una versione TLS successiva alla 1.1, ad esempio 1.2, 1.3 o successiva:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ],
            "Condition": {
                "NumericGreaterThan": {
                    "s3:TlsVersion": 1.1
                }
            }
        }
    ]
}
```

### Esempio 7: Esclusione di alcuni principali da un'istruzione `Deny`
<a name="example-exclude-principal-from-deny-statement"></a>

La seguente policy dei bucket nega a `s3:GetObject` l'accesso a `amzn-s3-demo-bucket`, tranne che ai principali con il numero di account *`123456789012`*. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessFromPrincipalNotInSpecificAccount",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalAccount": [
            "123456789012"
          ]
        }
      }
    }
  ]
}
```

------

### Esempio 8: imporre ai client di caricare oggetti in modo condizionale in base ai nomi delle chiavi degli oggetti o ETags
<a name="example-conditional-writes-enforce"></a>

Con le scritture condizionali, è possibile aggiungere un'intestazione aggiuntiva alle richieste di `WRITE` per specificare le precondizioni dell'operazione S3. Questa intestazione specifica una condizione che, se non viene soddisfatta, comporta il fallimento dell'operazione S3. Ad esempio, si può evitare la sovrascrittura di dati esistenti convalidando che non vi siano oggetti con lo stesso nome di chiave già presenti nel bucket durante il caricamento degli oggetti. In alternativa, puoi controllare il tag di entità di un oggetto (ETag) in Amazon S3 prima di scrivere un oggetto.

Per esempi di policy di bucket che utilizzano le condizioni in una policy di bucket per imporre scritture condizionali, consulta [Applicazione delle scritture condizionali sui bucket Amazon S3](conditional-writes-enforce.md).

## Esempi: Chiavi di condizione di Amazon S3 per le operazioni sui bucket
<a name="bucket-keys-in-amazon-s3-policies"></a>

I seguenti esempi di policy mostrano come sia possibile utilizzare chiavi di condizione specifiche di Amazon S3 per le operazioni sui bucket.

**Topics**
+ [Esempio 1: concessione dell'autorizzazione a `s3:GetObject` con una condizione su un indirizzo IP](#AvailableKeys-iamV2)
+ [Esempio 2: recupero di un elenco di oggetti in un bucket con un prefisso specifico](#condition-key-bucket-ops-2)
+ [Esempio 3: impostazione del numero massimo di chiavi](#example-numeric-condition-operators)

### Esempio 1: concessione dell'autorizzazione a `s3:GetObject` con una condizione su un indirizzo IP
<a name="AvailableKeys-iamV2"></a>

È possibile concedere agli utenti autenticati il permesso di utilizzare l'azione `s3:GetObject` se la richiesta proviene da un intervallo specifico di indirizzi IP (ad esempio, `192.0.2.*`), a meno che l'indirizzo IP non sia uno di quelli che si desidera escludere (ad esempio, `192.0.2.188`). Nel blocco `Condition`, `IpAddress` e `NotIpAddress` sono condizioni e a ciascuna condizione viene fornita una coppia chiave-valore da valutare. Entrambe le coppie chiave-valore in questo esempio utilizzano la `aws:SourceIp` AWS chiave wide. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Nota**  
I valori delle chiavi `IPAddress` e `NotIpAddress` specificati nel blocco `Condition` utilizzano la notazione CIDR, come descritto in RFC 4632. [Per ulteriori informazioni, consulta http://www.rfc-editor. org/rfc/rfc](http://www.rfc-editor.org/rfc/rfc4632.txt)4632.txt.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": "*",
            "Action":"s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition" : {
                "IpAddress" : {
                    "aws:SourceIp": "192.0.2.0/24" 
                },
                "NotIpAddress" : {
                    "aws:SourceIp": "192.0.2.188/32" 
                } 
            } 
        } 
    ]
}
```

------

Puoi anche utilizzare altre chiavi di condizione AWS a livello di ‐wide nelle policy di Amazon S3. Ad esempio, è possibile specificare le chiavi di condizione `aws:SourceVpce` e `aws:SourceVpc` nelle policy di bucket per gli endpoint VPC. Per esempi specifici consulta [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md).

**Nota**  
Per alcune chiavi di condizione AWS globali, sono supportati solo determinati tipi di risorse. Pertanto, verificare se Amazon S3 supporta la chiave di condizione globale e il tipo di risorsa che si desidera utilizzare, o se invece è necessario utilizzare una chiave di condizione specifica di Amazon S3. Per un elenco completo dei tipi di risorse e delle chiavi di condizione supportate per Amazon S3, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

### Esempio 2: recupero di un elenco di oggetti in un bucket con un prefisso specifico
<a name="condition-key-bucket-ops-2"></a>

È possibile utilizzare la chiave di condizione `s3:prefix` per limitare la risposta dell'operazione API ai nomi di chiavi con un prefisso specifico [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) API ai nomi delle chiavi con un prefisso specifico. Se si è il proprietario del bucket, si può usare questa chiave di condizione per limitare un utente a elencare il contenuto di un prefisso specifico nel bucket. La chiave di condizione `s3:prefix` è utile se gli oggetti del bucket sono organizzati per prefissi di nomi di chiavi. 

La console di Amazon S3 utilizza i prefissi dei nomi delle chiavi per mostrare un concetto di cartella. Solo la console supporta il concetto di cartelle, mentre l'API Amazon S3 supporta solo bucket e oggetti. Ad esempio, se due oggetti hanno i nomi delle chiavi *`public/object1.jpg`* e *`public/object2.jpg`*, la console mostra gli oggetti sotto la cartella *`public`*. Nell'API Amazon S3 questi sono oggetti con prefissi, non oggetti nelle cartelle. Per ulteriori informazioni sull'utilizzo di prefissi e delimitatori per filtrare le autorizzazioni di accesso, consulta [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md). 

Nel seguente scenario, il proprietario del bucket e l'account padre a cui appartiene l'utente sono gli stessi. Il proprietario del bucket può quindi utilizzare una policy del bucket o una policy dell'utente per concedere l'accesso. Per ulteriori informazioni sulle altre chiavi di condizione che è possibile utilizzare con l'operazione API `ListObjectsV2`, consulta la sezione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html).

**Nota**  
Se per il bucket è abilitato il controllo delle versioni, per elencare gli oggetti nel bucket è necessario concedere l'autorizzazione `s3:ListBucketVersions` nelle policy seguenti, invece dell'autorizzazione `s3:ListBucket`. Il permesso `s3:ListBucketVersions` supporta anche la chiave di condizione `s3:prefix`. 

**Policy utente**  
La seguente policy utente concede l'autorizzazione `s3:ListBucket` (consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)) con un'istruzione `Condition` che richiede all'utente di specificare un prefisso nella richiesta con un valore di `projects`. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action": "s3:ListBucket",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Action": "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringNotEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       }         
    ]
}
```

------

L'istruzione `Condition` limita l'utente a elencare solo le chiavi degli oggetti che hanno il prefisso `projects`. L'aggiunta dell'istruzione esplicita `Deny` impedisce all'utente di elencare le chiavi con qualsiasi altro prefisso, indipendentemente dalle altre autorizzazioni di cui dispone. Ad esempio, è possibile che l'utente ottenga l'autorizzazione a elencare le chiavi degli oggetti senza alcuna restrizione, sia attraverso l'aggiornamento della precedente policy dell'utente sia attraverso una policy del bucket. Poiché le istruzioni esplicite `Deny` sovrascrivono sempre le istruzioni `Allow`, se l'utente tenta di elencare chiavi diverse da quelle che hanno il prefisso `projects`, la richiesta viene rifiutata. 

**Policy del bucket**  
Se si aggiunge l'elemento `Principal` alla policy utente di cui sopra, che identifica l'utente, si ottiene una policy del bucket, come mostrato nell'esempio seguente. Per utilizzare questa policy di esempio, sostituisci `user input placeholders` con le tue informazioni.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/bucket-owner"
         },  
         "Action":  "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/bucket-owner"
         },  
         "Action": "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringNotEquals" : {
                 "s3:prefix": "projects"  
             }
          } 
       }         
    ]
}
```

------

**Prova la politica con AWS CLI**  
È possibile testare la politica utilizzando il seguente `list-object` AWS CLI comando. Nel comando, vengono fornite le credenziali utente utilizzando il parametro `--profile`. *Per ulteriori informazioni sulla configurazione e l'utilizzo di AWS CLI, consulta [Developing with Amazon S3 using the AWS CLI nel Amazon S3 API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Reference.*

```
aws s3api list-objects --bucket amzn-s3-demo-bucket --prefix projects --profile AccountA
```

### Esempio 3: impostazione del numero massimo di chiavi
<a name="example-numeric-condition-operators"></a>

È possibile utilizzare la chiave di condizione `s3:max-keys` per impostare il numero massimo di chiavi che un richiedente può restituire in una richiesta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) o [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectVersions.html). Per impostazione predefinita, queste operazioni API restituiscono fino a 1.000 chiavi. Per un elenco di operatori di condizione numerici che è possibile utilizzare con `s3:max-keys` e i relativi esempi, consulta [Operatori di condizione numerici](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric) nella *Guida per l'utente di IAM*.

# Policy basate sull'identità per Amazon S3
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli non hanno il permesso di creare o modificare le risorse Amazon S3. Per concedere agli utenti l’autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta [Creazione di policy IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) nella *Guida per l’utente di IAM*.

*Per dettagli sulle azioni e sui tipi di risorse definiti da Amazon S3, incluso il formato di ARNs per ogni tipo di risorsa, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) nel Service Authorization Reference.*

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Topics**
+ [Best practice per le policy](#security_iam_service-with-iam-policy-best-practices)
+ [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md)
+ [Esempi di policy basate sull'identità per Amazon S3](example-policies-s3.md)

## Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Le policy basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon S3 nel tuo account. Queste operazioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Inizia con le politiche AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni** a utenti e carichi di lavoro, utilizza le politiche *AWS gestite* che concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per maggiori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.
+ **Applicazione delle autorizzazioni con privilegio minimo** - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come *autorizzazioni con privilegio minimo*. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM*.
+ **Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso** - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione [Elementi delle policy JSON di IAM: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) nella *Guida per l’utente di IAM*.
+ **Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali** - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare [Convalida delle policy per il Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l’utente di IAM*.
+ **Richiedi l'autenticazione a più fattori (MFA**): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare [Protezione dell’accesso API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

# Procedura guidata: controllo dell'accesso a un bucket con policy utente
<a name="walkthrough1"></a>

Questa spiegazione passo per passo illustra il funzionamento delle autorizzazioni utente con Amazon S3. In questo esempio, viene creato un bucket con cartelle. Quindi crei utenti AWS Identity and Access Management IAM nel tuo Account AWS e concedi a tali utenti autorizzazioni incrementali sul tuo bucket Amazon S3 e sulle cartelle in esso contenute. 

**Topics**
+ [Principi di base relativi a bucket e cartelle](#walkthrough-background1)
+ [Riepilogo della spiegazione passo per passo](#walkthrough-scenario)
+ [Preparazione della procedura guidata](#walkthrough-what-you-need)
+ [Fase 1: creazione di un bucket](#walkthrough1-create-bucket)
+ [Fase 2: creazione di un gruppo e di utenti IAM](#walkthrough1-add-users)
+ [Fase 3: verifica che gli utenti IAM non dispongano di autorizzazioni](#walkthrough1-verify-no-user-permissions)
+ [Fase 4: concessione di autorizzazioni a livello di gruppo](#walkthrough-group-policy)
+ [Fase 5: concessione di autorizzazioni specifiche all'utente IAM Alice](#walkthrough-grant-user1-permissions)
+ [Fase 6: concessione di autorizzazioni specifiche all'utente IAM Bob](#walkthrough1-grant-permissions-step5)
+ [Fase 7: protezione della cartella Private (Privato)](#walkthrough-secure-private-folder-explicit-deny)
+ [Fase 8: Pulizia](#walkthrough-cleanup)
+ [Risorse correlate](#RelatedResources-walkthrough1)

## Principi di base relativi a bucket e cartelle
<a name="walkthrough-background1"></a>

Il modello di dati di Amazon S3 è una struttura flat: crei un bucket e il bucket archivia gli oggetti. Non c'è nessuna gerarchia di bucket secondari o sottocartelle, ma è possibile emulare una gerarchia delle cartelle. Strumenti come la console di Amazon S3 possono presentare una panoramica di queste cartelle e sottocartelle logiche nel bucket.

La console mostra che un bucket denominato `companybucket` ha tre cartelle, `Private`, `Development` e `Finance` e un oggetto, `s3-dg.pdf`. La console utilizza i nomi oggetto (chiavi) per creare una gerarchia logica con cartelle e sottocartelle. Considerare i seguenti esempi:
+ Quando crei la cartella `Development`, la console crea un oggetto con la chiave `Development/`. Nota il delimitatore finale '/' (`/`).
+ Quando carichi un oggetto denominato `Projects1.xls` nella cartella `Development`, la console carica l'oggetto e gli assegna la chiave `Development/Projects1.xls`. 

  Nella chiave, `Development` è il [prefisso](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) e `/` è il delimitatore. L'API Amazon S3 supporta prefissi e delimitatori nelle operazioni. Ad esempio, è possibile ottenere un elenco di tutti gli oggetti da un bucket con un prefisso e un delimitatore specifici. Nella console, quando apri la cartella `Development`, viene visualizzato un elenco degli oggetti in essa contenuti. Nell'esempio seguente, la cartella `Development` contiene un solo oggetto. 

  Quando la console visualizza la cartella `Development` nel bucket `companybucket`, invia una richiesta ad Amazon S3 in cui specifica un prefisso `Development` e un delimitatore `/`. La risposta della console si presenta proprio come un elenco di cartelle nel file system del computer. L'esempio precedente mostra che il bucket `companybucket` ha un oggetto con la chiave `Development/Projects1.xls`.

La console utilizza le chiavi degli oggetti per dedurre una gerarchia logica. Amazon S3 non ha una gerarchia fisica. Amazon S3 dispone solo di bucket che contengono oggetti in una struttura di file piatti. Quando si creano oggetti utilizzando l'API Amazon S3, è possibile utilizzare le chiavi degli oggetti che implicano una gerarchia logica. Quando viene creata una gerarchia logica di oggetti, è possibile gestire l'accesso alle singole cartelle, come dimostrato in questa procedura guidata.

Prima di iniziare, assicurarsi di acquisire familiarità con il concetto di contenuto di un bucket a *livello di root*. Si supponga che il bucket `companybucket` abbia i seguenti oggetti:
+ `Private/privDoc1.txt`
+ `Private/privDoc2.zip`
+ `Development/project1.xls`
+ `Development/project2.xls`
+ `Finance/Tax2011/document1.pdf`
+ `Finance/Tax2011/document2.pdf`
+ `s3-dg.pdf`

Queste chiavi degli oggetti creano una gerarchia logica con `Private`, `Development` e `Finance` come cartelle a livello root e `s3-dg.pdf` come un oggetto a livello root. Quando si sceglie il nome di un bucket nella console di Amazon S3, le voci a livello di root vengono visualizzate. La console mostra i prefissi di livello superiore (`Private/`, `Development/` e `Finance/`) come cartelle a livello di root. La chiave dell'oggetto `s3-dg.pdf` non ha prefisso e quindi appare come voce a livello root.



## Riepilogo della spiegazione passo per passo
<a name="walkthrough-scenario"></a>

In questa procedura guidata, creare un bucket con tre cartelle (`Private`, `Development` e `Finance`) al suo interno. 

Ci sono due utenti, Alice e Bob. Alice deve accedere solo alla cartella `Development`, mentre Bob deve accedere solo alla cartella `Finance`. Il contenuto della cartella `Private` deve essere mantenuto privato. Nella guida, si gestisce l'accesso creando utenti IAM (l'esempio utilizza i nomi Alice e Bob) e concedendo loro le autorizzazioni necessarie. 

IAM supporta inoltre la creazione di gruppi di utenti e la concessione di autorizzazioni a livello di gruppo valide per tutti gli utenti presenti nel gruppo. In questo modo è possibile gestire le autorizzazioni in modo più efficiente. Per questo esercizio sia Alice che Bob hanno bisogno di autorizzazioni comuni. Pertanto, verrà creato anche un gruppo denominato `Consultants` e Alice e Bob saranno aggiunti al gruppo. Inizialmente, le autorizzazioni vengono assegnate collegando una policy di gruppo al gruppo stesso. Quindi, vengono aggiunte autorizzazioni specifiche per gli utenti collegando le policy agli utenti specifici.

**Nota**  
La spiegazione passo per passo utilizza `companybucket` come nome del bucket, Alice e Bob come utenti IAM e `Consultants` come nome del gruppo. Poiché Amazon S3 richiede che i nomi di bucket siano univoci a livello globale, è necessario sostituire il nome del bucket con un nome personalizzato.

## Preparazione della procedura guidata
<a name="walkthrough-what-you-need"></a>

 In questo esempio, utilizzi le tue Account AWS credenziali per creare utenti IAM. Inizialmente, questi utenti non hanno autorizzazioni. Le autorizzazioni vengono concesse in modo incrementale per l'esecuzione di operazioni di Amazon S3 specifiche. Per testare queste autorizzazioni, viene effettuato l'accesso alla console con le credenziali di ciascun utente. Man mano che concedi in modo incrementale le autorizzazioni come Account AWS proprietario e le testi come utente IAM, devi accedere e disconnetterti, ogni volta utilizzando credenziali diverse. È possibile eseguire questo test con un browser, ma il processo sarà più rapido se è possibile utilizzare due browser diversi. Utilizza un browser per connetterti a Console di gestione AWS con le tue Account AWS credenziali e un altro browser per connetterti con le credenziali utente IAM. 

 Per accedere a Console di gestione AWS con le tue Account AWS credenziali, vai su [https://console.aws.amazon.com/](https://console.aws.amazon.com/). Un utente IAM non può accedere utilizzando lo stesso link. Un utente IAM deve utilizzare una pagina di accesso abilitata per IAM. Come proprietario dell'account, è possibile fornire questo link agli utenti. 

Per ulteriori informazioni su IAM, consulta la [pagina di accesso alla Console di gestione AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/console.html) nella *Guida per l'utente di IAM*.

### Per fornire un collegamento di accesso agli utenti IAM
<a name="walkthrough-sign-in-user-credentials"></a>

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

1. Nel riquadro **Navigation (Navigazione)** scegliere**IAM Dashboard (Pannello di controllo IAM)**.

1. Prendere nota dell'URL in **IAM users sign in link (Collegamento di accesso utenti IAM)**. Sarà necessario fornire questo collegamento agli utenti IAM affinché possano accedere alla console con il loro nome utente e la loro password IAM.

## Fase 1: creazione di un bucket
<a name="walkthrough1-create-bucket"></a>

In questa fase, si accede alla console Amazon S3 con le credenziali Account AWS , si crea un bucket, si aggiungono cartelle al bucket e si caricano uno o due documenti di esempio in ciascuna cartella. 

1. Accedi a 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. Creare un bucket. 

   Per step-by-step istruzioni, consulta[Creazione di un bucket per uso generico](create-bucket-overview.md).

1. Caricare un documento nel bucket.

   Questo esercizio presume che il documento `s3-dg.pdf` si trovi a livello root di questo bucket. Se viene caricato un documento differente, è necessario sostituire il nome file con `s3-dg.pdf`.

1. Aggiungere tre cartelle denominate `Private`, `Finance` e `Development` al bucket.

   Per step-by-step istruzioni su come creare una cartella, consulta [Organizzazione degli oggetti nella console di Amazon S3 utilizzando le cartelle](using-folders.md) > nella *Guida per l'utente di Amazon Simple Storage Service*.

1. Caricare uno o due documenti in ciascuna cartella. 

   Per questo esercizio, si presume che siano stati caricati un paio di documenti in ciascuna cartella, in modo che il bucket abbia oggetti con le seguenti chiavi:
   + `Private/privDoc1.txt`
   + `Private/privDoc2.zip`
   + `Development/project1.xls`
   + `Development/project2.xls`
   + `Finance/Tax2011/document1.pdf`
   + `Finance/Tax2011/document2.pdf`
   + `s3-dg.pdf`

   

   Per step-by-step istruzioni, consulta[Caricamento degli oggetti](upload-objects.md). 

## Fase 2: creazione di un gruppo e di utenti IAM
<a name="walkthrough1-add-users"></a>

Ora utilizza la [Console IAM](https://console.aws.amazon.com/iam/) per aggiungere due utenti IAM, Alice e Bob, a Account AWS. Per step-by-step istruzioni, consulta [Creating an IAM user in your Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *IAM User Guide*. 

Crea anche un gruppo amministrativo chiamato `Consultants`. Quindi, aggiungi entrambi gli utenti al gruppo. Per step-by-step istruzioni, consulta [Creazione di gruppi di utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_create.html). 

**avvertimento**  
Quando si aggiungono utenti e un gruppo, non collegare alcuna policy che assegni autorizzazioni agli utenti. Inizialmente, questi utenti non dispongono di alcuna autorizzazione. Nelle sezioni seguenti, le autorizzazioni vengono concesse in modo incrementale. In primo luogo, devi accertarti di avere assegnato le password a questi utenti IAM. Queste credenziali utente vengono utilizzate per testare le operazioni di Amazon S3 e verificare che le autorizzazioni funzionino come previsto.

Per step-by-step istruzioni sulla creazione di un nuovo utente IAM, consulta [Creating an IAM user in your Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nella *IAM User Guide*. Quando crei gli utenti per questa procedura guidata, seleziona **Accesso alla Console di gestione AWS ** e deseleziona [Accesso programmatico](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).

Per step-by-step istruzioni sulla creazione di un gruppo amministrativo, consulta [Creating Your First IAM Admin User and Group](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) nella *IAM User Guide*.



## Fase 3: verifica che gli utenti IAM non dispongano di autorizzazioni
<a name="walkthrough1-verify-no-user-permissions"></a>

Se stai utilizzando due browser, puoi ora utilizzare il secondo browser per effettuare l'accesso alla console con una delle credenziali utente IAM.

1. Utilizzando il link di accesso dell'utente IAM (consulta [Per fornire un collegamento di accesso agli utenti IAM](#walkthrough-sign-in-user-credentials)), effettua l'accesso alla Console di gestione AWS utilizzando una delle credenziali utente IAM.

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

    Verifica il messaggio della console che indica che l'accesso è negato. 

Ora, è possibile iniziare a concedere le autorizzazioni incrementali agli utenti. Innanzitutto, collegare una policy di gruppo che concede le autorizzazioni necessarie per entrambi gli utenti. 

## Fase 4: concessione di autorizzazioni a livello di gruppo
<a name="walkthrough-group-policy"></a>

Gli utenti devono essere in grado di effettuare quanto segue:
+ Elencare tutti i bucket di proprietà dell'account padre. A tale scopo, Bob e Alice devono avere l'autorizzazione per l'operazione `s3:ListAllMyBuckets`.
+ Elencare le voci, le cartelle e gli oggetti a livello root nel bucket `companybucket`. A tale scopo, Bob e Alice devono avere l'autorizzazione per l'operazione `s3:ListBucket` nel bucket `companybucket`.

Innanzitutto, creare una policy che concede tali autorizzazioni e quindi collegarla al gruppo `Consultants`. 

### Fase 4.1: concessione di autorizzazione per elencare tutti i bucket
<a name="walkthrough1-grant-permissions-step1"></a>

In questa fase viene creata una policy gestita che concede agli utenti le autorizzazioni minime per consentire loro di elencare tutti i bucket di proprietà dell'account padre. Quindi, tale policy verrà collegata al gruppo `Consultants`. Quando si collega la policy gestita a un utente o a un gruppo, si concede all'utente o al gruppo l'autorizzazione per ottenere un elenco dei bucket di proprietà dell' Account AWS parent.

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).
**Nota**  
Poiché stai concedendo autorizzazioni utente, è necessario effettuare l'accesso con le credenziali dell' Account AWS , non come utente IAM.

1. Creare la policy gestita.

   1. Nel riquadro di navigazione sulla sinistra, selezionare **Policies (Policy)** e scegliere **Create Policy (Crea policy)**.

   1. Selezionare la scheda **JSON**.

   1. Copiare la policy di accesso seguente e incollarla nel campo di testo relativo alla policy.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "AllowGroupToSeeBucketListInTheConsole",
            "Action": ["s3:ListAllMyBuckets"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::*"]
          }
        ]
      }
      ```

------

      Una policy è un documento JSON. Nel documento, uno `Statement` è una serie di oggetti, ognuno dei quali descrive un'autorizzazione utilizzando un insieme di coppie di nome-valore. La suddetta policy descrive un'autorizzazione specifica. L'`Action` specifica il tipo di accesso. Nella policy, `s3:ListAllMyBuckets` è un'operazione di Amazon S3 predefinita. Questa azione copre l'operazione Amazon S3 GET Service, che restituisce un elenco di tutti i bucket di proprietà del mittente autenticato. Il valore dell'elemento `Effect` determina se un'autorizzazione specifica è consentita o rifiutata.

   1. Scegliere **Review policy (Esamina policy)**. Nella pagina successiva, immettere `AllowGroupToSeeBucketListInTheConsole` nel campo **Name (Nome)**, quindi scegliere **Create policy (Crea policy)**.
**Nota**  
La voce **Summary (Riepilogo)** visualizza un messaggio in cui si afferma che la policy non concede alcuna autorizzazione. Per questa procedura guidata, il messaggio può essere ignorato.

1. Collegare la policy gestita `AllowGroupToSeeBucketListInTheConsole` che è stata creata al gruppo `Consultants`.

   Per step-by-step istruzioni su come allegare una policy gestita, consulta [Aggiungere e rimuovere le autorizzazioni di identità IAM nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#attach-managed-policy-console) per l'*utente IAM*. 

   I documenti della policy vengono collegati agli utenti e ai gruppi IAM nella console IAM. Poiché entrambi gli utenti devono essere in grado di elencare i bucket, la policy deve essere collegata al gruppo. 

1. Testare l'autorizzazione.

   1. Utilizzando il collegamento di accesso utente IAM (consultare [Per fornire un collegamento di accesso agli utenti IAM](#walkthrough-sign-in-user-credentials)), accedere alla console con una delle credenziali utente IAM.

   1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

      La console ora dovrebbe elencare tutti i bucket, ma non gli oggetti contenuti in ogni bucket.

### Fase 4.2: abilitazione degli utenti a elencare il contenuto di un bucket a livello root
<a name="walkthrough1-grant-permissions-step2"></a>

Di seguito, consentire a tutti gli utenti nel gruppo `Consultants` di elencare le voci del bucket `companybucket` a livello root. Quando un utente sceglie il bucket aziendale nella console di Amazon S3, può visualizzare le voci a livello root nel bucket.

**Nota**  
Questo esempio utilizza `companybucket` a scopo illustrativo. È necessario utilizzare il nome del bucket che è stato creato.

Per comprendere la richiesta che la console invia ad Amazon S3 quando si sceglie il nome di un bucket, la risposta che Amazon S3 restituisce e il modo in cui la console interpreta la risposta, esaminare il flusso un po' più da vicino.

Quando viene scelto un nome di bucket, la console invia la richiesta [GET Bucket (ListObjects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) ad Amazon S3. Questa richiesta include i seguenti parametri:
+ Il parametro `prefix` che presenta una stringa vuota come valore. 
+ Il `delimiter` parametro con `/` come valore. 

Di seguito è riportata una richiesta di esempio.

```
GET ?prefix=&delimiter=/ HTTP/1.1 
Host: companybucket.s3.amazonaws.com
Date: Wed, 01 Aug  2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE=
```

Amazon S3 restituisce una risposta che include il seguente elemento `<ListBucketResult/>`.

```
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>companybucket</Name>
  <Prefix></Prefix>
  <Delimiter>/</Delimiter>
   ...
  <Contents>
    <Key>s3-dg.pdf</Key>
    ...
  </Contents>
  <CommonPrefixes>
    <Prefix>Development/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>Finance/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>Private/</Prefix>
  </CommonPrefixes>
</ListBucketResult>
```

L'oggetto `s3-dg.pdf` della chiave non contiene il delimitatore barra (`/`) e Amazon S3 restituisce la chiave nell'elemento `<Contents>`. Tutte le altre chiavi nel bucket di esempio contengono tuttavia il delimitatore `/`. Amazon S3 raggruppa queste chiavi e restituisce un elemento `<CommonPrefixes>` per ciascuno dei diversi valori di prefisso `Development/`, `Finance/` e `Private/` che corrisponde a una sottostringa dall'inizio di queste chiavi alla prima occorrenza del delimitatore `/` specificato. 

La console interpreta questo risultato e mostra le voci a livello root come tre cartelle e una chiave dell'oggetto. 

Se Bob o Alice apre la cartella **Development**, la console invia la richiesta [GET Bucket (ListObjects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) ad Amazon S3 con i parametri `prefix` e `delimiter` impostati sui seguenti valori:
+ Il parametro `prefix` con il valore `Development/`.
+ Il parametro `delimiter` con il valore "`/`". 

In risposta, Amazon S3 restituisce le chiavi degli oggetti che iniziano con il prefisso specificato. 

```
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>companybucket</Name>
  <Prefix>Development</Prefix>
  <Delimiter>/</Delimiter>
   ...
  <Contents>
    <Key>Project1.xls</Key>
    ...
  </Contents>
  <Contents>
    <Key>Project2.xls</Key>
    ...
  </Contents> 
</ListBucketResult>
```

La console mostra le chiavi degli oggetti.

Ora, tornare alla concessione dell'autorizzazione agli utenti per elencare le voci del bucket a livello root. Per elencare il contenuto del bucket, gli utenti devono disporre dell'autorizzazione per chiamare l'operazione `s3:ListBucket`, come illustrato nella seguente dichiarazione di policy. Per fare in modo che possa essere visualizzato il contenuto a livello root, è necessario aggiungere una condizione per richiedere che gli utenti specifichino un oggetto `prefix` vuoto nella richiesta, ovvero gli utenti non sono autorizzati a fare doppio clic su alcuna cartella a livello root. Infine, aggiungere una condizione per esigere un accesso di tipo cartella imponendo che le richieste dell'utente includano il parametro `delimiter` con il valore "`/`". 

```
{
  "Sid": "AllowRootLevelListingOfCompanyBucket",
  "Action": ["s3:ListBucket"],
  "Effect": "Allow",
  "Resource": ["arn:aws:s3:::companybucket"],
  "Condition":{ 
         "StringEquals":{
             "s3:prefix":[""], "s3:delimiter":["/"]
                        }
              }
}
```

Quando scegli un bucket sulla console Amazon S3, la console invia innanzitutto la richiesta di posizione [GET Bucket per trovare dove è distribuito Regione AWS il bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html). La console utilizza quindi l'endpoint specifico della regione per il bucket per inviare la richiesta [GET Bucket (ListObjects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html). Di conseguenza, se gli utenti utilizzeranno la console, è necessario assegnare l'autorizzazione per l'operazione `s3:GetBucketLocation` come illustrato nella seguente dichiarazione di policy.

```
{
   "Sid": "RequiredByS3Console",
   "Action": ["s3:GetBucketLocation"],
   "Effect": "Allow",
   "Resource": ["arn:aws:s3:::*"]
}
```

**Per consentire agli utenti di elencare il contenuto di un bucket a livello root**

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

   Usa Account AWS le tue credenziali, non le credenziali di un utente IAM, per accedere alla console.

1. Sostituire la policy gestita `AllowGroupToSeeBucketListInTheConsole` esistente che è collegata al gruppo `Consultants` con la seguente policy, che consente anche l'operazione `s3:ListBucket`. Ricordarsi di sostituire *`companybucket`* nella policy `Resource` con il nome del proprio bucket. 

   Per step-by-step istruzioni, consulta [Modifica delle politiche IAM nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) per l'*utente IAM*. Quando segui le step-by-step istruzioni, assicurati di seguire i passaggi per applicare le modifiche a tutte le principali entità a cui è allegata la policy. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	                  
     "Statement": [
        {
          "Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
          "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ],
          "Effect": "Allow",
          "Resource": [ "arn:aws:s3:::*"  ]
        },
        {
          "Sid": "AllowRootLevelListingOfCompanyBucket",
          "Action": ["s3:ListBucket"],
          "Effect": "Allow",
          "Resource": ["arn:aws:s3:::companybucket"],
          "Condition":{ 
                "StringEquals":{
                       "s3:prefix":[""], "s3:delimiter":["/"]
                              }
                      }
        }
     ] 
   }
   ```

------

1. Test delle autorizzazioni aggiornate.

   1. Mediante il link di accesso dell'utente IAM (consulta [Per fornire un collegamento di accesso agli utenti IAM](#walkthrough-sign-in-user-credentials)), accedere alla Console di gestione AWS. 

      Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Scegliere il bucket creato. La console mostra le voci del bucket a livello root. Se si sceglie qualsiasi cartella nel bucket, non sarà possibile visualizzare il contenuto della cartella perché le relative autorizzazioni non sono state ancora concesse.

Questo test ha esito positivo quando gli utenti utilizzano la console di Amazon S3. Quando si sceglie un bucket sulla console, l'implementazione della console invia una richiesta che include il parametro `prefix` con una stringa vuota come valore e il parametro `delimiter` con "`/`" come valore.

### Fase 4.3: sintesi della policy di gruppo
<a name="walkthrough-group-policy-summary"></a>

L'effetto della policy di gruppo aggiunta è quello di concedere agli utenti IAM Alice e Bob le seguenti autorizzazioni minime:
+ Elencare tutti i bucket di proprietà dell'account padre.
+ Visualizzare le voci a livello root nel bucket `companybucket`. 

Tuttavia, gli utenti ancora non possono fare molto. Di seguito, concedere autorizzazioni specifiche per utente, come segue:
+ Consentire a Alice di prendere e mettere oggetti nella cartella `Development`.
+ Consentite a Bob di prendere e mettere oggetti nella cartella `Finance`.

Per le autorizzazioni specifiche dell'utente, collegare una policy all'utente specifico, non al gruppo. Nella sezione seguente, ad Alice vengono concesse le autorizzazioni per lavorare nella cartella `Development`. È possibile ripetere le fasi per concedere un'autorizzazione simile a Bob per lavorare nella cartella `Finance`.

## Fase 5: concessione di autorizzazioni specifiche all'utente IAM Alice
<a name="walkthrough-grant-user1-permissions"></a>

È necessario ora concedere autorizzazioni aggiuntive ad Alice in modo che possa vedere il contenuto della cartella `Development` per poter prendere e mettere oggetti nella stessa.

### Fase 5.1: concessione dell'autorizzazione a elencare il contenuto della cartella Development all'utente IAM Alice
<a name="walkthrough-grant-user1-permissions-listbucket"></a>

Affinché Alice possa elencare il contenuto della cartella `Development`, è necessario applicare all'utente Alice una policy che conceda l'autorizzazione per l'azione `s3:ListBucket` sul bucket `companybucket`, a condizione che la richiesta includa il prefisso `Development/`. Questa policy deve essere applicata solo all'utente Alice, pertanto viene utilizzata una policy inline. Per ulteriori informazioni sulle policy inline, consulta [Policy gestite e policy inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) nella *Guida per l'utente di IAM*.

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

   Usa Account AWS le tue credenziali, non le credenziali di un utente IAM, per accedere alla console.

1. Creare una policy inline per concedere all'utente Alice l'autorizzazione per elencare il contenuto della cartella `Development`.

   1. Nel riquadro di navigazione sinistro, scegliere **Users (Utenti)**.

   1. Scegli il nome utente **Alice**.

   1. Nella pagina dei dettagli dell'utente, scegliere la scheda **Permissions (Autorizzazioni)**, quindi selezionare **Add inline policy (Aggiungi policy inline)**.

   1. Selezionare la scheda **JSON**.

   1. Copia la seguente policy per incollarla nel campo di testo della policy.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	   
          "Statement": [
          {
            "Sid": "AllowListBucketIfSpecificPrefixIsIncludedInRequest",
            "Action": ["s3:ListBucket"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::companybucket"],
            "Condition": { "StringLike": {"s3:prefix": ["Development/*"] }
             }
          }
        ]
      }
      ```

------

   1. Scegliere **Review policy (Esamina policy)**. Nella pagina successiva, immettere un nome nel campo **Name (Nome)**, quindi scegliere **Create policy (Crea policy)**.

1. Test della modifica apportata alle autorizzazioni di Alice:

   1. Mediante il link di accesso dell'utente IAM (consulta [Per fornire un collegamento di accesso agli utenti IAM](#walkthrough-sign-in-user-credentials)), accedere alla Console di gestione AWS. 

   1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Nella console di Amazon S3 verificare che Alice possa visualizzare l'elenco degli oggetti nella cartella `Development/` del bucket. 

      Quando l'utente sceglie la cartella `/Development` per visualizzare l'elenco degli oggetti in essa contenuti, la console di Amazon S3 invia la richiesta `ListObjects` ad Amazon S3 con il prefisso `/Development`. Poiché all'utente è stata concessa l'autorizzazione per visualizzare l'elenco degli oggetti con il prefisso `Development` e il delimitatore `/`, Amazon S3 restituisce l'elenco degli oggetti con il prefisso della chiave `Development/` e la console visualizza tale elenco.

### Fase 5.2: concessione delle autorizzazioni a recuperare e inserire oggetti nella cartella Development all'utente IAM Alice
<a name="walkthrough-grant-user1-permissions-get-put-object"></a>

Affinché Alice possa prendere e mettere oggetti nella cartella `Development`, ha bisogno di un'autorizzazione per chiamare le operazioni `s3:GetObject` e `s3:PutObject`. Le seguenti dichiarazioni di policy assegnano queste autorizzazioni purché la richiesta includa il parametro `prefix` con un valore di `Development/`.

```
{
    "Sid":"AllowUserToReadWriteObjectData",
    "Action":["s3:GetObject", "s3:PutObject"],
    "Effect":"Allow",
    "Resource":["arn:aws:s3:::companybucket/Development/*"]
 }
```



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

   Usa Account AWS le tue credenziali, non quelle di un utente IAM, per accedere alla console.

1. Modificare la policy inline creata nella fase precedente. 

   1. Nel riquadro di navigazione sinistro, scegliere **Users (Utenti)**.

   1. Scegliere il nome utente Alice.

   1. Nella pagina dei dettagli, scegliere la scheda **Permissions (Autorizzazioni)** ed espandere la sezione **Inline Policies (Policy inline)**.

   1. Accanto al nome della policy creata nella fase precedente, scegliere **Edit Policy (Modifica policy)** .

   1. Copiare la seguente policy e incollarla nel campo di testo della policy, sostituendo la policy esistente.

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

****  

      ```
      {
           "Version":"2012-10-17",		 	 	 
           "Statement":[
            {
               "Sid":"AllowListBucketIfSpecificPrefixIsIncludedInRequest",
               "Action":["s3:ListBucket"],
               "Effect":"Allow",
               "Resource":["arn:aws:s3:::companybucket"],
               "Condition":{
                  "StringLike":{"s3:prefix":["Development/*"]
                  }
               }
            },
            {
              "Sid":"AllowUserToReadWriteObjectDataInDevelopmentFolder", 
              "Action":["s3:GetObject", "s3:PutObject"],
              "Effect":"Allow",
              "Resource":["arn:aws:s3:::companybucket/Development/*"]
            }
         ]
      }
      ```

------

1. Test della policy aggiornata:

   1. Mediante il link di accesso dell'utente IAM (consulta [Per fornire un collegamento di accesso agli utenti IAM](#walkthrough-sign-in-user-credentials)), accedere alla Console di gestione AWS. 

   1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Nella console di Amazon S3 verificare che Alice possa aggiungere e scaricare un oggetto nella cartella `Development`. 

### Fase 5.3: rifiuto esplicito delle autorizzazioni relative a qualsiasi altra cartella del bucket per l'utente IAM Alice
<a name="walkthrough-grant-user1-explicit-deny-other-access"></a>

L'utente Alice ora può elencare il contenuto del bucket `companybucket` a livello root. Inoltre, ora può prendere e mettere oggetti nella cartella `Development`. Se si vuole effettivamente limitare le autorizzazioni di accesso, è possibile rifiutare esplicitamente ad Alice l'accesso a qualsiasi altra cartella del bucket. Se esiste qualsiasi altra policy (policy di bucket o ACL) che assegna ad Alice l'accesso a eventuali altre cartelle del bucket, questo rifiuto esplicito sovrascrive tali autorizzazioni. 

È possibile aggiungere la seguente istruzione alla policy utente di Alice, che prevede che tutte le richieste inviate da Alice ad Amazon S3 includano il parametro `prefix`, il cui valore può essere `Development/*` oppure una stringa vuota. 



```
{
   "Sid": "ExplicitlyDenyAnyRequestsForAllOtherFoldersExceptDevelopment",
   "Action": ["s3:ListBucket"],
   "Effect": "Deny",
   "Resource": ["arn:aws:s3:::companybucket"],
   "Condition":{  "StringNotLike": {"s3:prefix":["Development/*",""] },
                  "Null"         : {"s3:prefix":false }
    }
}
```

Esistono due espressioni condizionali nel blocco `Condition`. Il risultato di queste espressioni condizionali viene combinato utilizzando l'`AND` logico. Se entrambe le condizioni sono vere, il risultato della condizione combinata è vero. Poiché `Effect` in questa policy è `Deny`, quando `Condition` viene valutata true, gli utenti non saranno in grado di eseguire la `Action` specificata.
+ L'espressione condizionale `Null` assicura che le richieste provenienti da Alice includano il parametro `prefix`. 

  Il parametro `prefix` richiede l'accesso di tipo cartella. Se viene inviata una richiesta senza il parametro `prefix`, Amazon S3 restituisce tutte le chiavi degli oggetti. 

  Se la richiesta include il parametro `prefix` con un valore null, l'espressione restituisce il valore True, quindi tutta la `Condition` restituisce il valore True. È necessario consentire una stringa vuota come valore del parametro `prefix`. Da quanto detto in precedenza, ricordare che permettere una stringa nulla significa consentire ad Alice di recuperare le voci del bucket a livello root come fa la console nella precedente discussione. Per ulteriori informazioni, consulta [Fase 4.2: abilitazione degli utenti a elencare il contenuto di un bucket a livello root](#walkthrough1-grant-permissions-step2). 
+ L'espressione condizionale `StringNotLike` assicura che se il valore del parametro `prefix` viene specificato e non è `Development/*`, la richiesta ha esito negativo. 

Seguire le fasi della sezione precedente e aggiornare nuovamente la policy inline creata per l'utente Alice.

Copiare la seguente policy e incollarla nel campo di testo della policy, sostituendo la policy esistente.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowListBucketIfSpecificPrefixIsIncludedInRequest",
         "Action":["s3:ListBucket"],
         "Effect":"Allow",
         "Resource":["arn:aws:s3:::companybucket"],
         "Condition":{
            "StringLike":{"s3:prefix":["Development/*"]
            }
         }
      },
      {
        "Sid":"AllowUserToReadWriteObjectDataInDevelopmentFolder", 
        "Action":["s3:GetObject", "s3:PutObject"],
        "Effect":"Allow",
        "Resource":["arn:aws:s3:::companybucket/Development/*"]
      },
      {
         "Sid": "ExplicitlyDenyAnyRequestsForAllOtherFoldersExceptDevelopment",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::companybucket"],
         "Condition":{  "StringNotLike": {"s3:prefix":["Development/*",""] },
                        "Null"         : {"s3:prefix":false }
          }
      }
   ]
}
```

------

## Fase 6: concessione di autorizzazioni specifiche all'utente IAM Bob
<a name="walkthrough1-grant-permissions-step5"></a>

È necessario ora assegnare a Bob l'autorizzazione per la cartella `Finance`. Seguire le fasi utilizzate precedentemente per assegnare le autorizzazioni ad Alice ma sostituire la cartella `Development` con la cartella `Finance`. Per step-by-step istruzioni, consulta[Fase 5: concessione di autorizzazioni specifiche all'utente IAM Alice](#walkthrough-grant-user1-permissions). 

## Fase 7: protezione della cartella Private (Privato)
<a name="walkthrough-secure-private-folder-explicit-deny"></a>

In questo esempio, vi sono soltanto due utenti. Sono state concesse le autorizzazioni minime a livello di gruppo e quelle a livello di utente unicamente quando erano veramente necessarie delle autorizzazioni a livello di singolo utente. Questo approccio contribuisce ad alleggerire l'impegno necessario per gestire le autorizzazioni. Con l'aumento del numero degli utenti, la gestione delle autorizzazioni può diventare gravosa. Ad esempio, non vogliamo che alcun utente di questo esempio acceda al contenuto della cartella `Private`. Come ci si assicura di non concedere accidentalmente a un utente i permessi per la cartella `Private`? È necessario aggiungere una policy che rifiuti esplicitamente l'accesso alla cartella. Un rifiuto esplicito sovrascrive qualsiasi altra autorizzazione. 

Per essere certi che la cartella `Private` resti privata, è possibile aggiungere le seguenti due dichiarazioni di rifiuto alla policy di gruppo:
+ Aggiungere la seguente dichiarazione per rifiutare esplicitamente qualsiasi operazione sulle risorse della cartella `Private` (`companybucket/Private/*`).

  ```
  {
    "Sid": "ExplictDenyAccessToPrivateFolderToEveryoneInTheGroup",
    "Action": ["s3:*"],
    "Effect": "Deny",
    "Resource":["arn:aws:s3:::companybucket/Private/*"]
  }
  ```
+ Viene inoltre rifiutata l'autorizzazione a eseguire l'operazione di elenco degli oggetti quando la richiesta specifica il prefisso `Private/`. Nella console, se Bob o Alice apre la cartella `Private`, questa policy fa in modo che Amazon S3 restituisca una risposta di errore.

  ```
  {
    "Sid": "DenyListBucketOnPrivateFolder",
    "Action": ["s3:ListBucket"],
    "Effect": "Deny",
    "Resource": ["arn:aws:s3:::*"],
    "Condition":{
        "StringLike":{"s3:prefix":["Private/"]}
     }
  }
  ```

Sostituire la policy del gruppo `Consultants` con una policy aggiornata che includa le precedenti dichiarazioni di rifiuto. Una volta applicata la policy aggiornata, nessuno degli utenti del gruppo può accedere alla cartella `Private` nel bucket. 

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

   Usa Account AWS le tue credenziali, non quelle di un utente IAM, per accedere alla console.

1. Sostituire la policy gestita `AllowGroupToSeeBucketListInTheConsole` esistente che è collegata al gruppo `Consultants` con la seguente policy. Ricordarsi di sostituire *`companybucket`* nella policy con il nome del bucket. 

   Per istruzioni, consulta [Modifica delle policy gestite dai clienti](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html#edit-managed-policy-console) nella *Guida all'utente IAM*. Quando si seguono le istruzioni, osservare le indicazioni per l'applicazione delle modifiche a tutte le entità principali a cui è collegata la policy. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
         "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::*"]
       },
       {
         "Sid": "AllowRootLevelListingOfCompanyBucket",
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::companybucket"],
         "Condition":{
             "StringEquals":{"s3:prefix":[""]}
          }
       },
       {
         "Sid": "RequireFolderStyleList",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::*"],
         "Condition":{
             "StringNotEquals":{"s3:delimiter":"/"}
          }
        },
       {
         "Sid": "ExplictDenyAccessToPrivateFolderToEveryoneInTheGroup",
         "Action": ["s3:*"],
         "Effect": "Deny",
         "Resource":["arn:aws:s3:::companybucket/Private/*"]
       },
       {
         "Sid": "DenyListBucketOnPrivateFolder",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::*"],
         "Condition":{
             "StringLike":{"s3:prefix":["Private/"]}
          }
       }
     ]
   }
   ```

------



## Fase 8: Pulizia
<a name="walkthrough-cleanup"></a>

Per la pulizia, apri la [Console IAM](https://console.aws.amazon.com/iam/) e rimuovi gli utenti Alice e Bob. Per step-by-step istruzioni, consulta [Eliminazione di un utente IAM nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*.

Per essere certi che non vengano addebitati costi aggiuntivi per lo storage, è necessario eliminare anche gli oggetti e il bucket che è stato creato per questo esercizio.

## Risorse correlate
<a name="RelatedResources-walkthrough1"></a>
+ [Gestione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) nella *Guida per l'utente IAM*

# Esempi di policy basate sull'identità per Amazon S3
<a name="example-policies-s3"></a>

Questa sezione mostra diversi esempi di policy basate sull'identità AWS Identity and Access Management (IAM) per il controllo dell'accesso ad Amazon S3. Per le *policy dei bucket* (policy basate sulle risorse), consulta [Policy dei bucket per Amazon S3](bucket-policies.md). Per informazioni sul linguaggio delle policy IAM, consulta [Policy e autorizzazioni in Amazon S3](access-policy-language-overview.md).

Le policy di esempio seguenti funzionano se vengono testate a livello di programma. Per utilizzarle con la console di Amazon S3 occorre tuttavia concedere autorizzazioni aggiuntive che sono richieste dalla console. Per ulteriori informazioni sull'utilizzo di policy come queste con la console di Amazon S3, consulta [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md). 

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

**Topics**
+ [Concessione a un utente IAM dell'accesso a uno dei bucket](#iam-policy-ex0)
+ [Concessione a ogni utente IAM dell'accesso a una cartella in un bucket](#iam-policy-ex1)
+ [Concessione a un gruppo dell'accesso a una cartella condivisa in Amazon S3](#iam-policy-ex2)
+ [Permesso a tutti gli utenti di leggere gli oggetti in una parte del bucket](#iam-policy-ex3)
+ [Permesso a un partner di rilasciare i file in una parte specifica del bucket](#iam-policy-ex4)
+ [Limitazione dell'accesso ai bucket Amazon S3 all'interno di uno specifico Account AWS](#iam-policy-ex6)
+ [Limitare l'accesso ai bucket Amazon S3 all'interno della propria unità organizzativa](#iam-policy-ex7)
+ [Limitazione dell'accesso ai bucket Amazon S3 all'interno dell'organizzazione](#iam-policy-ex8)
+ [Concessione del permesso di recuperare la configurazione per un PublicAccessBlock Account AWS](#using-with-s3-actions-related-to-accountss)
+ [Limitare la creazione di bucket a una sola Regione](#condition-key-bucket-ops-1)

## Concessione a un utente IAM dell'accesso a uno dei bucket
<a name="iam-policy-ex0"></a>

In questo esempio, vuoi concedere a un utente IAM incluso nel tuo account Account AWS l'accesso a uno dei tuoi bucket e consentire all'utente di aggiungere, aggiornare ed eliminare oggetti. *amzn-s3-demo-bucket1* 

Oltre ad assegnare le autorizzazioni `s3:PutObject`, `s3:GetObject` e `s3:DeleteObject` all'utente, la policy assegna anche le autorizzazioni `s3:ListAllMyBuckets`, `s3:GetBucketLocation` e `s3:ListBucket`. Queste sono le autorizzazioni aggiuntive richieste dalla console. Inoltre, le operazioni `s3:PutObjectAcl` e `s3:GetObjectAcl` sono necessarie per essere in grado di copiare, tagliare e incollare gli oggetti nella console. Per una procedura guidata di esempio che concede autorizzazioni a utenti e le testa utilizzando la console, consulta [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md). 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action": "s3:ListAllMyBuckets",
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":["s3:ListBucket","s3:GetBucketLocation"],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*"
      }
   ]
}
```

------

## Concessione a ogni utente IAM dell'accesso a una cartella in un bucket
<a name="iam-policy-ex1"></a>

In questo esempio, si vuole che due utenti IAM, Mary e Carlos, abbiano accesso al bucket, *amzn-s3-demo-bucket1*, in modo che possano aggiungere, aggiornare e cancellare oggetti. Tuttavia, si vuole limitare l'accesso di ciascun utente a un unico prefisso (cartella) nel bucket. Si possono creare cartelle con nomi che corrispondono ai loro nomi utente. 

```
amzn-s3-demo-bucket1
   Mary/
   Carlos/
```

Per assegnare a ciascun utente unicamente l'accesso alla cartella, è possibile scrivere una policy per ogni utente e collegarla singolarmente. È ad esempio possibile collegare la seguente policy all'utente Mary per concederle autorizzazioni Amazon S3 specifiche sulla cartella `amzn-s3-demo-bucket1/Mary`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/Mary/*"
      }
   ]
}
```

------

Successivamente, è possibile collegare una policy simile all'utente Carlos, specificando la cartella `Carlos` nel valore `Resource`.

Invece di collegare le policy ai singoli utenti, è possibile scrivere un'unica policy che utilizzi una variabile di policy, collegandola poi a un gruppo. In primo luogo, occorre creare un gruppo e aggiungervi Mary e Carlos. La seguente policy di esempio concede un set di autorizzazioni Amazon S3 nella cartella `amzn-s3-demo-bucket1/${aws:username}`. Quando la policy viene valutata, la variabile della policy `${aws:username}` viene sostituita dal nome utente del richiedente. Ad esempio, se Mary invia una richiesta di inserimento di un oggetto, l'operazione è consentita solo se l'oggetto viene caricato nella cartella `amzn-s3-demo-bucket1/Mary`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/${aws:username}/*"
      }
   ]
}
```

------

**Nota**  
Quando si utilizzano le variabili di policy, è necessario specificare esplicitamente la versione `2012-10-17` nella policy. La versione di default del linguaggio della policy IAM, 2008-10-17, non supporta le variabili di policy. 

 Se si vuole testare la policy precedente nella console di Amazon S3, la console deve avere l'autorizzazione per ottenere autorizzazioni aggiuntive, come illustrato nella policy seguente. Per ulteriori informazioni su come la console utilizza queste autorizzazioni, consulta [Procedura guidata: controllo dell'accesso a un bucket con policy utente](walkthrough1.md). 

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

****  

```
{
 "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowGroupToSeeBucketListInTheConsole",
      "Action": [ 
      	"s3:ListAllMyBuckets", 
      	"s3:GetBucketLocation" 
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::*"  
    },
    {
      "Sid": "AllowRootLevelListingOfTheBucket",
      "Action": "s3:ListBucket",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
      "Condition": { 
            "StringEquals": {
                    "s3:prefix": [""], "s3:delimiter": ["/"]
                           }
                 }
    },
    {
      "Sid": "AllowListBucketOfASpecificUserPrefix",
      "Action": "s3:ListBucket",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
      "Condition": {  "StringLike": {"s3:prefix": ["${aws:username}/*"] }
       }
    },
      {
     "Sid": "AllowUserSpecificActionsOnlyInTheSpecificUserPrefix",
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/${aws:username}/*"
      }
  ]
}
```

------

**Nota**  
Nella versione 2012-10-17 della policy, le variabili di policy iniziano con `$`. Questa modifica nella sintassi potenzialmente può creare un conflitto se la chiave dell'oggetto (nome dell'oggetto) include un `$`.   
Per evitare questo conflitto, specificare il carattere `$` usando `${$}`. Ad esempio, per includere una chiave dell'oggetto `my$file` in una policy, si specifica il carattere con `my${$}file`.

Sebbene i nomi utente IAM siano identificatori semplici, in formato leggibile, non sono necessariamente univoci a livello globale. Ad esempio, se l'utente Carlos lascia l'organizzazione ed entra un altro utente Carlos, il Carlos nuovo potrebbe accedere alle informazioni del precedente Carlos.

Invece di usare nomi utente, puoi creare cartelle basate sull'utente IAM. IDs Ogni ID utente IAM è univoco. In questo caso, si deve modificare la policy precedente per utilizzare la variabile di policy `${aws:userid}`. Per ulteriori informazioni sugli identificatori utente, consulta [Identificatori IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)nella *Guida per l'utente di IAM*.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/home/${aws:userid}/*"
      }
   ]
}
```

------

### Concessione a utenti non IAM (utenti dell'app per dispositivi mobili) dell'accesso alle cartelle in un bucket
<a name="non-iam-mobile-app-user-access"></a>

Si supponga che si vuole sviluppare un'app mobile, un gioco che archivia i dati degli utenti in un bucket S3. Per ogni utente dell'app, si vuole creare una cartella nel bucket. Si vuole anche limitare l'accesso di ogni utente alla propria cartella. Ma non è possibile creare cartelle prima che qualcuno scarichi l'applicazione e inizi a giocare, perché non si dispone del suo ID utente.

In questo caso, è possibile richiedere agli utenti di accedere all'app mediante provider di identità pubblici quali Login with Amazon, Facebook o Google. Una volta che gli utenti hanno effettuato l'accesso all'app mediante uno di questi provider, dispongono di un ID utente che può essere utilizzato per creare cartelle specifiche di un determinato utente al runtime.

Puoi quindi utilizzare la federazione delle identità web AWS Security Token Service per integrare le informazioni del provider di identità con la tua app e ottenere credenziali di sicurezza temporanee per ogni utente. Successivamente è possibile creare policy IAM che permettono all'app di accedere al bucket ed eseguire operazioni come la creazione di cartelle specifiche dell'utente e il caricamento dei dati. Per ulteriori informazioni sulla federazione delle identità Web, consulta [Informazioni sulla federazione delle identità Web](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html) nella *Guida per l'utente di IAM*.

## Concessione a un gruppo dell'accesso a una cartella condivisa in Amazon S3
<a name="iam-policy-ex2"></a>

Collegando la policy seguente al gruppo viene concesso a tutti i membri del gruppo l'accesso alla seguente cartella in Amazon S3: `amzn-s3-demo-bucket1/share/marketing`. I membri del gruppo possono accedere solo alle autorizzazioni Amazon S3 specifiche illustrate nella policy e unicamente per gli oggetti nella cartella specificata. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/share/marketing/*"
      }
   ]
}
```

------

## Permesso a tutti gli utenti di leggere gli oggetti in una parte del bucket
<a name="iam-policy-ex3"></a>

In questo esempio viene creato un gruppo denominato `AllUsers`, che contiene tutti gli utenti IAM che appartengono all' Account AWS. Viene collegata quindi una policy che consente al gruppo di accedere a `GetObject` e `GetObjectVersion`, ma solo per gli oggetti nella cartella `amzn-s3-demo-bucket1/readonly`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/readonly/*"
      }
   ]
}
```

------

## Permesso a un partner di rilasciare i file in una parte specifica del bucket
<a name="iam-policy-ex4"></a>

In questo esempio, viene creato un gruppo denominato `AnyCompany` che rappresenta un'azienda partner. Viene creato un utente IAM per la persona o l'applicazione specifica presso l'azienda partner che ha necessità di effettuare l'accesso, quindi l'utente viene inserito nel gruppo. 

Viene collegata quindi una policy che consente al gruppo di accedere alla cartella seguente in un bucket aziendale:

`amzn-s3-demo-bucket1/uploads/anycompany` 

Desideri inoltre impedire al gruppo `AnyCompany` di eseguire qualsiasi altra operazione con il bucket, quindi aggiungi un'istruzione che rifiuta esplicitamente l'autorizzazione per qualsiasi azione Amazon S3 ad eccezione di `PutObject` su qualsiasi risorsa Amazon S3 nell'account Account AWS.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/uploads/anycompany/*"
      },
      {
         "Effect":"Deny",
         "Action":"s3:*",
         "NotResource":"arn:aws:s3:::amzn-s3-demo-bucket1/uploads/anycompany/*"
      }
   ]
}
```

------

## Limitazione dell'accesso ai bucket Amazon S3 all'interno di uno specifico Account AWS
<a name="iam-policy-ex6"></a>

Se vuoi assicurarti che i tuoi responsabili di Amazon S3 accedano solo alle risorse che si trovano all'interno di un account affidabile Account AWS, puoi limitare l'accesso. Ad esempio, questa [Policy IAM basata sull'identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) utilizza un effetto `Deny` per bloccare l'accesso alle azioni Amazon S3, a meno che la risorsa Amazon S3 a cui si accede non sia presente nell'account `222222222222`. Per impedire a un principale IAM di accedere a oggetti Amazon S3 al di fuori dell'account, allega la seguente policy IAM: Account AWS 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyS3AccessOutsideMyBoundary",
      "Effect": "Deny",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "222222222222"
          ]
        }
      }
    }
  ]
}
```

------

**Nota**  
Questa policy non sostituisce i controlli di accesso IAM esistenti, perché non concede alcun accesso. Invece, questa policy funge da guardrail aggiuntivo per le altre autorizzazioni IAM, indipendentemente dalle autorizzazioni concesse tramite altre policy IAM.

Assicurati di sostituire l'ID account `222222222222` nella policy con il tuo Account AWS. Per applicare una policy a più account pur mantenendo questa restrizione, sostituire l'ID account con la chiave di condizione `aws:PrincipalAccount`. Questa condizione richiede che il principale e la risorsa devono trovarsi nello stesso account.

## Limitare l'accesso ai bucket Amazon S3 all'interno della propria unità organizzativa
<a name="iam-policy-ex7"></a>

Se disponi di un'[unità organizzativa (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) configurata in AWS Organizations, potresti voler limitare l'accesso ai bucket Amazon S3 a una parte specifica dell'organizzazione. In questo esempio, utilizziamo la chiave `aws:ResourceOrgPaths` per limitare l'accesso del bucket Amazon S3 a un'unità organizzativa della tua organizzazione. In questo esempio, l'[ID dell'unità organizzativa](https://docs.aws.amazon.com/organizations/latest/APIReference/API_OrganizationalUnit.html) è `ou-acroot-exampleou`. Assicurati di sostituire questo valore nella tua policy con la tua unità organizzativa. IDs

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {
       "Sid": "AllowS3AccessOutsideMyBoundary",
       "Effect": "Allow",
       "Action": [
         "s3:*"
       ],
       "Resource": "*",
       "Condition": {
         "ForAllValues:StringLike": {
           "aws:ResourceOrgPaths": [
             "o-acorg/r-acroot/ou-acroot-exampleou/"
           ] 
         }
       }
     }
   ]
 }
```

------

**Nota**  
Questa policy non garantisce alcun accesso. Al contrario, questa policy funge da backstop per le altre autorizzazioni IAM, impedendo ai tuoi principali di accedere a oggetti Amazon S3 al di fuori di un limite definito dall'unità organizzativa.

La policy nega l'accesso alle azioni di Amazon S3 a meno che l'oggetto Amazon S3 a cui si accede non si trovi nell'UO `ou-acroot-exampleou` nella tua organizzazione. La [Condizione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) richiede `aws:ResourceOrgPaths`, una chiave di condizione multivalore, per contenere uno qualsiasi dei percorsi dell'unità organizzativa elencati. La politica utilizza l'`ForAllValues:StringNotLike`operatore per confrontare i valori di `aws:ResourceOrgPaths` con quelli elencati OUs senza distinzione tra maiuscole e minuscole.

## Limitazione dell'accesso ai bucket Amazon S3 all'interno dell'organizzazione
<a name="iam-policy-ex8"></a>

Per limitare l'accesso agli oggetti Amazon S3 all'interno dell'organizzazione, allega una policy IAM alla radice dell'organizzazione, applicandola a tutti gli account dell'organizzazione. Per richiedere ai tuoi principale IAM di seguire questa regola, usa una [policy di controllo dei servizi (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html). Se scegli di utilizzare una SCP, assicurati di [testare l'SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-warning-testing-effect) prima di allegare la policy alla radice dell'organizzazione.

Nella seguente policy di esempio, l'accesso viene negato alle azioni di Amazon S3 a meno che l'oggetto Amazon S3 a cui si accede non si trovi nella stessa organizzazione del principale IAM che vi sta accedendo:

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {
       "Sid": "DenyS3AccessOutsideMyBoundary",
       "Effect": "Deny",
       "Action": [
         "s3:*"
       ],
       "Resource": "arn:aws:s3:::*/*",
       "Condition": {
         "StringNotEquals": {
           "aws:ResourceOrgID": "${aws:PrincipalOrgID}"
         }
       }
     }
   ]
 }
```

------

**Nota**  
Questa policy non garantisce alcun accesso. Invece, questa policy funge da backstop per le altre autorizzazioni IAM, impedendo ai tuoi principali di accedere a qualsiasi oggetto Amazon S3 al di fuori della tua organizzazione. Questa policy si applica anche alle risorse Amazon S3 create dopo l'entrata in vigore della policy.

La [Condizione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in questo esempio richiede che `aws:ResourceOrgID` e `aws:PrincipalOrgID` siano uguali l'uno all'altro. Con questo requisito, il principale che effettua la richiesta e la risorsa a cui si accede devono trovarsi nella stessa organizzazione.

## Concessione del permesso di recuperare la configurazione per un PublicAccessBlock Account AWS
<a name="using-with-s3-actions-related-to-accountss"></a>

Il seguente esempio di policy basata sull'identità concede l'autorizzazione `s3:GetAccountPublicAccessBlock` a un utente. Per queste autorizzazioni, è necessario impostare il valore `Resource` su `"*"`. Per informazioni sulla risorsa ARNs, vedere. [Risorse di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources)

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action":[
            "s3:GetAccountPublicAccessBlock" 
         ],
         "Resource":[
            "*"
         ]
       }
    ]
}
```

------

## Limitare la creazione di bucket a una sola Regione
<a name="condition-key-bucket-ops-1"></a>

Supponiamo che un Account AWS amministratore voglia concedere al proprio utente (Dave) l'autorizzazione a creare un bucket solo nella regione del Sud America (San Paolo). L'amministratore dell'account può collegare la seguente policy utente assegnando l'autorizzazione `s3:CreateBucket` con una condizione, come mostrato. La coppia chiave-valore nel blocco `Condition` specifica la chiave `s3:LocationConstraint` e la regione `sa-east-1` come valore corrispondente.

**Nota**  
In questo esempio, il proprietario di bucket sta assegnando un'autorizzazione a uno dei suoi utenti, in modo da poter utilizzare una policy di bucket o una policy utente. Questo esempio mostra una policy utente.

Per un elenco delle regioni di Amazon S3, consultare la sezione relativa a [regioni ed endpoint](https://docs.aws.amazon.com/general/latest/gr/s3.html) nella *Riferimenti generali di AWS*. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "statement1",
         "Effect": "Allow",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       }
    ]
}
```

------

**Aggiunta del rifiuto esplicito**  
La policy precedente limita l'utente impedendogli di creare un bucket in qualsiasi altra regione al di fuori di `sa-east-1`. Tuttavia, qualche altra policy potrebbe assegnare a questo utente l'autorizzazione a creare bucket in un'altra regione. Ad esempio, se l'utente appartiene a un gruppo, è possibile che questo gruppo abbia una policy collegata che assegna a tutti gli utenti del gruppo stesso l'autorizzazione a creare bucket in un'altra regione. Per assicurarsi che l'utente non ottenga il permesso di creare bucket in qualsiasi altra Regione, è possibile aggiungere un'istruzione esplicita di rifiuto nella policy di cui sopra. 

L'istruzione `Deny` utilizza la condizione `StringNotLike`. Cioè, la richiesta di creazione del bucket viene rifiutata se il vincolo di posizione non è `sa-east-1`. La negazione esplicita non consente all'utente di creare un bucket in nessun'altra Regione, indipendentemente dalle altre autorizzazioni ottenute dall'utente. La seguente policy include un'istruzione esplicita di rifiuto.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringNotLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       }
    ]
}
```

------

**Prova la politica con il AWS CLI**  
È possibile testare la politica utilizzando il seguente `create-bucket` AWS CLI comando. Questo esempio utilizza il file `bucketconfig.txt` per specificare il vincolo di posizione. Si noti il percorso del file Windows. È necessario aggiornare il nome del bucket e il percorso come opportuno. È necessario fornire le credenziali utente utilizzando il parametro `--profile`. *Per ulteriori informazioni sulla configurazione e l'utilizzo di AWS CLI, consulta [Developing with Amazon S3 using the AWS CLI nel Amazon S3 API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Reference.*

```
aws s3api create-bucket --bucket examplebucket --profile AccountADave --create-bucket-configuration file://c:/Users/someUser/bucketconfig.txt
```

Il file `bucketconfig.txt` specifica la configurazione come segue:

```
{"LocationConstraint": "sa-east-1"}
```

# Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3
<a name="example-walkthroughs-managing-access"></a>

Questo argomento contiene i seguenti esempi di procedure guidate introduttive per concedere l'accesso alle risorse di Amazon S3. Questi esempi lo utilizzano Console di gestione AWS per creare risorse (bucket, oggetti, utenti) e concedere loro autorizzazioni. Gli esempi mostrano quindi come verificare le autorizzazioni utilizzando gli strumenti a riga di comando per evitare di scrivere il codice. Forniamo comandi utilizzando sia il AWS Command Line Interface (AWS CLI) che il. AWS Tools for Windows PowerShell
+ [Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket](example-walkthroughs-managing-access-example1.md)

  Per default, gli utenti IAM creati nell'account non dispongono delle autorizzazioni. In questo esercizio agli utenti verrà concessa un'autorizzazione per eseguire le operazioni sui bucket e sugli oggetti.
+ [Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multiaccount](example-walkthroughs-managing-access-example2.md)

  In questo esercizio un proprietario del bucket, Account A, concede le autorizzazioni multiaccount a un altro Account AWS, Account B, che delega quindi queste autorizzazioni agli utenti nel suo account. 
+ **Gestione delle autorizzazioni per l'oggetto quando il proprietario dell'oggetto non corrisponde al proprietario del bucket**

  Gli scenari di esempio in questo caso riguardano un proprietario del bucket che concede ad altri le autorizzazioni per l'oggetto, sebbene non tutti gli oggetti nel bucket siano di sua proprietà. Di quali autorizzazioni ha bisogno il proprietario del bucket e come può delegare tali autorizzazioni?

  Chi Account AWS crea un bucket si chiama proprietario del *bucket.* Il proprietario può concedere altre Account AWS autorizzazioni per caricare oggetti e chi crea Account AWS gli oggetti ne è proprietario. Il proprietario del bucket non dispone delle autorizzazioni per gli oggetti creati dagli altri Account AWS. Se il proprietario del bucket scrive una policy del bucket che concede l'accesso agli oggetti, la policy non si applica agli oggetti di proprietà di altri account. 

  In questo caso il proprietario dell'oggetto deve in primo luogo concedere le autorizzazioni al proprietario del bucket utilizzando un'ACL dell'oggetto. Il proprietario del bucket può quindi delegare le autorizzazioni relative agli oggetti ad altri, agli utenti del proprio account o a un altro Account AWS, come illustrato dai seguenti esempi.
  + [Esempio 3: il proprietario del bucket concede autorizzazioni per gli oggetti che non sono di sua proprietà](example-walkthroughs-managing-access-example3.md)

    In questo esercizio il proprietario del bucket ottiene prima le autorizzazioni dal proprietario dell'oggetto, Il proprietario del bucket quindi delega queste autorizzazioni agli utenti nel suo account.
  + [Esempio 4 - Proprietario di un bucket che concede un'autorizzazione multi-account agli oggetti di cui non è proprietario](example-walkthroughs-managing-access-example4.md)

    Dopo aver ricevuto le autorizzazioni dal proprietario dell'oggetto, il proprietario del bucket non può delegare l'autorizzazione ad altri Account AWS perché la delega tra account non è supportata (vedi). [Delega delle autorizzazioni](access-policy-language-overview.md#permission-delegation) Invece, il proprietario del bucket può creare un ruolo IAM con autorizzazioni per eseguire operazioni specifiche (come get object) e consentire a un altro di assumere quel ruolo. Account AWS Chiunque assuma il ruolo potrà quindi accedere agli oggetti. Questo esempio mostra in che modo un proprietario del bucket può utilizzare un ruolo IAM per abilitare questa delega multiaccount. 

## Prima di provare le procedure guidate di esempio
<a name="before-you-try-example-walkthroughs-manage-access"></a>

Questi esempi utilizzano il Console di gestione AWS per creare risorse e concedere autorizzazioni. Per verificare le autorizzazioni, gli esempi utilizzano gli strumenti della riga di comando e AWS CLI AWS Tools for Windows PowerShell, quindi, non è necessario scrivere alcun codice. Per testare le autorizzazioni, è necessario configurare uno di questi strumenti. Per ulteriori informazioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md). 

Inoltre, quando si creano le risorse, questi esempi non utilizzano le credenziali dell'utente root di Account AWS. ma viene creato un utente amministratore in questi account per eseguire queste attività. 

### Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni
<a name="about-using-root-credentials"></a>

AWS Identity and Access Management (IAM) sconsiglia di utilizzare le credenziali dell'utente root dell' Account AWS per effettuare richieste. Invece, crea un utente o un ruolo IAM, concedi a tale utente o ruolo l'accesso completo, quindi utilizza le relative credenziali per fare richieste. Questo utente viene definito utente o ruolo amministratore. Per ulteriori informazioni, consultare la sezione relativa a [credenziali Utente root dell'account AWS e identità IAM](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) nella *Riferimenti generali di AWS* e [Best practice di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

In tutte le procedure guidate di esempio riportate in questa sezione vengono utilizzate le credenziali dell'utente amministratore. Se non avete creato un utente amministratore per il vostro Account AWS, negli argomenti viene illustrato come fare. 

Per accedere Console di gestione AWS utilizzando le credenziali utente, devi utilizzare l'URL di accesso utente IAM. La [console IAM](https://console.aws.amazon.com/iam/) fornisce questo URL per l' Account AWS. Negli argomenti di questa sezione viene illustrato come ottenere l'URL.

# Impostazione degli strumenti per le visite guidate
<a name="policy-eval-walkthrough-download-awscli"></a>

Gli esempi introduttivi (vedi[Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3](example-walkthroughs-managing-access.md)) utilizzano il Console di gestione AWS per creare risorse e concedere autorizzazioni. Per testare le autorizzazioni, gli esempi utilizzano gli strumenti della riga di comando, AWS Command Line Interface (AWS CLI) e AWS Tools for Windows PowerShell, quindi non è necessario scrivere alcun codice. Per testare le autorizzazioni, è necessario configurare uno di questi strumenti. 

**Per configurare il AWS CLI**

1. Scarica e configura la AWS CLI. Per le istruzioni, consulta i seguenti argomenti nella *Guida per l'utente dell'AWS Command Line Interface *: 

    [Installare o aggiornare alla versione più recente del programma AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) 

    [Nozioni di base su AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

1. Impostare il profilo di default. 

   Le credenziali utente vengono memorizzate nel file di AWS CLI configurazione. Crea un profilo predefinito nel file di configurazione utilizzando le tue credenziali. Account AWS Per istruzioni su come trovare e modificare il file di AWS CLI configurazione, consulta Impostazioni del file di [configurazione e credenziali](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html).

   ```
   [default]
   aws_access_key_id = access key ID
   aws_secret_access_key = secret access key
   region = us-west-2
   ```

1. Verificare la configurazione digitando i comandi riportati di seguito al prompt dei comandi. Poiché entrambi questi comandi non forniscono credenziali in modo esplicito, vengono utilizzate le credenziali del profilo di default.
   + Prova il comando `help`.

     ```
     aws help
     ```
   + Per ottenere un elenco dei bucket sull'account configurato, utilizza il comando `aws s3 ls`.

     ```
     aws s3 ls
     ```

Man mano che si procede, si creano utenti e si salvano le credenziali degli utenti nei file di configurazione creando profili, come mostra l'esempio seguente. Questi profili hanno i nomi di `AccountAadmin` e `AccountBadmin`.

```
[profile AccountAadmin]
aws_access_key_id = User AccountAadmin access key ID
aws_secret_access_key = User AccountAadmin secret access key
region = us-west-2

[profile AccountBadmin]
aws_access_key_id = Account B access key ID
aws_secret_access_key = Account B secret access key
region = us-east-1
```

Per eseguire un comando utilizzando queste credenziali utente, aggiungere il parametro `--profile` specificando il nome del profilo. Il AWS CLI comando seguente recupera un elenco di oggetti in *`examplebucket`* e specifica il profilo. `AccountBadmin` 

```
aws s3 ls s3://examplebucket --profile AccountBadmin
```

In alternativa, è possibile configurare un set di credenziali utente come profilo di default modificando la variabile di ambiente `AWS_DEFAULT_PROFILE` dal prompt dei comandi. Dopo aver eseguito questa operazione, ogni volta che si eseguono AWS CLI comandi senza il `--profile` parametro, AWS CLI utilizza il profilo impostato nella variabile di ambiente come profilo predefinito.

```
$ export AWS_DEFAULT_PROFILE=AccountAadmin
```

**Per configurare AWS Tools for Windows PowerShell**

1. Scarica e configura la AWS Tools for Windows PowerShell. Per le istruzioni, consulta la sezione [Installazione di AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html#pstools-installing-download) nella *Guida all'utente AWS Strumenti per PowerShell *. 
**Nota**  
Per caricare il AWS Tools for Windows PowerShell modulo, è necessario abilitare l'esecuzione PowerShell dello script. Per ulteriori informazioni, consulta [Abilita l'esecuzione di script](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html#enable-script-execution) nella *Guida all'utente AWS Strumenti per PowerShell *.

1. Per queste procedure dettagliate, è necessario specificare AWS le credenziali per sessione utilizzando il comando. `Set-AWSCredentials` Il comando salva le credenziali in uno store permanente (parametro `-StoreAs `).

   ```
   Set-AWSCredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas string
   ```

1. Verificare la configurazione.
   + Per ottenere un elenco dei comandi disponibili che si possono utilizzare per le operazioni su Amazon S3, esegui il comando `Get-Command`. 

     ```
     Get-Command -module awspowershell -noun s3* -StoredCredentials string
     ```
   + Per recuperare un elenco di oggetti in un bucket, esegui il comando `Get-S3Object`.

     ```
     Get-S3Object -BucketName bucketname -StoredCredentials string
     ```

Per un elenco di comandi, vedere [AWS Tools](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) for Cmdlet Reference. PowerShell 

Ora sei pronto a provare le guide. Segui i link forniti all'inizio di ogni sezione.

# Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket
<a name="example-walkthroughs-managing-access-example1"></a>

**Importante**  
La concessione di autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione di autorizzazioni ai singoli utenti. Per ulteriori informazioni su come concedere autorizzazioni ai ruoli IAM, consulta [Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Preparazione della spiegazione passo per passo](#grant-permissions-to-user-in-your-account-step0)
+ [Fase 1: Creare risorse nell'account A e concedere le autorizzazioni](#grant-permissions-to-user-in-your-account-step1)
+ [Fase 2: testare le autorizzazioni](#grant-permissions-to-user-in-your-account-test)

In questa procedura dettagliata, un utente Account AWS possiede un bucket e l'account include un utente IAM. Per impostazione predefinita, l'utente non dispone di autorizzazioni. Per eseguire qualsiasi attività, l'account padre deve concedere le autorizzazioni all'utente. Il proprietario del bucket e l'account padre sono uguali. Pertanto, per concedere all'utente le autorizzazioni sul bucket, Account AWS possono utilizzare una policy del bucket, una policy utente o entrambe. Il proprietario dell'account concederà alcune autorizzazioni con una policy del bucket e altre con una policy utente.

La seguenti fasi riepilogano la procedura guidata:

![\[Diagramma che mostra un AWS account che concede le autorizzazioni.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/access-policy-ex1.png)


1. L'amministratore dell'account crea una policy bucket per concedere un set di autorizzazioni all'utente.

1. L'amministratore dell'account collega una policy utente all'utente per concedere ulteriori autorizzazioni.

1. L'utente prova quindi le autorizzazioni concesse tramite la policy bucket e la policy utente.

Per questo esempio, avrai bisogno di un. Account AWS Anziché utilizzare le credenziali dell'utente root dell'account, sarà necessario creare un utente amministratore (consultare [Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni](example-walkthroughs-managing-access.md#about-using-root-credentials)). Ci riferiamo all'utente Account AWS e all'utente amministratore come illustrato nella tabella seguente.


| ID account | Account denominato | Utente amministratore nell'account | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Account A  |  AccountAadmin  | 

**Nota**  
L'utente amministratore in questo esempio è **AccountAadmin**, che si riferisce all'account A e non **AccountAdmin**.

Tutte le attività di creazione degli utenti e assegnazione delle autorizzazioni vengono effettuate nella Console di gestione AWS. Per verificare le autorizzazioni, la procedura dettagliata utilizza gli strumenti della riga di comando, AWS Command Line Interface (AWS CLI) e AWS Tools for Windows PowerShell quindi non è necessario scrivere alcun codice.

## Preparazione della spiegazione passo per passo
<a name="grant-permissions-to-user-in-your-account-step0"></a>

1. Assicurati di avere un account Account AWS e che abbia un utente con privilegi di amministratore.

   1. Registrati per un Account AWS, se necessario. Si fa riferimento a questo account come Account A.

      1.  Vai su [https://aws.amazon.com/s3](https://aws.amazon.com/s3) e scegli **Crea un AWS account**. 

      1. Seguire le istruzioni su schermo.

         AWS ti avviserà via e-mail quando il tuo account sarà attivo e disponibile per l'uso.

   1. Nell'account A, crea un utente amministratore **AccountAadmin**. Utilizzando le credenziali dell'Account A, accedere alla [console IAM](https://console.aws.amazon.com/iam/home?#home) ed effettuare quanto segue: 

      1. Crea l'utente **AccountAadmin** e annota le credenziali di sicurezza dell'utente. 

         Per istruzioni, consulta [Creazione di un utente IAM in Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nella *Guida all'utente IAM*. 

      1. Concedi i privilegi di amministratore **AccountAadmin**allegando una politica utente che dia accesso completo. 

         Per istruzioni, consulta [Gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) nella *Guida all'utente IAM*. 

      1. Nota l'URL di **accesso dell'utente IAM** per. **AccountAadmin** che dovrà essere utilizzato per accedere alla Console di gestione AWS. Per ulteriori informazioni su dove trovare l'URL di accesso, consulta [Accedere Console di gestione AWS come utente IAM nella IAM User](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) *Guide*. Annota l'URL di ciascun account.

1. Configura il AWS CLI o il AWS Tools for Windows PowerShell. Assicurati di salvare le credenziali dell'utente amministratore come segue:
   + Se usi il AWS CLI, crea un profilo`AccountAadmin`, nel file di configurazione.
   + Se utilizzi il AWS Tools for Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come. `AccountAadmin`

   Per istruzioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md). 

## Fase 1: Creare risorse nell'account A e concedere le autorizzazioni
<a name="grant-permissions-to-user-in-your-account-step1"></a>

Utilizzando le credenziali dell'utente `AccountAadmin` nell'Account A e lo speciale URL di accesso utente IAM, accedi a Console di gestione AWS e procedi come segue:

1. Creare risorse di un bucket e di un utente IAM

   1. Nella console di Amazon S3 creare un bucket. Nota Regione AWS in che modo hai creato il bucket. Per istruzioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

   1. Nella [Console IAM](https://console.aws.amazon.com/iam/), procedi come segue: 

      1. Crea un utente di nome Dave.

         Per step-by-step istruzioni, consulta [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *Guida per l'utente IAM*. 

      1. Annota le credenziali `UserDave`.

      1. Annota il nome della risorsa Amazon (ARN) per l'utente Dave. Nella [Console IAM](https://console.aws.amazon.com/iam/), seleziona l'utente e la scheda **Riepilogo** fornisce l'ARN dell'utente.

1. Concedi i permessi. 

   Poiché il proprietario del bucket e l'account principale a cui appartiene l'utente sono gli stessi, Account AWS possono concedere le autorizzazioni all'utente utilizzando una policy del bucket, una policy utente o entrambe. come in questo esempio. Se l'oggetto è anche di proprietà dello stesso account, il proprietario del bucket può concedere le autorizzazioni per l'oggetto nella policy bucket (o una policy IAM).

   1. Nella console Amazon S3, collega la seguente policy sui bucket a. *awsexamplebucket1* 

      La policy include due dichiarazioni. 
      + La prima istruzione concede a Dave le autorizzazioni per le operazioni sul bucket `s3:GetBucketLocation` e `s3:ListBucket`.
      + La seconda istruzione concede l'autorizzazione `s3:GetObject`. Poiché l'Account A è anche proprietario dell'oggetto, l'amministratore dell'account può concedere l'autorizzazione `s3:GetObject`. 

      Nell'istruzione `Principal` Dave è identificato dall'ARN utente. Per ulteriori informazioni sugli elementi delle policy, consultare [Policy e autorizzazioni in Amazon S3](access-policy-language-overview.md).

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "statement1",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:user/Dave"
                  },
                  "Action": [
                      "s3:GetBucketLocation",
                      "s3:ListBucket"
                  ],
                  "Resource": [
                      "arn:aws:s3:::awsexamplebucket1"
                  ]
              },
              {
                  "Sid": "statement2",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:user/Dave"
                  },
                  "Action": [
                      "s3:GetObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::awsexamplebucket1/*"
                  ]
              }
          ]
      }
      ```

------

   1. Creare una policy inline per l'utente Dave mediante la policy che segue. La policy concede a Dave l'autorizzazione `s3:PutObject`. È necessario aggiornare la policy specificando il nome del bucket.

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

****  

      ```
      {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
            {
               "Sid": "PermissionForObjectOperations",
               "Effect": "Allow",
               "Action": [
                  "s3:PutObject"
               ],
               "Resource": [
                  "arn:aws:s3:::awsexamplebucket1/*"
               ]
            }
         ]
      }
      ```

------

      Per istruzioni, consulta [Managing IAMpolicies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_inline-using.html) in the *IAM User Guide*. Tenere presente che è necessario accedere alla console tramite le credenziali dell'Account A.

## Fase 2: testare le autorizzazioni
<a name="grant-permissions-to-user-in-your-account-test"></a>

Utilizzando le credenziali di Dave, verificare che le autorizzazioni funzionino correttamente. È possibile utilizzare una delle due procedure di seguito.

**Verifica le autorizzazioni utilizzando il AWS CLI**

1. Aggiorna il file di AWS CLI configurazione aggiungendo il seguente `UserDaveAccountA` profilo. Per ulteriori informazioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDaveAccountA]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Verificare che Dave possa eseguire le operazioni autorizzate nella policy utente. Caricate un oggetto di esempio utilizzando il AWS CLI `put-object` comando seguente. 

   Il parametro `--body` nel comando identifica il file di origine da caricare. Ad esempio, se il file si trova nella radice dell'unità C: su un computer Windows, si specifica `c:\HappyFace.jpg`. Il parametro `--key` fornisce il nome della chiave dell'oggetto.

   ```
   aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA
   ```

   Eseguite il AWS CLI comando seguente per ottenere l'oggetto. 

   ```
   aws s3api get-object --bucket awsexamplebucket1 --key HappyFace.jpg OutputFile.jpg --profile UserDaveAccountA
   ```

**Verifica le autorizzazioni utilizzando il AWS Tools for Windows PowerShell**

1. Memorizza le credenziali di Dave come `AccountADave`. Si utilizzano quindi queste credenziali per `PUT` e `GET` un oggetto.

   ```
   set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
   ```

1. Caricate un oggetto di esempio utilizzando il AWS Tools for Windows PowerShell `Write-S3Object` comando utilizzando le credenziali memorizzate dell'utente Dave. 

   ```
   Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave
   ```

   Scaricare l'oggetto caricato in precedenza.

   ```
   Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave
   ```

# Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multiaccount
<a name="example-walkthroughs-managing-access-example2"></a>

**Importante**  
Concedere le autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione delle autorizzazioni ai singoli utenti. Per informazioni su come effettuare questa operazione, consulta [Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Preparazione della spiegazione passo per passo](#cross-acct-access-step0)
+ [Fase 1: esecuzione delle attività per l'Account A](#access-policies-walkthrough-cross-account-permissions-acctA-tasks)
+ [Fase 2: esecuzione delle attività per l'Account B](#access-policies-walkthrough-cross-account-permissions-acctB-tasks)
+ [Fase 3: (facoltativo) provare un rifiuto esplicito](#access-policies-walkthrough-example2-explicit-deny)
+ [Fase 4: pulizia](#access-policies-walkthrough-example2-cleanup-step)

Un account, ad Account AWS esempio, A può concedere a un altro Account AWS, l'account B, l'autorizzazione ad accedere alle sue risorse come bucket e oggetti. L'Account B può quindi delegare queste autorizzazioni agli utenti nel proprio account. In questo scenario di esempio, il proprietario del bucket concede a un altro account le autorizzazioni multiaccount per eseguire specifiche operazioni nel bucket.

**Nota**  
L'account A può inoltre concedere le autorizzazioni a un utente dell'Account B mediante una policy di bucket. Tuttavia, l'utente avrà comunque bisogno dell'autorizzazione dell'account padre, l'account B, a cui appartiene, anche se l'account B non ha le autorizzazioni dell'account A. Finché l'utente ha l'autorizzazione sia del proprietario della risorsa che dell'account padre, potrà accedere alla risorsa.

Di seguito è riportato un riepilogo delle fasi della procedura:

![\[E Account AWS concedere a un'altra persona l' Account AWS autorizzazione ad accedere alle sue risorse.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/access-policy-ex2.png)


1. L'amministratore dell'Account A collega una policy di bucket che concede all'Account B autorizzazioni multiaccount per l'esecuzione di specifiche operazioni nel bucket.

   L'utente amministratore dell'Account B erediterà automaticamente le autorizzazioni.

1. L'utente amministratore dell'account B collega una policy utente all'utente per delegare le autorizzazioni ricevute dall'Account A.

1. L'utente dell'Account B fa quindi una verifica delle autorizzazioni accedendo a un oggetto nel bucket di proprietà dell'Account A.

Per questo utente, sono necessari due account. La tabella seguente mostra come viene fatto riferimento a questi account e ai relativi utenti amministratori. In conformità alle linee guida IAM (consulta [Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni](example-walkthroughs-managing-access.md#about-using-root-credentials)), in questa guida non utilizzeremo le credenziali dell'utente root. Viene invece creato un utente amministratore in ciascun account e le credenziali vengono utilizzate per la creazione di risorse e per concedere autorizzazioni a tali risorse. 


| Account AWS ID | Account denominato | Utente amministratore nell'account  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Account A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Account B  |  AccountBadmin  | 

Tutte le attività di creazione degli utenti e assegnazione delle autorizzazioni vengono effettuate nella Console di gestione AWS. Per verificare le autorizzazioni, la procedura dettagliata utilizza gli strumenti della riga di comando ( AWS Command Line Interface CLI) e AWS Tools for Windows PowerShell quindi non è necessario scrivere alcun codice.

## Preparazione della spiegazione passo per passo
<a name="cross-acct-access-step0"></a>

1. Assicurati di averne due Account AWS e che ogni account abbia un utente amministratore, come mostrato nella tabella nella sezione precedente.

   1. Registrati per un Account AWS, se necessario. 

   1. Utilizzando le credenziali dell'Account A, accedere alla [console IAM](https://console.aws.amazon.com/iam/home?#home) per creare l'utente amministratore:

      1. Crea l'utente **AccountAadmin** e annota le credenziali di sicurezza. Per istruzioni, consulta [Creazione di un utente IAM nell' Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nella *Guida per l'utente di IAM*. 

      1. Concedi i privilegi di amministratore **AccountAadmin**allegando una politica utente che dia accesso completo. Per istruzioni, consulta [Gestione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) nella *Guida per l'utente di IAM*. 

   1. Nella console IAM, annota l'**URL di accesso dell'utente IAM** nella **Dashboard**. Tutti gli utenti dell'account devono utilizzare questo URL per accedere alla Console di gestione AWS.

      Per ulteriori informazioni, consulta [In che modo gli utenti effettuano l'accesso al tuo account](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) nella *Guida per l'utente IAM*. 

   1. Ripeti il passaggio precedente utilizzando le credenziali dell'account B e creare l'utente amministratore **AccountBadmin**.

1. Imposta il AWS Command Line Interface (AWS CLI) o il. AWS Tools for Windows PowerShell Assicurati di salvare le credenziali dell'utente amministratore come segue:
   + Se usi il AWS CLI, crea due profili `AccountAadmin` e`AccountBadmin`, nel file di configurazione.
   + Se utilizzi il AWS Tools for Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come e`AccountAadmin`. `AccountBadmin`

   Per istruzioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md). 

1. Salvare le credenziali dell'utente amministratore, chiamate anche profili. È possibile utilizzare il nome del profilo anziché specificare le credenziali per ciascun comando immesso. Per ulteriori informazioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md). 

   1. Aggiungi i profili nel file delle AWS CLI credenziali per ciascuno degli utenti amministratori `AccountAadmin` e `AccountBadmin` nei due account. 

      ```
      [AccountAadmin]
      aws_access_key_id = access-key-ID
      aws_secret_access_key = secret-access-key
      region = us-east-1
      
      [AccountBadmin]
      aws_access_key_id = access-key-ID
      aws_secret_access_key = secret-access-key
      region = us-east-1
      ```

   1. Se si utilizza AWS Tools for Windows PowerShell, esegui il seguente comando.

      ```
      set-awscredentials –AccessKey AcctA-access-key-ID –SecretKey AcctA-secret-access-key –storeas AccountAadmin
      set-awscredentials –AccessKey AcctB-access-key-ID –SecretKey AcctB-secret-access-key –storeas AccountBadmin
      ```

## Fase 1: esecuzione delle attività per l'Account A
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks"></a>

### Passaggio 1.1: accedi a Console di gestione AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in"></a>

Utilizzando l'URL di accesso utente IAM per l'account A, accedi innanzitutto all'account Console di gestione AWS as **AccountAadmin**user. Questo utente creerà un bucket e vi allegherà una policy. 

### Fase 1.2: creazione di un bucket
<a name="access-policies-walkthrough-example2a-create-bucket"></a>

1. Nella console di Amazon S3 creare un bucket. Questo esercizio presuppone che il bucket sia stato creato negli Stati Uniti orientali (Virginia settentrionale) Regione AWS e abbia un nome. `amzn-s3-demo-bucket`

   Per istruzioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

1. Caricare un oggetto campione nel bucket.

   Per istruzioni, vai su [Fase 2: Carica un oggetto nel tuo bucket](GetStartedWithS3.md#uploading-an-object-bucket). 

### Fase 1.3: collegare una policy del bucket per concedere autorizzazioni tra account all'Account B
<a name="access-policies-walkthrough-example2a"></a>

La policy bucket concede le `s3:ListBucket` autorizzazioni `s3:GetLifecycleConfiguration` e all'account B. Si presume che tu abbia ancora effettuato l'accesso alla console utilizzando le credenziali utente. **AccountAadmin**

1. Collegare la seguente policy di bucket a `amzn-s3-demo-bucket`. La policy concede all'Account B autorizzazioni per le operazioni `s3:GetLifecycleConfiguration` e `s3:ListBucket`.

   Per istruzioni, consulta [Aggiunta di una policy di bucket utilizzando la console di Amazon S3](add-bucket-policy.md). 

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "Example permissions",
            "Effect": "Allow",
            "Principal": {
               "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
               "s3:GetLifecycleConfiguration",
               "s3:ListBucket"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
         }
      ]
   }
   ```

------

1. Verifica che l'account B (e quindi il suo utente amministratore) possa eseguire le operazioni.
   + Verifica utilizzando il AWS CLI

     ```
     aws s3 ls s3://amzn-s3-demo-bucket --profile AccountBadmin
     aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --profile AccountBadmin
     ```
   + Verificare utilizzando il AWS Tools for Windows PowerShell

     ```
     get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBadmin 
     get-s3bucketlifecycleconfiguration -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBadmin
     ```

## Fase 2: esecuzione delle attività per l'Account B
<a name="access-policies-walkthrough-cross-account-permissions-acctB-tasks"></a>

A questo punto l'amministratore dell'Account B crea un utente, Dave, al quale delega le autorizzazioni ricevute dall'Account A. 

### Passaggio 2.1: accedi a Console di gestione AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctB-tasks-sign-in"></a>

Utilizzando l'URL di accesso utente IAM per l'account B, accedi prima all'**AccountBadmin**utente Console di gestione AWS come. 

### Fase 2.2: creazione dell'utente Dave nell'Account B
<a name="access-policies-walkthrough-example2b-create-user"></a>

Nella [console IAM](https://console.aws.amazon.com/iam/), crea un utente, **Dave**. 

Per le istruzioni, consulta [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *Guida per l'utente di IAM*. 

### Fase 2.3: delega delle autorizzazioni all'utente Dave
<a name="access-policies-walkthrough-example2-delegate-perm-userdave"></a>

Creare una policy inline per l'utente Dave mediante la policy che segue. Sarà necessario aggiornare la policy specificando il nome del bucket.

Si presume che tu abbia effettuato l'accesso alla console utilizzando le credenziali **AccountBadmin**utente.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Example",
         "Effect": "Allow",
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      }
   ]
}
```

------

Per istruzioni, consulta [Gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_inline-using.html) nella *Guida all'utente IAM*.

### Fase 2.4: testare le autorizzazioni
<a name="access-policies-walkthrough-example2b-user-dave-access"></a>

Ora l'utente Dave dell'Account B può elencare il contenuto di `amzn-s3-demo-bucket` di proprietà dell'Account A. È possibile verificare le autorizzazioni mediante una delle procedure descritte di seguito. 

**Verifica le autorizzazioni utilizzando il AWS CLI**

1. Aggiungi il `UserDave` profilo al file di AWS CLI configurazione. Per ulteriori informazioni sul file di configurazione, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDave]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Al prompt dei comandi, inserisci il seguente AWS CLI comando per verificare che Dave possa ora ottenere un elenco di oggetti dall'account di `amzn-s3-demo-bucket` proprietà dell'Account A. Nota che il comando specifica il profilo. `UserDave`

   ```
   aws s3 ls s3://amzn-s3-demo-bucket --profile UserDave
   ```

   Dave non ha altri permessi. Quindi, se si tenta qualsiasi altra operazione, ad esempio la seguente configurazione `get-bucket-lifecycle`, Amazon S3 restituisce l'autorizzazione negata. 

   ```
   aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --profile UserDave
   ```

**Verifica le autorizzazioni utilizzando AWS Tools for Windows PowerShell**

1. Memorizza le credenziali di Dave come `AccountBDave`.

   ```
   set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountBDave
   ```

1. Provare a utilizzare il comando List Bucket.

   ```
   get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
   ```

   Dave non ha altri permessi. Quindi, se si tenta un'altra operazione, ad esempio la seguente `get-s3bucketlifecycleconfiguration`-Amazon S3 restituisce Autorizzazione negata. 

   ```
   get-s3bucketlifecycleconfiguration -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
   ```

## Fase 3: (facoltativo) provare un rifiuto esplicito
<a name="access-policies-walkthrough-example2-explicit-deny"></a>

Le autorizzazioni possono essere concesse utilizzando una lista di controllo degli accessi (ACL), una policy di bucket o una policy utente. Tuttavia, se c'è un rifiuto esplicito impostato da una policy del bucket o da una policy dell'utente, il rifiuto esplicito ha la precedenza su qualsiasi altra autorizzazione. Per i test, aggiornare la policy del bucket e negare esplicitamente all'account B l'autorizzazione `s3:ListBucket`. La policy concede anche il permesso di `s3:ListBucket`. Tuttavia, il rifiuto esplicito ha la precedenza e l'account B o gli utenti dell'account B non potranno elencare gli oggetti in `amzn-s3-demo-bucket`.

1. Utilizzando le credenziali dell'utente `AccountAadmin` nell'account A, sostituisci la policy del bucket con il seguente. 

1. Ora, se si cerca di ottenere un elenco di bucket utilizzando le credenziali di `AccountBadmin`, l'accesso viene negato.
   + Utilizzando AWS CLI, esegui il comando seguente:

     ```
     aws s3 ls s3://amzn-s3-demo-bucket --profile AccountBadmin
     ```
   + Utilizzando il AWS Tools for Windows PowerShell, esegui il comando seguente:

     ```
     get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
     ```

## Fase 4: pulizia
<a name="access-policies-walkthrough-example2-cleanup-step"></a>

1. Una volta terminato il test, è possibile eseguire le seguenti operazioni di pulizia:

   1. Accedere a Console di gestione AWS ([Console di gestione AWS](https://console.aws.amazon.com/)) utilizzando le credenziali dell'Account A ed effettuare le seguenti operazioni:
     + Nella console di Amazon S3 rimuovere la policy del bucket collegata a `amzn-s3-demo-bucket`. Nelle **Proprietà** del bucket, elimina la policy nella sezione **Autorizzazioni**. 
     + Se il bucket è stato creato per questo esercizio, nella console di Amazon S3 eliminare gli oggetti e quindi il bucket. 
     + Nella [Console IAM](https://console.aws.amazon.com/iam/), rimuovi l'utente `AccountAadmin`.

1. Accedi alla [Console IAM](https://console.aws.amazon.com/iam/) utilizzando le credenziali dell'Account B. Cancella l'utente `AccountBadmin`. Per step-by-step istruzioni, consulta [Eliminazione di un utente IAM nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) per l'*utente IAM*.

# Esempio 3: il proprietario del bucket concede autorizzazioni per gli oggetti che non sono di sua proprietà
<a name="example-walkthroughs-managing-access-example3"></a>

**Importante**  
Concedere le autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione delle autorizzazioni ai singoli utenti. Per informazioni su come effettuare questa operazione, consulta [Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Fase 0: preparazione della procedura guidata](#access-policies-walkthrough-cross-account-acl-step0)
+ [Fase 1: esecuzione delle attività per l'Account A](#access-policies-walkthrough-cross-account-acl-acctA-tasks)
+ [Fase 2: esecuzione delle attività per l'Account B](#access-policies-walkthrough-cross-account-acl-acctB-tasks)
+ [Fase 3: testare le autorizzazioni](#access-policies-walkthrough-cross-account-acl-verify)
+ [Fase 4: pulizia](#access-policies-walkthrough-cross-account-acl-cleanup)

Lo scenario di questo esempio è che il proprietario di un bucket voglia concedere il permesso di accedere agli oggetti, ma il proprietario del bucket non possiede tutti gli oggetti del bucket. In questo esempio, il proprietario del bucket tenta di concedere autorizzazioni agli utenti nel proprio account.

Il proprietario di un bucket può consentire ad altri Account AWS di caricare oggetti. Per impostazione predefinita, il proprietario del bucket non possiede oggetti scritti su un bucket da un altro Account AWS. Gli oggetti sono di proprietà degli account che li scrivono in un bucket S3. Se il proprietario del bucket non possiede oggetti nel bucket, il proprietario dell'oggetto deve prima concedere l'autorizzazione al proprietario del bucket utilizzando una lista di controllo degli accessi (ACL) dell'oggetto. Quindi, il proprietario del bucket può concedere i permessi a un oggetto di cui non è proprietario. Per ulteriori informazioni, consulta [Proprietà di bucket e oggetti di Amazon S3](access-policy-language-overview.md#about-resource-owner).

Se il proprietario del bucket esegue l'impostazione proprietario del bucket applicato per S3 Object Ownership per il bucket, il proprietario del bucket possiederà tutti gli oggetti nel bucket, inclusi gli oggetti scritti da un altro Account AWS. Questo approccio risolve il problema degli oggetti che non sono di proprietà del proprietario del bucket. Quindi, puoi delegare le autorizzazioni agli utenti nel tuo account o ad altri Account AWS.

**Nota**  
S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e ne gestisce l'accesso esclusivamente utilizzando le politiche di gestione degli accessi.  
 La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

In questo esempio supponiamo che il proprietario del bucket non abbia applicato l'impostazione proprietario del bucket applicato per Object Ownership. Il proprietario del bucket delega queste autorizzazioni agli utenti nel suo account. Di seguito è riportato un riepilogo delle fasi della procedura:

![\[Il proprietario di un bucket concede autorizzazioni a oggetti che non possiede.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/access-policy-ex3.png)


1. L'utente amministratore dell'Account A collega una policy di bucket con due istruzioni.
   + Concedere all'Account B autorizzazioni multiaccount per caricare oggetti.
   + Consentire a un utente nel proprio account di accedere agli oggetti nel bucket.

1. L'utente amministratore dell'account B carica gli oggetti nel bucket di proprietà dell'Account A.

1. L'amministratore dell'Account B aggiorna l'ACL dell'oggetto e concede al proprietario del bucket l'autorizzazione al controllo completo sull'oggetto.

1. L'utente dell'Account A fa una verifica accedendo agli oggetti nel bucket, indipendentemente da chi ne ha la proprietà.

Per questo utente, sono necessari due account. La tabella seguente mostra come viene fatto riferimento a questi account e agli utenti amministratori degli account: In questa spiegazione passo per passo, non si utilizzano le credenziali dell'utente root dell'account, in base a quanto riportato nelle linee guida IAM consigliate. Per ulteriori informazioni, consulta [Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni](example-walkthroughs-managing-access.md#about-using-root-credentials). Viene invece creato un utente amministratore in ciascun account e le credenziali vengono utilizzate per la creazione di risorse e per concedere autorizzazioni a tali risorse


| Account AWS ID | Account denominato | Amministratore nell'account  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Account A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Account B  |  AccountBadmin  | 

Tutte le attività di creazione degli utenti e assegnazione delle autorizzazioni vengono effettuate nella Console di gestione AWS. Per verificare le autorizzazioni, la procedura dettagliata utilizza gli strumenti della riga di comando, AWS Command Line Interface (AWS CLI) e AWS Tools for Windows PowerShell quindi non è necessario scrivere alcun codice. 

## Fase 0: preparazione della procedura guidata
<a name="access-policies-walkthrough-cross-account-acl-step0"></a>

1. Assicurati di averne due Account AWS e che ogni account abbia un amministratore, come mostrato nella tabella nella sezione precedente.

   1. Iscriviti a un Account AWS, se necessario. 

   1. Utilizzando le credenziali dell'account A, accedi alla [Console IAM](https://console.aws.amazon.com/iam/) e procedere come segue per creare un utente amministratore:
      + Crea l'utente **AccountAadmin** e annota le credenziali di sicurezza dell'utente. Per ulteriori informazioni sull'aggiunta di utenti, consulta [Creazione di un utente IAM nell' Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nella *Guida per l'utente di IAM*. 
      + Concedi le autorizzazioni di amministratore **AccountAadmin**allegando una politica utente che dia accesso completo. Per istruzioni, consulta [Gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) nella *Guida all'utente IAM*. 
      + Nella [Console IAM](https://console.aws.amazon.com/iam/) **Dashboard**, annota l'**URL di accesso dell'utente IAM**. Gli utenti di questo account devono utilizzare questo URL per accedere alla Console di gestione AWS. Per ulteriori informazioni, consulta [In che modo gli utenti effettuano l'accesso al tuo account](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) nella *Guida per l'utente IAM*. 

   1. Ripeti il passaggio precedente utilizzando le credenziali dell'account B e creare l'utente amministratore **AccountBadmin**.

1. Configura AWS CLI o gli strumenti per Windows. PowerShell Assicurati di salvare le credenziali di amministratore nel modo seguente:
   + Se usi il AWS CLI, crea due profili `AccountAadmin` e`AccountBadmin`, nel file di configurazione.
   + Se utilizzi gli Strumenti per Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come `AccountAadmin` e. `AccountBadmin`

   Per istruzioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md). 

## Fase 1: esecuzione delle attività per l'Account A
<a name="access-policies-walkthrough-cross-account-acl-acctA-tasks"></a>

Esegui le operazioni riportate di seguito per l'Account A:

### Fase 1.1: Accesso alla console
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example3"></a>

Utilizzando l'URL di accesso utente IAM per l'account A, accedi all'utente Console di gestione AWS as**AccountAadmin**. Questo utente creerà un bucket e vi allegherà una policy. 

### Fase 1.2: Creazione di un bucket e di un utente e aggiunta di una policy di bucket che concede le autorizzazioni utente
<a name="access-policies-walkthrough-cross-account-acl-create-bucket"></a>

1. Nella console di Amazon S3 creare un bucket. Questo esercizio presuppone che il bucket sia stato creato negli Stati Uniti orientali (Virginia settentrionale) Regione AWS e che il nome sia. `amzn-s3-demo-bucket1`

   Per istruzioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

1. Nella [console IAM](https://console.aws.amazon.com/iam/), crea un utente **Dave**. 

   Per step-by-step istruzioni, consulta [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella Guida per l'utente *IAM*. 

1. Osserva le credenziali dell'utente Dave. 

1. Nella console di Amazon S3 collegare la seguente policy del bucket a `amzn-s3-demo-bucket1`. Per istruzioni, consulta [Aggiunta di una policy di bucket utilizzando la console di Amazon S3](add-bucket-policy.md). Seguire le fasi per l'aggiunta di una policy di bucket. Per informazioni su come trovare un account IDs, consulta [Finding your Account AWS ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingYourAccountIdentifiers). 

   La policy concede all'Account B le autorizzazioni `s3:PutObject` e `s3:ListBucket`. La policy concede inoltre all'utente `Dave` l'autorizzazione `s3:GetObject`. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket1"
               ]
           },
           {
               "Sid": "Statement3",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/Dave"
               },
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*"
               ]
           }
       ]
   }
   ```

------

## Fase 2: esecuzione delle attività per l'Account B
<a name="access-policies-walkthrough-cross-account-acl-acctB-tasks"></a>

Ora che l'account B ha le autorizzazioni per eseguire operazioni sul bucket dell'account A, l'amministratore dell'account B esegue le seguenti operazioni:
+ Carica un oggetto nel bucket dell'account A 
+ Aggiunge una concessione nella ACL dell'oggetto per consentire all'account A, proprietario del bucket, il pieno controllo

**Usando il AWS CLI**

1. Con il comando `put-object` AWS CLI , carica un oggetto. Il parametro `--body` nel comando identifica il file di origine da caricare. Ad esempio, se il file si trova sull'unità `C:` di una macchina Windows, specifica `c:\HappyFace.jpg`. Il parametro `--key` fornisce il nome della chiave dell'oggetto. 

   ```
   aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --profile AccountBadmin
   ```

1. Aggiungere un'autorizzazione nell'ACL dell'oggetto per concedere controllo completo dell'oggetto al proprietario del bucket. Per informazioni su come trovare un ID utente canonico, consulta la sezione [Trovare l'ID utente canonico per Account AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) nella *AWS Guida di riferimento per la gestione degli account*.

   ```
   aws s3api put-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --grant-full-control id="AccountA-CanonicalUserID" --profile AccountBadmin
   ```

**Utilizzo degli strumenti per Windows PowerShell**

1. Con il comando `Write-S3Object`, carica un oggetto. 

   ```
   Write-S3Object -BucketName amzn-s3-demo-bucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountBadmin
   ```

1. Aggiungere un'autorizzazione nell'ACL dell'oggetto per concedere controllo completo dell'oggetto al proprietario del bucket.

   ```
   Set-S3ACL -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -CannedACLName "bucket-owner-full-control" -StoredCreden
   ```

## Fase 3: testare le autorizzazioni
<a name="access-policies-walkthrough-cross-account-acl-verify"></a>

A questo punto, verifica se l'utente Dave nell'Account A ha accesso all'oggetto di proprietà dell'Account B.

**Usando il AWS CLI**

1. Aggiungi le credenziali dell'utente Dave al file di AWS CLI configurazione e crea un nuovo profilo,. `UserDaveAccountA` Per ulteriori informazioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDaveAccountA]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Esegui il comando della CLI di `get-object` per scaricare `HappyFace.jpg` e salvarlo in locale. Le credenziali dell'utente Dave vengono fornite aggiungendo il parametro `--profile`.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg Outputfile.jpg --profile UserDaveAccountA
   ```

**Utilizzo degli strumenti per Windows PowerShell**

1. Archivia AWS le credenziali dell'utente Dave, ad esempio`UserDaveAccountA`, nell'archivio persistente. 

   ```
   Set-AWSCredentials -AccessKey UserDave-AccessKey -SecretKey UserDave-SecretAccessKey -storeas UserDaveAccountA
   ```

1. Esegui il comando `Read-S3Object` per scaricare l'oggetto `HappyFace.jpg` e salvarlo in locale. Le credenziali dell'utente Dave vengono fornite aggiungendo il parametro `-StoredCredentials`. 

   ```
   Read-S3Object -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -file HappyFace.jpg  -StoredCredentials UserDaveAccountA
   ```

## Fase 4: pulizia
<a name="access-policies-walkthrough-cross-account-acl-cleanup"></a>

1. Una volta terminato il test, è possibile eseguire le seguenti operazioni di pulizia:

   1. Accedi alla [Console di gestione AWS](https://console.aws.amazon.com/) utilizzando le credenziali dell'Account A e procedere come di seguito:
     + Nella console di Amazon S3 rimuovere la policy del bucket collegata a *amzn-s3-demo-bucket1*. Nelle **Proprietà** del bucket, elimina la policy nella sezione **Autorizzazioni**. 
     + Se il bucket è stato creato per questo esercizio, nella console di Amazon S3 eliminare gli oggetti e quindi il bucket. 
     + Nella [Console IAM](https://console.aws.amazon.com/iam/), rimuovi l'utente **AccountAadmin**. Per step-by-step istruzioni, consulta [Eliminazione di un utente IAM nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*.

1. Accedere alla [Console di gestione AWS](https://console.aws.amazon.com/) tramite le credenziali dell'Account B. Nella [console IAM](https://console.aws.amazon.com/iam/), elimina l'utente **AccountBadmin**.

# Esempio 4 - Proprietario di un bucket che concede un'autorizzazione multi-account agli oggetti di cui non è proprietario
<a name="example-walkthroughs-managing-access-example4"></a>

**Topics**
+ [Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM](#access-policies-walkthrough-example4-overview)
+ [Fase 0: preparazione della procedura guidata](#access-policies-walkthrough-example4-step0)
+ [Fase 1: eseguire le attività per l'Account A](#access-policies-walkthrough-example4-step1)
+ [Fase 2: esecuzione delle attività per l'Account B](#access-policies-walkthrough-example4-step2)
+ [Fase 3: Eseguire le attività dell'Account C](#access-policies-walkthrough-example4-step3)
+ [Fase 4: pulizia](#access-policies-walkthrough-example4-step6)
+ [Risorse correlate](#RelatedResources-managing-access-example4)

 In questo scenario di esempio, possiedi un bucket e hai consentito ad altri Account AWS di caricare oggetti. Se è stata applicata l'impostazione proprietario del bucket applicato per S3 Object Ownership per il bucket, si avrà proprietà di tutti gli oggetti nel bucket, inclusi gli oggetti scritti da un altro Account AWS. Questo approccio risolve il problema che gli oggetti non sono di proprietà dell'utente, il proprietario del bucket. Quindi, puoi delegare le autorizzazioni agli utenti nel tuo account o ad altri Account AWS. Supponiamo che l'impostazione proprietario del bucket applicato per S3 Object Ownership non sia abilitata. In altre parole, il bucket può avere oggetti di proprietà di altri Account AWS . 

Ora, si supponga che, in qualità di proprietario del bucket, si debbano concedere autorizzazioni multiaccount per gli oggetti a un utente di un altro account, indipendentemente dall'utente a cui appartengono. Ad esempio, l'utente potrebbe essere un'applicazione per la fatturazione che deve accedere ai metadata dell'oggetto. Esistono due problemi principali:
+ Il proprietario del bucket non dispone delle autorizzazioni per gli oggetti creati dagli altri Account AWS. Affinché il proprietario del bucket possa concedere autorizzazioni su oggetti che non possiede, il proprietario dell'oggetto deve prima concedere l'autorizzazione al proprietario del bucket. Il proprietario dell'oggetto è Account AWS che ha creato gli oggetti. Il proprietario del bucket può quindi delegare tali autorizzazioni.
+ L'account proprietario del bucket può delegare le autorizzazioni agli utenti del proprio account (consulta [Esempio 3: il proprietario del bucket concede autorizzazioni per gli oggetti che non sono di sua proprietà](example-walkthroughs-managing-access-example3.md)). Tuttavia, l'account proprietario del bucket non può delegare le autorizzazioni ad altri Account AWS perché la delega tra account non è supportata. 

In questo scenario, il proprietario del bucket può creare un ruolo AWS Identity and Access Management (IAM) con l'autorizzazione ad accedere agli oggetti. Quindi, il proprietario del bucket può concedere un'altra Account AWS autorizzazione per assumere il ruolo, consentendogli temporaneamente di accedere agli oggetti nel bucket. 

**Nota**  
S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e ne gestisce l'accesso esclusivamente utilizzando le politiche di gestione degli accessi.  
 La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

## Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM
<a name="access-policies-walkthrough-example4-overview"></a>

 I ruoli IAM consentono diversi scenari per la delega dell'accesso alle risorse. Uno degli scenari principali è l'accesso multiaccount. In questo esempio, il proprietario del bucket, l'Account A, utilizza un ruolo IAM per delegare temporaneamente l'accesso agli oggetti tra account agli utenti di un altro account Account AWS, l'Account C. A ogni ruolo IAM creato sono associate le seguenti due policy:
+ Una policy di fiducia che ne identifica un'altra Account AWS che può assumere il ruolo.
+ Una policy di accesso per la definizione delle autorizzazioni consentite quando qualcuno assume il ruolo, ad esempio `s3:GetObject`. Per un elenco delle autorizzazioni che è possibile specificare in una policy, consulta [Azioni di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).

La Account AWS persona identificata nella politica di fiducia concede quindi all'utente l'autorizzazione ad assumere il ruolo. L'utente può quindi accedere agli oggetti nel modo seguente:
+ Assumere il ruolo e, in risposta, ottenere le credenziali di sicurezza temporanee. 
+ Accedere agli oggetti nel bucket utilizzando le credenziali di sicurezza temporanee.

Per ulteriori informazioni sui ruoli IAM, consulta [Ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*. 

Di seguito è riportato un riepilogo delle fasi della procedura:

![\[Autorizzazioni multi-account utilizzando i ruoli IAM.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/access-policy-ex4.png)


1. L'utente amministratore dell'account A collega una policy di bucket che concede all'Account B un'autorizzazione condizionale per caricare gli oggetti.

1. L'amministratore dell'Account A crea un ruolo IAM per stabilire l'attendibilità con l'Account C, pertanto gli utenti in quell'account possono accedere all'Account A. La policy di accesso collegata al ruolo limita le operazioni consentite all'utente nell'Account C quando accede all'Account A.

1. L'amministratore dell'Account B carica un oggetto nel bucket di proprietà dell'Account A, concedendo al proprietario del bucket un'autorizzazione al controllo completo.

1. L'amministratore dell'account C crea un utente e collega una policy utente che gli consente di assumere il ruolo.

1. L'utente nell'Account C per prima cosa assume il ruolo, che restituisce all'utente credenziali di sicurezza temporanee. Mediante tali credenziali temporanee, l'utente accede quindi agli oggetti nel bucket.

Per questo esempio sono necessari tre account. La tabella seguente mostra come viene fatto riferimento a questi account e agli utenti amministratori degli account: In conformità con le linee guida IAM (consulta [Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni](example-walkthroughs-managing-access.md#about-using-root-credentials)), in questa guida non utilizzeremo le credenziali Utente root dell'account AWS . Viene invece creato un utente amministratore in ciascun account e le credenziali vengono utilizzate per la creazione di risorse e per concedere autorizzazioni a tali risorse.


| Account AWS ID | Account denominato | Utente amministratore nell'account  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Account A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Account B  |  AccountBadmin  | 
|  *3333-3333-3333*  |  Account C  |  AccountCadmin  | 



## Fase 0: preparazione della procedura guidata
<a name="access-policies-walkthrough-example4-step0"></a>

**Nota**  
Si consiglia di aprire un editor di testo e di annotare alcune informazioni man mano che si procede. In particolare, avrai bisogno di account IDs, utente canonico IDs, accesso utente IAM URLs per ogni account per connettersi alla console e Amazon Resource Names (ARNs) degli utenti e dei ruoli IAM. 

1. Assicurati di averne tre Account AWS e che ogni account abbia un utente amministratore, come mostrato nella tabella nella sezione precedente.

   1. Iscriviti a Account AWS, se necessario. Si fa riferimento a questi account come Account A, Account B e Account C.

   1. Utilizzando le credenziali dell'Account A, accedere alla [console IAM](https://console.aws.amazon.com/iam/home?#home) ed effettuare quanto segue per creare un utente amministratore:
      + Crea l'utente **AccountAadmin** e prendi nota delle sue credenziali di sicurezza. Per ulteriori informazioni sull'aggiunta di utenti, consulta [Creazione di un utente IAM nell' Account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nella *Guida per l'utente di IAM*. 
      + Concedi i privilegi di amministratore **AccountAadmin**allegando una politica utente che dia accesso completo. Per istruzioni, consulta [Gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) nella *Guida all'utente IAM*. 
      + Nella **Dashboard** della Console IAM, annota l'**URL di accesso dell'utente IAM**. Gli utenti di questo account devono utilizzare questo URL per accedere alla Console di gestione AWS. Per ulteriori informazioni, consulta [Accedere Console di gestione AWS come utente IAM nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) *IAM*. 

   1. Ripetere la fase precedente per creare utenti amministratore nell'Account B e nell'Account C.

1. Per l'account C, annota l'ID utente canonico. 

   Quando si crea un ruolo IAM nell'Account A, la policy di attendibilità concede all'Account C l'autorizzazione per assumere il ruolo mediante la specifica dell'ID account. È possibile trovare informazioni sull'account come indicato di seguito:

   1. Usa il tuo Account AWS ID o alias dell'account, il tuo nome utente IAM e la password per accedere alla console [Amazon S3](https://console.aws.amazon.com/s3/).

   1. Scegliere il nome di un bucket Amazon S3 per visualizzare i relativi dettagli.

   1. Selezionare la scheda **Permissions (Autorizzazioni)** e selezionare **Access Control List (Lista di controllo accessi)**. 

   1. Nella sezione **Accesso per il tuo Account AWS**, nella colonna **Account** è presente un identificatore lungo, come `c1daexampleaaf850ea79cf0430f33d72579fd1611c97f7ded193374c0b163b6`. Questo è il tuo ID utente canonico.

1. Quando si crea una policy di bucket, è necessario disporre delle informazioni seguenti. Osserva questi valori:
   + **ID utente canonico dell'Account A** – Quando l'amministratore dell'Account A concede all'amministratore dell'Account B l'autorizzazione condizionale per il caricamento degli oggetti, la condizione specifica l'ID utente canonico dell'utente dell'Account A che deve ottenere controllo completo degli oggetti. 
**Nota**  
L'ID utente canonico è un concetto esclusivo di Amazon S3. Si tratta di una versione offuscata dell'ID account, composta da 64 caratteri. 
   + **ARN dell'utente per l'amministratore dell'account B** - È possibile trovare l'ARN dell'utente nella [Console IAM](https://console.aws.amazon.com/iam/). È necessario selezionare l'utente e trovare l'ARN dell'utente nella scheda **Riepilogo**.

     Nella policy del bucket, si concede a `AccountBadmin` l'autorizzazione a caricare oggetti e si specifica l'utente utilizzando l'ARN. Ecco un esempio di valore ARN:

     ```
     arn:aws:iam::AccountB-ID:user/AccountBadmin
     ```

1. Configura la AWS Command Line Interface (CLI) o la. AWS Tools for Windows PowerShell Assicurati di salvare le credenziali dell'utente amministratore come segue:
   + Se usi il AWS CLI, crea profili `AccountAadmin` e`AccountBadmin`, nel file di configurazione.
   + Se utilizzi il AWS Tools for Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come e`AccountAadmin`. `AccountBadmin`

   Per istruzioni, consulta [Impostazione degli strumenti per le visite guidate](policy-eval-walkthrough-download-awscli.md).

## Fase 1: eseguire le attività per l'Account A
<a name="access-policies-walkthrough-example4-step1"></a>

In questo esempio, l'Account A è il proprietario del bucket. Quindi l'utente dell'Account AccountAadmin A farà quanto segue: 
+ Creare un bucket.
+ Allega una policy del bucket che conceda all'amministratore dell'account B l'autorizzazione a caricare oggetti.
+ Crea un ruolo IAM che conceda all'account C l'autorizzazione ad assumere il ruolo in modo da poter accedere agli oggetti del bucket.

### Passaggio 1.1: accedi a Console di gestione AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example4"></a>

Utilizzando l'URL di accesso dell'utente IAM per l'account A, accedi prima all'account Console di gestione AWS come **AccountAadmin** utente. Questo utente creerà un bucket e vi allegherà una policy. 

### Fase 1.2: creare un bucket e allegarlo alla policy di bucket
<a name="access-policies-walkthrough-example2d-step1-1"></a>

Nella console di Amazon S3 effettuare quanto segue:

1. Creare un bucket. In questo esercizio si presume che il nome del bucket sia `amzn-s3-demo-bucket1`.

   Per istruzioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

1. Allega la seguente policy del bucket. La policy concede all'amministratore dell'account B l'autorizzazione condizionata a caricare gli oggetti.

   Aggiorna la policy fornendo valori personalizzati per `amzn-s3-demo-bucket1`, `AccountB-ID`, e `CanonicalUserId-of-AWSaccountA-BucketOwner`. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "111",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
           },
           {
               "Sid": "112",
               "Effect": "Deny",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
               "Condition": {
                   "StringNotEquals": {
                       "s3:x-amz-grant-full-control": "id=CanonicalUserId-of-AWSaccountA-BucketOwner"
                   }
               }
           }
       ]
   }
   ```

------

### Fase 1.3: Creare un ruolo IAM per consentire all'account C l'accesso multi-account all'account A
<a name="access-policies-walkthrough-example2d-step1-2"></a>

Nella [Console IAM](https://console.aws.amazon.com/iam/), crea un ruolo IAM (**examplerole**) che conceda all'account C l'autorizzazione ad assumere il ruolo. Assicurati di aver effettuato l'accesso come amministratore dell'account A, poiché il ruolo deve essere creato nell'account A.

1. Prima di creare il ruolo, preparare la policy gestita che definisce le autorizzazioni richieste dal ruolo. La policy verrà collegata al ruolo in una fase successiva.

   1. Nel riquadro di navigazione a sinistra, seleziona **Policy** e poi **Crea policy**.

   1. Accanto a **Create Your Own Policy** (Crea la tua policy) scegli **Select** (Seleziona).

   1. Immettere **access-accountA-bucket** nel campo **Policy Name (Nome policy)**.

   1. Copiare la seguente policy di accesso e incollarla nel campo **Policy Document (Documento policy)**. La policy di accesso concede l'autorizzazione al ruolo `s3:GetObject`, quindi, quando l'utente Account C assume il ruolo, può eseguire solo l'operazione `s3:GetObject`.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
          }
        ]
      }
      ```

------

   1. Scegli **Crea policy**.

      La nuova policy viene inserita nell'elenco delle policy gestite.

1. Nel riquadro di navigazione a sinistra, scegli **Ruoli** e quindi **Crea nuovo ruolo**.

1. In **Seleziona il tipo di ruolo**, seleziona **Ruolo per l'accesso su più account**, quindi scegli il pulsante **Seleziona** accanto a **Fornisci l'accesso tra i Account AWS tuoi** utenti.

1. Immettere l'ID account dell'Account C.

   Per questa guida, non è necessario richiedere agli utenti l'autenticazione a più fattori (MFA) per assumere il ruolo, quindi lasciare l'opzione deselezionata.

1. Scegli **Fase successiva** per impostare le autorizzazioni associate al ruolo.

1. 

   Seleziona la casella di controllo accanto alla policy **access-accountA-bucket** creata, quindi scegli **Fase successiva**.

   Viene visualizzata la pagina Review (Revisione) che consente di confermare le impostazioni per il ruolo prima che venga creato. Questa pagina contiene una voce molto importante, ossia il collegamento che è possibile inviare agli utenti che hanno necessità di utilizzare questo ruolo. Gli utenti che utilizzano il link accedono direttamente alla pagina **Cambia ruolo** con i campi ID account e Nome ruolo già compilati. Questo link è visibile anche in seguito nella pagina di **riepilogo dei ruoli** per qualsiasi multi-account.

1. Immetti `examplerole` per il nome del ruolo, quindi scegli **Fase successiva**.

1. Dopo aver esaminato il ruolo, scegli **Crea ruolo**.

   Il ruolo `examplerole` viene visualizzato nell'elenco dei ruoli.

1. Scegli il nome del ruolo `examplerole`.

1. Selezionare la scheda **Trust Relationships (Relazioni di trust)**.

1. Scegli **Mostra documento della policy** e verifica che la policy di attendibilità mostrata corrisponda alla policy seguente.

   Le seguente policy di attendibilità stabilisce l'attendibilità con l'Account C, consentendogli di eseguire l'operazione `sts:AssumeRole`. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) nella *documentazione di riferimento dell’API AWS Security Token Service *.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Osserva il nome della risorsa Amazon (ARN) del ruolo `examplerole` creato. 

   Nelle fasi successive verrà illustrato come allegare una policy utente per consentire all'utente IAM di assumere questo ruolo e come identificare il ruolo mediante il valore ARN. 

## Fase 2: esecuzione delle attività per l'Account B
<a name="access-policies-walkthrough-example4-step2"></a>

Il bucket di esempio di proprietà dell'Account A necessita di oggetti di proprietà di altri account. In questa fase, l'amministratore dell'Account B carica un oggetto mediante gli strumenti a riga di comando.
+ Utilizzando il `put-object` AWS CLI comando, carica un oggetto su. `amzn-s3-demo-bucket1` 

  ```
  aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --grant-full-control id="canonicalUserId-ofTheBucketOwner" --profile AccountBadmin
  ```

  Tenere presente quanto segue:
  + Il parametro `--Profile` specifica il profilo `AccountBadmin`, quindi l'oggetto è di proprietà dell'account B.
  + Il parametro `grant-full-control` concede al proprietario del bucket l'autorizzazione al controllo completo sull'oggetto, come richiesto dalla policy di bucket.
  + Il parametro `--body` identifica il file di origine da caricare. Ad esempio, se il file si trova nell'unità C: di un computer Windows, si specifica `c:\HappyFace.jpg`. 

## Fase 3: Eseguire le attività dell'Account C
<a name="access-policies-walkthrough-example4-step3"></a>

Nei passaggi precedenti, l'account A ha già creato un ruolo, `examplerole`, che stabilisce un rapporto di attendibilità con l'account C. Questo ruolo consente agli utenti dell'account C di accedere all'account A. In questo passaggio, l'amministratore dell'account C crea un utente (Dave) e gli delega il permesso `sts:AssumeRole` ricevuto dall'account A. Questo approccio consente a Dave di assumere il ruolo `examplerole` e di ottenere temporaneamente l'accesso all'account A. La policy di accesso che l'account A ha collegato al ruolo limita ciò che Dave può fare quando accede all'account A, in particolare ottenere oggetti in `amzn-s3-demo-bucket1`.

### Fase 3.1: Creare un utente nel conto C e delegare l'autorizzazione ad assumere examplerole
<a name="cross-acct-access-using-role-step3-1"></a>

1. Utilizzando l'URL di accesso utente IAM per l'account C, accedi prima all'**AccountCadmin**utente Console di gestione AWS as. 

   

1. Nella [console IAM](https://console.aws.amazon.com/iam/), crea un utente, Dave. 

   Per step-by-step istruzioni, consulta [Creating IAM users (Console di gestione AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *IAM User Guide*. 

1. Annota le credenziali di Dave. Dave dovrà utilizzare queste credenziali per assumere il ruolo `examplerole`.

1. Crea una policy in linea per l'utente IAM Dave per delegare a Dave l'autorizzazione `sts:AssumeRole` sul ruolo `examplerole` nell'account A. 

   1. Nel riquadro di navigazione sinistro, scegli **Utenti**.

   1. Scegli il nome utente **Dave**.

   1. Nella pagina dei dettagli dell'utente, selezionare la scheda **Permissions (Autorizzazioni)**, quindi espandere la sezione **Inline Policies (Policy inline)**.

   1. Scegliere **click here (fai clic qui)** oppure **Create User Policy (Crea policy di utente)**.

   1. Scegliere **Custom Policy (Policy personalizzata)** quindi **Select (Seleziona)**.

   1. Immettere un nome per la policy nel campo **Policy Name (Nome policy)**.

   1. Copiare la seguente policy nel campo **Policy Document (Documento policy)**.

      È necessario aggiornare la policy fornendo `AccountA-ID`.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole"
                  ],
                  "Resource": "arn:aws:iam::111122223333:role/examplerole"
              }
          ]
      }
      ```

------

   1. Scegli **Apply Policy** (Applica policy).

1. Salva le credenziali di Dave nel file di configurazione di AWS CLI aggiungendo un altro profilo,. `AccountCDave`

   ```
   [profile AccountCDave]
   aws_access_key_id = UserDaveAccessKeyID
   aws_secret_access_key = UserDaveSecretAccessKey
   region = us-west-2
   ```

### Fase 3.2: Assumere il ruolo (examplerole) e accedere agli oggetti
<a name="cross-acct-access-using-role-step3-2"></a>

Ora Dave può accedere agli oggetti nel bucket di proprietà dell'Account A nel modo seguente:
+ Per prima cosa, Dave assume il ruolo `examplerole` utilizzando le sue credenziali personali. Questa operazione restituirà le credenziali temporanee.
+ Dave utilizzerà le credenziali temporanee per accedere agli oggetti nel bucket dell'Account A.

1. Al prompt dei comandi, esegui il AWS CLI `assume-role` comando seguente utilizzando il profilo. `AccountCDave` 

   È necessario aggiornare il valore ARN nel comando fornendo l'`AccountA-ID` dove è definito `examplerole`.

   ```
   aws sts assume-role --role-arn arn:aws:iam::AccountA-ID:role/examplerole --profile AccountCDave --role-session-name test
   ```

   In risposta, AWS Security Token Service (AWS STS) restituisce credenziali di sicurezza temporanee (ID della chiave di accesso, chiave di accesso segreta e un token di sessione).

1. Salva le credenziali di sicurezza temporanee nel file di AWS CLI configurazione sotto il profilo. `TempCred`

   ```
   [profile TempCred]
   aws_access_key_id = temp-access-key-ID
   aws_secret_access_key = temp-secret-access-key
   aws_session_token = session-token
   region = us-west-2
   ```

1. Al prompt dei comandi, esegui il AWS CLI comando seguente per accedere agli oggetti utilizzando le credenziali temporanee. Ad esempio, il comando specifica l'API head-object per recuperare i metadata dell'oggetto per l'oggetto `HappyFace.jpg`.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg SaveFileAs.jpg --profile TempCred
   ```

   Dal momento che la policy di accesso collegata a `examplerole` consente l'esecuzione delle operazioni, Amazon S3 elabora la richiesta. È possibile provare ad eseguire un'altra operazione su qualsiasi altro oggetto nel bucket.

   Se si tenta un'altra azione, ad esempio `get-object-acl`, l'autorizzazione sarà negata perché il ruolo non è autorizzato a eseguire tale azione.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --profile TempCred
   ```

   È stato utilizzato l'utente Dave per assumere il ruolo e accedere all'oggetto mediante le credenziali temporanee. L'accesso agli oggetti in `amzn-s3-demo-bucket1` può essere effettuato anche da un'applicazione nell'Account C. L'applicazione può ottenere credenziali di sicurezza temporanee e l'Account C può delegare all'applicazione le autorizzazioni per assumere `examplerole`.

## Fase 4: pulizia
<a name="access-policies-walkthrough-example4-step6"></a>

1. Una volta terminato il test, è possibile eseguire le seguenti operazioni di pulizia:

   1. Accedi alla [Console di gestione AWS](https://console.aws.amazon.com/) utilizzando le credenziali dell'Account A e procedere come di seguito:
     + Nella console di Amazon S3 rimuovere la policy del bucket collegata a `amzn-s3-demo-bucket1`. Nelle **Proprietà** del bucket, elimina la policy nella sezione **Autorizzazioni**. 
     + Se il bucket è stato creato per questo esercizio, nella console di Amazon S3 eliminare gli oggetti e quindi il bucket. 
     + Nella [console IAM](https://console.aws.amazon.com/iam/), rimuovi l'account `examplerole` che hai creato nell'account A. Per step-by-step istruzioni, consulta [Eliminazione di un utente IAM nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*. 
     + Nella [Console IAM](https://console.aws.amazon.com/iam/), rimuovi l'utente **AccountAadmin**.

1. Accedi alla [Console IAM](https://console.aws.amazon.com/iam/) utilizzando le credenziali dell'account B. Elimina l'utente **AccountBadmin**. 

1. Accedi alla [Console IAM](https://console.aws.amazon.com/iam/) utilizzando le credenziali dell'Account C. Elimina **AccountCadmin**e l'utente Dave.

## Risorse correlate
<a name="RelatedResources-managing-access-example4"></a>

Per ulteriori informazioni relative a questa guida, consulta le seguenti risorse nella *Guida all'utente IAM*:
+ [Creazione di un ruolo per delegare le autorizzazioni a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)
+ [Tutorial: delega l'accesso Account AWS tramite i ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial-cross-account-with-roles.html)
+ [Gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)

# Utilizzo dei ruoli collegati ai servizi per Amazon S3 Storage Lens
<a name="using-service-linked-roles"></a>

Per utilizzare Amazon S3 Storage Lens per raccogliere e aggregare i parametri su tutti i tuoi account AWS Organizations, devi innanzitutto assicurarti che per S3 Storage Lens sia abilitato l'accesso attendibile all'account di gestione della tua organizzazione. S3 Storage Lens crea un ruolo collegato al servizio (SLR) per consentirgli di ottenere l'elenco di appartenenza alla tua organizzazione. Account AWS Questo elenco di account viene utilizzato da S3 Storage Lens per raccogliere i parametri delle risorse S3 in tutti gli account membri quando il pannello di controllo o le configurazioni dello Storage Lens S3 vengono create o aggiornate.

Amazon S3 Storage Lens utilizza ruoli collegati ai [servizi AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un ruolo collegato ai servizi è un tipo univoco di ruolo IAM collegato direttamente a S3 Storage Lens. I ruoli collegati ai servizi sono predefiniti da S3 Storage Lens e includono tutte le autorizzazioni richieste dal servizio per chiamare altri utenti per tuo conto. Servizi AWS 

Un ruolo collegato ai servizi semplifica la configurazione di S3 Storage Lens perché ti permette di evitare l'aggiunta manuale delle autorizzazioni necessarie. S3 Storage Lens definisce le autorizzazioni dei relativi ruoli associati ai servizi e, salvo diversamente definito, solo S3 Storage Lens potrà assumere i propri ruoli. Le autorizzazioni definite includono la policy di attendibilità e la policy delle autorizzazioni che non può essere collegata a nessun'altra entità IAM.

È possibile eliminare il ruolo collegato ai servizi solo dopo avere eliminato le risorse correlate. Questa procedura protegge le risorse di S3 Storage Lens perché impedisce la rimozione involontaria delle autorizzazioni di accesso alle risorse.

Per informazioni sugli altri servizi che supportano i ruoli collegati ai servizi, consulta [Servizi AWS che funzionano con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) e cerca i servizi che riportano **Yes** (Sì) nella colonna **Service-linked roles** (Ruoli collegati ai servizi). Scegli un link **Yes** (Sì) per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.

## Autorizzazioni di ruolo collegate ai servizi per Amazon S3 Storage Lens
<a name="slr-permissions"></a>

S3 Storage Lens utilizza il ruolo collegato ai servizi denominato **AWSServiceRoleForS3, che consente l'accesso ai AWS servizi e alle StorageLens risorse utilizzati o gestiti da S3** Storage Lens. Ciò consente a S3 Storage Lens di accedere alle risorse per tuo conto. AWS Organizations 

Il ruolo collegato ai servizi S3 Storage Lens considera attendibile il seguente servizio nello storage dell'organizzazione:
+ `storage-lens.s3.amazonaws.com`

La policy delle autorizzazioni del ruolo consente a S3 Storage Lens di eseguire le seguenti operazioni:
+ `organizations:DescribeOrganization`

  `organizations:ListAccounts`

  `organizations:ListAWSServiceAccessForOrganization`

  `organizations:ListDelegatedAdministrators`

Per consentire a un'entità IAM (come un utente, un gruppo o un ruolo) di creare, modificare o eliminare un ruolo collegato ai servizi devi configurare le relative autorizzazioni. Per ulteriori informazioni, consulta [Autorizzazioni del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) nella *Guida per l'utente di IAM*.

## Creazione di un ruolo collegato ai servizi per S3 Storage Lens
<a name="create-slr"></a>

Non devi creare manualmente un ruolo collegato ai servizi. Quando completi una delle seguenti attività mentre sei connesso agli account di AWS Organizations gestione o amministratore delegato, S3 Storage Lens crea automaticamente il ruolo collegato al servizio:
+ Crea una configurazione del pannello di controllo S3 Storage Lens per la tua organizzazione nella console di Amazon S3.
+ `PUT`una configurazione S3 Storage Lens per la tua organizzazione che utilizza l'API REST e. AWS CLI SDKs

**Nota**  
S3 Storage Lens supporterà un massimo di cinque amministratori delegati per organizzazione.

Se si elimina questo ruolo collegato ai servizi, le azioni precedenti lo ricreeranno all'occorrenza.

### Esempio di policy per il ruolo collegato ai servizi S3 Storage Lens
<a name="slr-sample-policy"></a>

**Example Policy di autorizzazione per il ruolo collegato ai servizi S3 Storage Lens**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AwsOrgsAccess",
            "Effect": "Allow",
            "Action": [
                "organizations:DescribeOrganization",
                "organizations:ListAccounts",
                "organizations:ListAWSServiceAccessForOrganization",
                "organizations:ListDelegatedAdministrators"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

## Modifica di un ruolo collegato ai servizi per Amazon S3 Storage Lens
<a name="edit-slr"></a>

S3 Storage Lens non consente di modificare il ruolo collegato al servizio AWSServiceRoleForS3StorageLens. Dopo aver creato un ruolo collegato al servizio, non è possibile modificarne il nome, perché potrebbero farvi riferimento diverse entità. È possibile tuttavia modificarne la descrizione utilizzando IAM. Per ulteriori informazioni, consulta [Modifica di un ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) nella *Guida per l'utente di IAM*.

## Eliminazione di un ruolo collegato ai servizi per Amazon S3 Storage Lens
<a name="delete-slr"></a>

Se non devi più utilizzare il ruolo collegato ai servizi, è consigliabile eliminarlo. In questo modo non sarà più presente un'entità non utilizzata che non viene monitorata e gestita attivamente. Tuttavia, è necessario effettuare la pulizia delle risorse associate al ruolo collegato ai servizi prima di poterlo eliminare manualmente.

**Nota**  
Se il servizio Amazon S3 Storage Lens utilizza tale ruolo quando tenti di eliminare le risorse, è possibile che l'eliminazione non abbia esito positivo. In questo caso, attendi alcuni minuti e quindi ripeti l'operazione.

Per eliminare la, AWSServiceRoleForS3StorageLens è necessario eliminare tutte le configurazioni di S3 Storage Lens a livello di organizzazione presenti in tutte Regioni AWS utilizzando gli account di AWS Organizations gestione o amministratore delegato.

Le risorse sono configurazioni S3 Storage Lens a livello di organizzazione. Usa S3 Storage Lens per pulire le risorse, quindi utilizza la [console IAM](https://console.aws.amazon.com/iam/), la CLI, l'API REST AWS o l'SDK per eliminare il ruolo. 

Nell'API REST e SDKs S3 Storage Lens è possibile scoprire le configurazioni di S3 Storage Lens `ListStorageLensConfigurations` in tutte le regioni in cui l'organizzazione ha creato configurazioni S3 Storage Lens. AWS CLI Utilizza l'azione `DeleteStorageLensConfiguration` per eliminare queste configurazioni in modo che sia possibile eliminare il ruolo.

**Nota**  
Per eliminare il ruolo collegato ai servizi, è necessario eliminare tutte le configurazioni S3 Storage Lens a livello di organizzazione in tutte le regioni in cui esistono.

**Per eliminare le risorse di Amazon S3 Storage Lens utilizzate dalla SLR AWSServiceRoleForS3StorageLens**

1. Per ottenere un elenco delle configurazioni a livello di organizzazione, è necessario utilizzare `ListStorageLensConfigurations` in ogni Regione in cui sono presenti configurazioni di S3 Storage Lens. Questo elenco può essere ottenuto anche dalla console Amazon S3.

1. Eliminare queste configurazioni dagli endpoint regionali appropriati invocando la chiamata API `DeleteStorageLensConfiguration` o utilizzando la console Amazon S3. 

**Per eliminare manualmente il ruolo collegato ai servizi mediante IAM**

Dopo aver eliminato le configurazioni, elimina la AWSServiceRoleForS3StorageLens reflex dalla [console IAM o richiamando l'API `DeleteServiceLinkedRole` IAM](https://console.aws.amazon.com/iam/) o utilizzando l'SDK o. AWS CLI AWS Per ulteriori informazioni, consulta [Eliminazione del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) nella *Guida per l'utente IAM*.

## Regioni supportate per i ruoli collegati ai servizi S3 Storage Lens
<a name="slr-regions"></a>

S3 Storage Lens supporta l'utilizzo di ruoli collegati al servizio in tutti i luoghi in cui il servizio è disponibile. Regioni AWS Per ulteriori informazioni, consulta la sezione [Regioni ed endpoint di Amazon S3](https://docs.aws.amazon.com/general/latest/gr/s3.html).

# Risoluzione dei problemi di identità e accesso ad Amazon S3
<a name="security_iam_troubleshoot"></a>

Utilizza le seguenti informazioni per aiutarti a diagnosticare e risolvere i problemi comuni che potresti incontrare quando lavori con Amazon S3 e IAM.

**Topics**
+ [Errore di accesso negato ricevuto](#access_denied_403)
+ [Non sono autorizzato a eseguire un'azione in Amazon S3](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Voglio consentire a persone esterne a me di accedere Account AWS alle mie risorse Amazon S3](#security_iam_troubleshoot-cross-account-access)
+ [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md)

## Errore di accesso negato ricevuto
<a name="access_denied_403"></a>

Verifica che non ci sia un'istruzione esplicita `Deny` contro il richiedente a cui si sta cercando di concedere le autorizzazioni nella policy di bucket o nella policy basata sull'identità. 

Per informazioni dettagliate sulla risoluzione dei problemi relativi agli errori di accesso negato, consulta [Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3](troubleshoot-403-errors.md).

## Non sono autorizzato a eseguire un'azione in Amazon S3
<a name="security_iam_troubleshoot-no-permissions"></a>

Se ricevi un errore che indica che non sei autorizzato a eseguire un’operazione, le tue policy devono essere aggiornate per poter eseguire l’operazione.

L’errore di esempio seguente si verifica quando l’utente IAM `mateojackson` prova a utilizzare la console per visualizzare i dettagli relativi a una risorsa `my-example-widget` fittizia ma non dispone di autorizzazioni `s3:GetWidget` fittizie.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: s3:GetWidget on resource: my-example-widget
```

In questo caso, la policy per l’utente `mateojackson` deve essere aggiornata per consentire l’accesso alla risorsa `my-example-widget` utilizzando l’azione `s3:GetWidget`.

Se hai bisogno di aiuto, contatta il tuo amministratore. AWS L’amministratore è la persona che ti ha fornito le credenziali di accesso.

## Non sono autorizzato a eseguire iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se si riceve un errore che indica che non si è autorizzati a eseguire l'azione `iam:PassRole`, è necessario aggiornare le policy per consentire di passare un ruolo ad Amazon S3.

Alcuni Servizi AWS consentono di passare un ruolo esistente a quel servizio invece di creare un nuovo ruolo di servizio o un ruolo collegato al servizio. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per trasmettere il ruolo al servizio.

Il seguente esempio di errore si verifica quando un utente IAM di nome `marymajor` tenta di utilizzare la console per eseguire un'azione in Amazon S3. Tuttavia, l’azione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone delle autorizzazioni per trasmettere il ruolo al servizio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In questo caso, le policy di Mary devono essere aggiornate per poter eseguire l’operazione `iam:PassRole`.

Se hai bisogno di aiuto, contatta il tuo AWS amministratore. L’amministratore è la persona che ti ha fornito le credenziali di accesso.

## Voglio consentire a persone esterne a me di accedere Account AWS alle mie risorse Amazon S3
<a name="security_iam_troubleshoot-cross-account-access"></a>

È possibile creare un ruolo con il quale utenti in altri account o persone esterne all’organizzazione possono accedere alle tue risorse. È possibile specificare chi è attendibile per l’assunzione del ruolo. Per i servizi che supportano politiche basate sulle risorse o liste di controllo degli accessi (ACLs), puoi utilizzare tali politiche per consentire alle persone di accedere alle tue risorse.

Per maggiori informazioni, consulta gli argomenti seguenti:
+ Per sapere se Amazon S3 supporta queste funzioni, consulta [Come funziona Amazon S3 con IAM](security_iam_service-with-iam.md).
+ Per scoprire come fornire l'accesso alle risorse di tua proprietà, consulta [Fornire l'accesso a un utente IAM in Account AWS un altro Account AWS di tua proprietà nella](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) *IAM* User Guide.
+ Per scoprire come fornire l'accesso alle tue risorse a terze parti Account AWS, consulta [Fornire l'accesso a soggetti Account AWS di proprietà di terze parti](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) nella *Guida per l'utente IAM*.
+ Per informazioni su come fornire l'accesso tramite la federazione delle identità, consulta [Fornire l'accesso a utenti autenticati esternamente (federazione delle identità)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) nella *Guida per l'utente IAM*.
+ Per informazioni sulle differenze di utilizzo tra ruoli e policy basate su risorse per l’accesso multi-account, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente di IAM*.

# Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3
<a name="troubleshoot-403-errors"></a>

Gli errori di accesso negato (HTTP`403 Forbidden`) compaiono quando si nega in AWS modo esplicito o implicito una richiesta di autorizzazione. 
+ Un *rifiuto esplicito* si verifica quando una politica contiene una `Deny` dichiarazione per l'azione specifica. AWS 
+ Un *diniego implicito* si verifica quando non è presente un'istruzione `Deny` applicabile e non è presente neppure un'istruzione `Allow` applicabile. 

Poiché una policy AWS Identity and Access Management (IAM) nega implicitamente un principio IAM per impostazione predefinita, la policy deve consentire esplicitamente al principale di eseguire un'azione. In caso contrario, la policy nega implicitamente l'accesso. Per ulteriori informazioni, consulta la sezione [Differenza tra rifiuti espliciti e impliciti](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay) nella *Guida all'utente IAM*. Per informazioni sulla logica di valutazione delle policy che determina se una richiesta di accesso è consentita o negata, consulta [Logica di valutazione delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) nella *Guida all'utente IAM*. 

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

I seguenti argomenti trattano le cause più comuni degli errori di accesso negato in Amazon S3.

**Nota**  
Per gli errori di accesso negato (HTTP`403 Forbidden`), Amazon S3 non addebita alcun costo al proprietario del bucket quando la richiesta viene avviata al di fuori dell' AWS account individuale del proprietario del bucket o dell'organizzazione del proprietario del bucket. AWS 

**Topics**
+ [Esempi di messaggi di accesso negato e di risoluzione dei problemi](#access-denied-message-examples)
+ [Accesso negato a causa delle impostazioni Pagamento a carico del richiedente](#access-denied-requester-pays)
+ [Policy di bucket e policy IAM](#bucket-iam-policies)
+ [Impostazioni ACL di Amazon S3](#troubleshoot-403-acl-settings)
+ [Impostazioni dell'opzione S3 Blocco dell'accesso pubblico](#troubleshoot-403-bpa)
+ [Impostazioni della crittografia Amazon S3](#troubleshoot-403-encryption)
+ [Impostazioni dell'opzione S3 Blocco oggetti](#troubleshoot-403-object-lock)
+ [Policy di endpoint VPC](#troubleshoot-403-vpc)
+ [AWS Organizations politiche](#troubleshoot-403-orgs)
+ [CloudFront accesso alla distribuzione](#troubleshoot-403-cloudfront)
+ [Impostazioni del punto di accesso](#troubleshoot-403-access-points)
+ [Risorse aggiuntive](#troubleshoot-403-additional-resources)

**Nota**  
Se si sta cercando di risolvere un problema di permessi, inizia dalla sezione [Esempi di messaggi di accesso negato e di risoluzione dei problemi](#access-denied-message-examples), quindi passa alla sezione [Policy di bucket e policy IAM](#bucket-iam-policies). Assicurati inoltre di seguire le indicazioni contenute in [Suggerimenti per la verifica delle autorizzazioni](#troubleshoot-403-tips).

## Esempi di messaggi di accesso negato e di risoluzione dei problemi
<a name="access-denied-message-examples"></a>

Amazon S3 ora include un contesto aggiuntivo negli errori di accesso negato (HTTP`403 Forbidden`) per le richieste effettuate a risorse all'interno della stessa Account AWS o della stessa organizzazione in. AWS Organizations Questo nuovo contesto include il tipo di policy che ha negato l'accesso, il motivo del rifiuto e le informazioni sull'utente o sul ruolo IAM che ha richiesto l'accesso alla risorsa. 

Questo contesto aggiuntivo aiuta a risolvere i problemi di accesso, a identificare la causa principale degli errori di accesso negato e a correggere i controlli di accesso errati aggiornando le policy pertinenti. Questo contesto aggiuntivo è disponibile anche nei AWS CloudTrail log. I messaggi di errore di accesso negato avanzato per le richieste relative allo stesso account o alla stessa organizzazione sono ora disponibili in tutte le regioni Regioni AWS, incluse quelle AWS GovCloud (US) Regions della Cina. 

Per la maggior parte, i messaggi di errore di accesso negato sono visualizzati nel formato `User user-arn is not authorized to perform action on "resource-arn" because context`. In questo esempio, *`user-arn`* è il [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) dell’utente che non riceve l’accesso, *`action`* è l’azione del servizio che la policy nega e *`resource-arn`* è l’ARN della risorsa su cui agisce la policy. Il campo *`context`* rappresenta un contesto aggiuntivo sul tipo di policy che spiega perché la policy ha negato l'accesso.

Quando una policy nega esplicitamente l'accesso perché contiene un'istruzione `Deny`, il messaggio di errore di accesso negato include la frase `with an explicit deny in a type policy`. Quando la policy nega implicitamente l'accesso, il messaggio di errore di accesso negato include la frase `because no type policy allows the action action`.

**Importante**  
I messaggi di accesso negato avanzati vengono restituiti solo per le richieste dello stesso account o per le richieste all’interno della stessa organizzazione in AWS Organizations. Le richieste multi-account esterne alla stessa organizzazione restituiscono il messaggio generico `Access Denied`.   
Per informazioni sulla logica di valutazione delle policy che determina se una richiesta di accesso multi-account è consentita o negata, consulta [Logica di valutazione delle policy di accesso a più account](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) nella *Guida all'utente IAM*. Per una guida che mostra come concedere l'accesso multi-account, consulta [Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multiaccount](example-walkthroughs-managing-access-example2.md). 
Per le richieste all’interno della stessa organizzazione in AWS Organizations:  
I messaggi di accesso negato avanzati non vengono restituiti se la negazione si verifica a causa di una policy dell’endpoint del cloud privato virtuale (VPC).
I messaggi di accesso negato avanzati vengono forniti ogni volta che sia il proprietario del bucket sia l’account chiamante appartengono alla stessa organizzazione in AWS Organizations. Sebbene i bucket configurati con le impostazioni **Proprietario del bucket preferito** o **Autore dell’oggetto** di Proprietà dell’oggetto S3 possano contenere oggetti di proprietà di account diversi, la proprietà degli oggetti non influisce sui messaggi di accesso negato avanzati. I messaggi di accesso negato avanzati vengono restituiti per tutte le richieste di oggetti purché il proprietario del bucket e il chiamante si trovino nella stessa organizzazione, indipendentemente dal proprietario dell’oggetto specifico. Per informazioni sulle impostazioni e le configurazioni di Proprietà dell’oggetto, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).
I messaggi di errore di accesso negato non vengono restituiti per le richieste effettuate ai bucket di directory. Le richieste di directory bucket restituiscono un messaggio generico `Access Denied`.
Se più policy dello stesso tipo negano una richiesta di autorizzazione, il messaggio di errore Accesso negato non specifica il numero di policy.
Se più tipi di policy negano una richiesta di autorizzazione, il messaggio di errore include solo uno di questi tipi di policy.
Se una richiesta di accesso viene rifiutata per più motivi, il messaggio di errore include solo uno dei motivi del rifiuto. 

Gli esempi seguenti mostrano il formato dei diversi tipi di messaggi di errore di accesso negato e come risolvere i problemi di ciascun tipo di messaggio.

### Accesso negato a causa del tipo di crittografia bloccato
<a name="access-denied-due-to-blocked-encryption-type"></a>

Per limitare i tipi di crittografia lato server che è possibile utilizzare nei bucket generici, è possibile scegliere di bloccare le richieste di scrittura SSE-C aggiornando la configurazione di crittografia predefinita per i bucket. Questa configurazione a livello di bucket blocca le richieste di caricamento di oggetti che specificano SSE-C. Quando SSE-C è bloccato per un bucket `PutObject``CopyObject`, `PostObject` tutte le richieste di caricamento o replica multipart o multipart che specificano la crittografia SSE-C verranno rifiutate con un errore HTTP 403. `AccessDenied`

Questa impostazione è un parametro dell'`PutBucketEncryption`API e può essere aggiornata anche utilizzando la console S3, la AWS CLI AWS SDKs e, se `s3:PutEncryptionConfiguration` disponi dell'autorizzazione. I valori validi sono`SSE-C`, che blocca la crittografia SSE-C per il bucket generico e`NONE`, che consente l'uso di SSE-C per le scritture nel bucket.

Ad esempio, quando l'accesso viene negato a una `PutObject` richiesta perché l'`BlockedEncryptionTypes`impostazione blocca le richieste di scrittura che specificano SSE-C, viene visualizzato il seguente messaggio:

```
An error occurred (AccessDenied) when calling the PutObject operation:   
User: arn:aws:iam::123456789012:user/MaryMajor  is not   
authorized to perform: s3:PutObject on resource:   
"arn:aws:s3:::amzn-s3-demo-bucket1/object-name" because this   
bucket has blocked upload requests that specify   
Server Side Encryption with Customer provided keys (SSE-C).   
Please specify a different server-side encryption type
```

Per ulteriori informazioni su questa impostazione, consulta [Blocco o sblocco di SSE-C per un bucket per uso generico](blocking-unblocking-s3-c-encryption-gpb.md).

### Accesso negato a causa di una policy di controllo delle risorse - rifiuto esplicito
<a name="access-denied-rcp-examples-explicit"></a>

1. Verifica la presenza di una `Deny` dichiarazione relativa all'azione nelle tue politiche di controllo delle risorse (). RCPs Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna la tua RCP rimuovendo l'istruzione `Deny`. Per ulteriori informazioni, consulta [Aggiornamento di una policy di controllo delle risorse (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy-rcp) nella *Guida all'utente AWS Organizations *. 

```
An error occurred (AccessDenied) when calling the GetObject operation: 
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
with an explicit deny in a resource control policy
```

### Accesso negato a causa di una policy di controllo dei servizi: diniego implicito
<a name="access-denied-scp-examples-implicit"></a>

1. Verifica la presenza di un'`Allow`istruzione mancante per l'azione nelle tue politiche di controllo del servizio (SCPs). Per l'esempio seguente, l'operazione è `s3:GetObject`.

1. Aggiorna la tua SCP aggiungendo l'istruzione `Allow`. Per ulteriori informazioni, consulta [Aggiornamento di una SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) nella *Guida per l'utente di AWS Organizations *.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform:
s3:GetObject because no service control policy allows the s3:GetObject action
```

### Accesso negato a causa di una policy di controllo dei servizi: diniego esplicito
<a name="access-denied-scp-examples-explicit"></a>

1. Cerca un'`Deny`informativa sull'azione nelle tue politiche di controllo dei servizi (SCPs). Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna la tua SCP modificando l'istruzione `Deny` per consentire all'utente l'accesso necessario. Per un esempio di come si può fare, consulta [Impedire agli utenti e ai ruoli IAM di apportare modifiche specifiche, con un'eccezione per un ruolo di amministratore specificato](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-restricts-with-exception), nella *Guida all'utente AWS Organizations *. Per ulteriori informazioni sull'aggiornamento dell'SCP, consulta [Aggiornamento di un SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) nella *Guida all'utente di AWS Organizations *.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a service control policy
```

### Accesso negato a causa di una policy dell'endpoint VPC: diniego implicito
<a name="access-denied-vpc-endpoint-examples-implicit"></a>

1. Verificare la mancanza di un'istruzione `Allow` per l'azione nelle policy degli endpoint del cloud privato virtuale (VPC). Per l’esempio seguente, l'operazione è `s3:GetObject`.

1. Aggiorna la tua policy sugli endpoint VPC aggiungendo l'iistruzione `Allow`. Per ulteriori informazioni, consulta [Aggiornamento di una policy dell'endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) nella *AWS PrivateLink Guida*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no VPC endpoint policy allows the s3:GetObject action
```

### Accesso negato a causa di una policy dell'endpoint VPC: diniego esplicito
<a name="access-denied-vpc-endpoint-examples-explicit"></a>

1. Verifica la presenza di un'istruzione esplicita `Deny` per l'azione nelle policy dell'endpoint del cloud privato virtuale (VPC). Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiornare la policy dell'endpoint VPC modificando l'istruzione `Deny` per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzione `Deny` per utilizzare la chiave di condizione `aws:PrincipalAccount` con l'operatore di condizione `StringNotEquals` per consentire l'accesso al principale specifico, come mostrato in [Esempio 7: Esclusione di alcuni principali da un'istruzione `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Per ulteriori informazioni sull'aggiornamento delle policy degli endpoint VPC, consulta [Aggiornamento di una policy degli endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) nella *Guida a AWS PrivateLink *.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a VPC endpoint policy
```

### Accesso negato a causa di limiti delle autorizzazioni: diniego implicito
<a name="access-denied-permissions-boundary-examples-implicit"></a>

1. Verifica la presenza di un'istruzione `Allow` mancante relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna il limite delle autorizzazioni aggiungendo l'istruzione `Allow`relativa alla tua policy IAM. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida dell'utente IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
because no permissions boundary allows the s3:GetObject action
```

### Accesso negato a causa di un limite delle autorizzazioni: diniego esplicito
<a name="access-denied-permissions-boundary-examples-explicit"></a>

1. Verifica la presenza di un'istruzione `Deny` esplicita relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiornare il limite delle autorizzazioni modificando l'istruzione `Deny` nella policy IAM per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzione `Deny` per utilizzare la chiave di condizione `aws:PrincipalAccount` con l'operatore di condizione `StringNotEquals` per consentire l'accesso al principale specifico, come mostrato in [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount) nella *Guida all'utente IAM*. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida dell'utente IAM*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a permissions boundary
```

### Accesso negato a causa di policy di sessione: diniego implicito
<a name="access-denied-session-policy-examples-implicit"></a>

1. Verifica la presenza di un'istruzione `Allow` mancante relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna la tua policy di sessione aggiungendo l'istruzione `Allow`. Per ulteriori informazioni, consulta [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida all'utente IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no session policy allows the s3:GetObject action
```

### Accesso negato a causa di policy di sessione: diniego esplicito
<a name="access-denied-session-policy-examples-explicit"></a>

1. Verifica la presenza di un'istruzione `Deny` esplicita relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiornare la policy di sessione modificando l'istruzione `Deny` per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzione `Deny` per utilizzare la chiave di condizione `aws:PrincipalAccount` con l'operatore di condizione `StringNotEquals` per consentire l'accesso al principale specifico, come mostrato in [Esempio 7: Esclusione di alcuni principali da un'istruzione `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Per ulteriori informazioni sull'aggiornamento delle policy di sessione, consulta [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida all'utente IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a session policy
```

### Accesso negato a causa di policy basate sulle risorse: diniego implicito
<a name="access-denied-resource-based-policy-examples-implicit"></a>

**Nota**  
Per *policy basate sulle risorse* si intendono policy come quelle relative ai bucket e ai punti di accesso.

1. Verifica la presenza di un'istruzione `Allow` mancante relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazione `IgnorePublicAcls` di Blocco dell'accesso pubblico S3 è applicata a livello di bucket, punto di accesso o account. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna la tua policy aggiungendo l'istruzione `Allow`. Per ulteriori informazioni, consulta [Policy basate sulle risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida all'utente IAM*.

   Potrebbe anche essere necessario modificare l'impostazione `IgnorePublicAcls` di Blocco dell'accesso pubblico per il bucket, il punto di accesso o l'account. Per ulteriori informazioni, consultare [Accesso negato a causa delle impostazioni di Blocco accesso pubblico](#access-denied-bpa-examples) e [Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no resource-based policy allows the s3:GetObject action
```

### Accesso negato a causa di policy basate sulle risorse: diniego esplicito
<a name="access-denied-resource-based-policy-examples-explicit"></a>

**Nota**  
Per *policy basate sulle risorse* si intendono policy come quelle relative ai bucket e ai punti di accesso.

1. Verifica la presenza di un'istruzione `Deny` esplicita relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazione `RestrictPublicBuckets` di Blocco dell'accesso pubblico S3 è applicata a livello di bucket, punto di accesso o account. Per l’esempio seguente, l’operazione è `s3:GetObject`.

1. Aggiorna la policy modificando l'istruzione `Deny` per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzione `Deny` per utilizzare la chiave di condizione `aws:PrincipalAccount` con l'operatore di condizione `StringNotEquals` per consentire l'accesso al principale specifico, come mostrato in [Esempio 7: Esclusione di alcuni principali da un'istruzione `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Per ulteriori informazioni sull'aggiornamento della policy basata sulle risorse, consulta [Policy basate sulle risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida all'utente IAM*.

   Potrebbe anche essere necessario modificare l'impostazione `RestrictPublicBuckets` di Blocco dell'accesso pubblico per il bucket, il punto di accesso o l'account. Per ulteriori informazioni, consultare [Accesso negato a causa delle impostazioni di Blocco accesso pubblico](#access-denied-bpa-examples) e [Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a resource-based policy
```

### Accesso negato a causa di policy basate sull'identità: diniego implicito
<a name="access-denied-identity-based-policy-examples-implicit"></a>

1. Verifica l'eventuale mancanza di un'istruzione `Allow` per l'azione nelle politicy basate sull'identità collegate all'identità. Nell'esempio seguente, l'azione è `s3:GetObject` collegata all'utente `MaryMajor`.

1. Aggiorna la tua policy aggiungendo l’istruzione `Allow`. Per ulteriori informazioni, consulta [Policy basate sull'identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida dell'utente IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no identity-based policy allows the s3:GetObject action
```

### Accesso negato a causa di policy basate sull'identità: diniego esplicito
<a name="access-denied-identity-based-policy-examples-explicit"></a>

1. Verifica la presenza di un’istruzione `Deny` esplicita per l'azione nelle politicy basate sull'identità collegate all'identità. Nell'esempio seguente, l'azione è `s3:GetObject` collegata all'utente `MaryMajor`.

1. Aggiorna la policy modificando l'istruzione `Deny` per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzione `Deny` per utilizzare la chiave di condizione `aws:PrincipalAccount` con l'operatore di condizione `StringNotEquals` per consentire l'accesso al principale specifico, come mostrato in [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount) nella *Guida all'utente IAM*. Per ulteriori informazioni, consulta [Policy basate sull'identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) e [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida dell'utente IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in an identity-based policy
```

### Accesso negato a causa delle impostazioni di Blocco accesso pubblico
<a name="access-denied-bpa-examples"></a>

La funzione Blocco dell'accesso pubblico Amazon S3 fornisce le impostazioni per i punti di accesso, i bucket e gli account per aiutare a gestire l'accesso pubblico alle risorse Amazon S3. Per ulteriori informazioni su cosa si intende con il termine "pubblico" in Amazon S3, consulta [Significato di "pubblico"](access-control-block-public-access.md#access-control-block-public-access-policy-status). 

Per impostazione predefinita, i nuovi bucket, punti di accesso e oggetti non consentono l'accesso pubblico. Tuttavia, gli utenti possono modificare le policy dei bucket, le policy dei punti di accesso, le policy degli utenti IAM, le autorizzazioni degli oggetti o le liste di controllo degli accessi (ACLs) per consentire l'accesso pubblico. Le impostazioni di S3 Block Public Access hanno la precedenza su queste politiche, autorizzazioni e. ACLs Da aprile 2023, tutte le impostazioni di Blocco dell'accesso pubblico sono attivate per impostazione predefinita per i nuovi bucket. 

Quando Amazon S3 riceve una richiesta di accesso a un bucket o a un oggetto, determina se per il bucket o l'account del proprietario del bucket è applicata un'impostazione di blocco dell'accesso pubblico. Se la richiesta è stata effettuata tramite un punto di accesso, Amazon S3 controlla anche la presenza di impostazioni di blocco dell'accesso pubblico per il punto di accesso. Se è presente un'impostazione di blocco dell'accesso pubblico che vieta l'accesso richiesto, Amazon S3 rifiuta la richiesta.

Il blocco dell'accesso pubblico di Amazon S3 comprende quattro impostazioni. Queste impostazioni sono indipendenti e possono essere usate in qualunque combinazione. Ogni impostazione può essere applicata a un punto di accesso, un bucket o un intero account. AWS Se le impostazioni di blocco dell'accesso pubblico per il punto di accesso, il bucket o l'account differiscono, Amazon S3 applica la combinazione più restrittiva di punto di accesso, bucket e account.

Quando Amazon S3 valuta se un'operazione è vietata da un'impostazione di accesso pubblico al blocco, rifiuta qualsiasi richiesta che violi l'impostazione di un punto di accesso, un bucket o un account.

Le quattro impostazioni fornite da Blocco dell'accesso pubblico Amazon S3 sono le seguenti: 
+ `BlockPublicAcls` - Questa impostazione si applica alle richieste `PutBucketAcl`, `PutObjectAcl`, `PutObject`, `CreateBucket`, `CopyObject` e `POST Object`. L'impostazione `BlockPublicAcls` causa il seguente comportamento: 
  + `PutBucketAcl` e `PutObjectAcl` falliscono se la lista di controllo degli accessi (ACL) specificata è pubblica.
  + `PutObject` fallisce se la richiesta include una ACL pubblica.
  + Se questa impostazione è applicata a un account, le chiamate `CreateBucket` hanno esito negativo con una risposta HTTP `400` (`Bad Request`) se la richiesta include un'ACL pubblica.

  Ad esempio, quando l'accesso è negato per una richiesta `CopyObject` a causa dell'impostazione `BlockPublicAcls`, si riceve il seguente messaggio: 

  ```
  An error occurred (AccessDenied) when calling the CopyObject operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:CopyObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public ACLs are prevented by the BlockPublicAcls setting in S3 Block Public Access.
  ```
+ `IgnorePublicAcls`— L'`IgnorePublicAcls`impostazione fa sì che Amazon S3 ignori tutto il pubblico ACLs su un bucket e tutti gli oggetti in esso contenuti. Se l'autorizzazione della richiesta è concessa solo da una ACL pubblica, l'impostazione `IgnorePublicAcls` comporta il rifiuto della richiesta.

  Qualsiasi negazione derivante dall'impostazione di `IgnorePublicAcls` è implicita. Ad esempio, se `IgnorePublicAcls` nega una richiesta `GetObject` a causa di una ACL pubblica, si riceve il seguente messaggio: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject because no resource-based policy allows the s3:GetObject action
  ```
+ `BlockPublicPolicy` - Questa impostazione si applica alle richieste `PutBucketPolicy` e `PutAccessPointPolicy`. 

  L'impostazione di `BlockPublicPolicy` per un bucket fa sì che Amazon S3 rifiuti le chiamate a `PutBucketPolicy` se la policy del bucket specificata consente l'accesso pubblico. Questa impostazione fa sì che Amazon S3 rifiuti anche le chiamate a `PutAccessPointPolicy` per tutti i punti di accesso dello stesso account del bucket, se la policy specificata consente l'accesso pubblico.

  Impostando `BlockPublicPolicy` per un punto di accesso, Amazon S3 rifiuta le chiamate a `PutAccessPointPolicy` e `PutBucketPolicy` effettuate attraverso il punto di accesso se la policy specificata (per il punto di accesso o il bucket sottostante) consente l'accesso pubblico.

  Ad esempio, quando l'accesso viene negato a una richiesta di `PutBucketPolicy` a causa dell'impostazione `BlockPublicPolicy`, si riceve il seguente messaggio: 

  ```
  An error occurred (AccessDenied) when calling the PutBucketPolicy operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:PutBucketPolicy on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public policies are prevented by the BlockPublicPolicy setting in S3 Block Public Access.
  ```
+ `RestrictPublicBuckets`— L'`RestrictPublicBuckets`impostazione limita l'accesso a un punto di accesso o a un bucket con una politica pubblica solo ai Servizio AWS principali e agli utenti autorizzati all'interno dell'account del proprietario del bucket e dell'account del proprietario del punto di accesso. Questa impostazione blocca tutti gli accessi tra account al punto di accesso o al bucket (ad eccezione Servizio AWS dei principali), pur consentendo agli utenti all'interno dell'account di gestire il punto di accesso o il bucket. Questa impostazione rifiuta anche tutte le chiamate anonime (o non firmate).

  Qualsiasi negazione derivante dall'impostazione di `RestrictPublicBuckets` è esplicita. Ad esempio, se `RestrictPublicBuckets` nega una richiesta di `GetObject` a causa di un bucket pubblico o di una policy del punto di accesso, si riceve il seguente messaggio: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
  an explicit deny in a resource-based policy
  ```

Per ulteriori informazioni su queste impostazioni, consultare [Impostazioni di blocco dell'accesso pubblico](access-control-block-public-access.md#access-control-block-public-access-options). Per rivedere e aggiornare queste impostazioni, consulta [Configurazione del blocco dell'accesso pubblico](access-control-block-public-access.md#configuring-block-public-access).

## Accesso negato a causa delle impostazioni Pagamento a carico del richiedente
<a name="access-denied-requester-pays"></a>

Se il bucket Amazon S3 a cui si tenta di accedere ha la funzionalità Pagamento a carico del richiedente abilitata, è necessario passare i parametri di richiesta corretti quando si effettuano le richieste a quel bucket. La funzionalità Pagamento a carico del richiedente di Amazon S3 consente al richiedente, anziché al proprietario del bucket, di pagare i costi di trasferimento dei dati e di richiesta per l’accesso agli oggetti nel bucket. Quando Requester Pays è abilitato per un bucket, al proprietario del bucket non vengono addebitate le richieste effettuate da altri account. AWS 

Se si effettua una richiesta a un bucket con Pagamento a carico del richiedente abilitato senza specificare i parametri necessari, si riceve un errore di accesso negato (403 Forbidden). Per accedere agli oggetti in un bucket con Pagamento a carico del richiedente abilitato, è necessario effettuare quanto segue: 

1. Quando si effettuano richieste utilizzando la AWS CLI, è necessario includere il `--request-payer requester` parametro. Ad esempio, per copiare un oggetto con la chiave `object.txt` contenuta nel bucket S3 `s3://amzn-s3-demo-bucket/` in una posizione sul computer locale, è necessario passare il parametro `--request-payer requester` se questo bucket ha il Pagamento a carico del richiedente abilitato. 

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/object.txt /local/path \
   --request-payer requester
   ```

1. Quando effettui richieste programmatiche utilizzando un AWS SDK, imposta l'`x-amz-request-payer`intestazione sul valore. `requester` Per vedere un esempio, consulta [Download di oggetti dai bucket con pagamento a carico del richiedente](ObjectsinRequesterPaysBuckets.md).

1. È necessario che l’utente o il ruolo IAM che effettua la richiesta disponga delle autorizzazioni richieste per accedere al bucket con Pagamento a carico del richiedente, ad esempio le autorizzazioni `s3:GetObject` e `s3:ListBucket`.

Includendo il parametro `--request-payer requester` o impostando l’intestazione `x-amz-request-payer`, si informa Amazon S3 che il richiedente pagherà i costi associati all’accesso agli oggetti nel bucket con Pagamento a carico del richiedente abilitato. Questo eviterà l’errore di accesso negato (403 Forbidden).

## Policy di bucket e policy IAM
<a name="bucket-iam-policies"></a>

### Operazioni a livello di bucket
<a name="troubleshoot-403-bucket-level-ops"></a>

Se non esiste una policy relativa al bucket, il bucket consente implicitamente le richieste provenienti da qualsiasi identità AWS Identity and Access Management (IAM) presente nell'account del proprietario del bucket. Inoltre, il bucket rifiuta implicitamente le richieste provenienti da qualsiasi altra identità IAM da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste una policy utente IAM, al richiedente (a meno che non sia l'utente Account AWS root) viene implicitamente negato di effettuare richieste. Per ulteriori informazioni su questa logica di valutazione, consulta [Determinazione se una richiesta è consentita o rifiutata in un account](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) nella *Guida per l'utente di IAM*.

### Operazioni a livello di oggetti
<a name="troubleshoot-403-object-level-ops"></a>

Se l'oggetto è di proprietà dell'account proprietario del bucket, la policy di bucket e la policy degli utenti IAM funzioneranno allo stesso modo per le operazioni a livello di oggetto e per le operazioni a livello di bucket. Ad esempio, se non esiste una policy del bucket, il bucket consente implicitamente le richieste di oggetti da qualsiasi identità IAM nell'account del proprietario del bucket. Inoltre, il bucket rifiuta implicitamente le richieste di oggetti provenienti da qualsiasi altra identità IAM da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste una policy utente IAM, al richiedente (a meno che non sia l'utente Account AWS root) viene implicitamente negato di effettuare richieste di oggetti.

Se l'oggetto è di proprietà di un account esterno, l'accesso all'oggetto può essere concesso solo tramite le liste di controllo dell'accesso agli oggetti ()ACLs. La policy di bucket e la policy degli utenti IAM possono ancora essere utilizzate per rifiutare le richieste di oggetti. 

Pertanto, per assicurarsi che la policy del bucket o dell'utente IAM non provochi un errore di Accesso negato (403 Forbidden), verificare che siano soddisfatti i seguenti requisiti:
+ Per l'accesso con lo stesso account, non deve esserci un'istruzione `Deny` esplicita per il richiedente a cui stai cercando di concedere le autorizzazioni nella policy di bucket né nella politica degli utenti IAM. Se desideri concedere le autorizzazioni utilizzando solo la policy di bucket e la policy degli utenti IAM, deve esserci almeno un'istruzione `Allow` esplicita in una di queste policy.
+ Per l'accesso multi-account, non deve essere presente un'istruzione esplicita `Deny` contro il richiedente a cui si sta cercando di concedere le autorizzazioni, né nella policy del bucket né in quella dell'utente IAM. Per concedere le autorizzazioni per più account utilizzando solo la policy di bucket e la policy utente IAM, assicurati che sia la policy di bucket sia la policy utente IAM del richiedente includano un'istruzione esplicita `Allow`.

**Nota**  
Le istruzioni `Allow` in una policy di bucket si applicano solo agli oggetti [di proprietà dello stesso account proprietario del bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html). Tuttavia, le istruzioni `Deny` in una policy di bucket si applicano a tutti gli oggetti indipendentemente dalla proprietà dell'oggetto. 

**Per rivedere o modificare la policy di bucket**
**Nota**  
Per visualizzare o modificare una policy di bucket, devi disporre dell'autorizzazione `s3:GetBucketPolicy`.

1. Accedi a 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. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket per il quale vuoi visualizzare o modificare una policy di bucket.

1. Scegli la scheda **Autorizzazioni**.

1. In **Policy del bucket**, scegli **Modifica**. Viene visualizzata la pagina **Modifica la policy del bucket**.

Per rivedere o modificare la tua policy sui bucket utilizzando AWS Command Line Interface (AWS CLI), usa il [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html)comando.

**Nota**  
Se rimani bloccato all'accesso a un bucket a causa di una policy di bucket errata, [accedi Console di gestione AWS utilizzando le credenziali dell'utente Account AWS root](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html). Per riottenere l'accesso al tuo bucket, assicurati di eliminare la policy del bucket errata utilizzando le credenziali dell'utente root. Account AWS 

### Suggerimenti per la verifica delle autorizzazioni
<a name="troubleshoot-403-tips"></a>

Per verificare se il richiedente dispone delle autorizzazioni adeguate per eseguire un'operazione Amazon S3, prova quanto segue:
+ Identifica il richiedente. Se si tratta di una richiesta non firmata, significa che è una richiesta anonima senza una policy utente IAM. Se si tratta di una richiesta che utilizza un URL prefirmato, la policy utente è la stessa dell'utente o del ruolo IAM che ha firmato la richiesta.
+ Assicurati di utilizzare il ruolo o l'utente IAM corretto. Per verificare il ruolo o utente IAM, controlla nell'angolo in alto a destra della Console di gestione AWS o utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html).
+ Controlla tutte le policy IAM collegate al ruolo o all'utente IAM. È possibile utilizzare uno dei seguenti metodi:
  + [Verifica le policy IAM con il simulatore di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).
  + Esamina i vari [tipi di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
+ Se necessario, [modifica la policy utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).
+ Consulta i seguenti esempi di policy che negano o consentono esplicitamente l'accesso:
  + Policy utente IAM di autorizzazione esplicita: [IAM: consente e rifiuta l'accesso a più servizi a livello di programmazione e nella console](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_multiple-services-console.html)
  + Policy esplicita di autorizzazione al bucket: [concessione delle autorizzazioni a più account per caricare oggetti o impostare oggetti per l'](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-1)accesso pubblico ACLs 
  + Politica esplicita di negazione degli utenti IAM [AWS: nega](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html) l'accesso in base alla richiesta AWS Regione AWS
  + Policy di bucket di rifiuto esplicito: [Richiesta SSE-KMS per tutti gli oggetti scritti in un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-encryption-1)

## Impostazioni ACL di Amazon S3
<a name="troubleshoot-403-acl-settings"></a>

Quando controlli le impostazioni ACL, controlla innanzitutto le [impostazioni Object Ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-retrieving.html) per verificare se ACLs sono abilitate nel bucket. Tieni presente che le autorizzazioni ACL possono essere utilizzate solo per concedere autorizzazioni e non possono essere utilizzate per rifiutare le richieste. ACLs inoltre, non possono essere utilizzate per concedere l'accesso ai richiedenti che vengono rifiutati mediante negazioni esplicite nelle policy dei bucket o nelle politiche degli utenti IAM.

### L’impostazione Proprietà dell’oggetto è impostata su Proprietario del bucket applicato
<a name="troubleshoot-403-object-ownership-1"></a>

Se l'impostazione **applicata al proprietario di Bucket** è abilitata, è improbabile che le impostazioni ACL causino un errore di accesso negato (403 Forbidden) perché questa impostazione disabilita tutto ciò che si applica al bucket e agli oggetti. ACLs **Proprietario del bucket applicato** è l’impostazione predefinita (e consigliata) per i bucket Amazon S3.

### L’opzione Proprietà dell’oggetto è impostata su Proprietario del bucket preferito o Autore dell’oggetto
<a name="troubleshoot-403-object-ownership-2"></a>

Le autorizzazioni ACL continuano a essere valide con l’impostazione **Proprietario del bucket preferito** o **Autore dell’oggetto**. Esistono due tipi di oggetti: bucket e object. ACLs ACLs ACLs Per le differenze tra questi due tipi di autorizzazioni ACLs, vedere [Mappatura delle autorizzazioni ACL e delle autorizzazioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping) dei criteri di accesso.

A seconda dell'azione della richiesta rifiutata, [controlla le autorizzazioni ACL per il bucket o l'oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html):
+ Se Amazon S3 ha rifiutato una richiesta `LIST`, `PUT` oggetto, `GetBucketAcl` o `PutBucketAcl`, [controlla le autorizzazioni ACL per il tuo bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**Nota**  
Non è possibile concedere le autorizzazioni agli oggetti `GET` con le impostazioni ACL dei bucket.
+ Se Amazon S3 ha rifiutato una richiesta `GET` per un oggetto S3 o una richiesta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html), [controlla le autorizzazioni ACL per l'oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**Importante**  
Se l'account proprietario dell'oggetto è diverso dall'account proprietario del bucket, l'accesso all'oggetto non è controllato dalla policy di bucket.

### Risoluzione di un errore di accesso negato (403 Accesso negato) derivante da una richiesta oggetto `GET` durante la proprietà di un oggetto multi-account
<a name="troubleshoot-403-object-ownership-tips"></a>

Esamina le [impostazioni dell'opzione Proprietà dell'oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview) del bucket per determinare il proprietario dell'oggetto. Se hai accesso all'[oggetto ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html), puoi anche controllare l'account del proprietario dell'oggetto. (Per visualizzare l'account del proprietario dell'oggetto, controlla l'impostazione ACL dell'oggetto nella console Amazon S3.) In alternativa, puoi anche eseguire una richiesta `GetObjectAcl` per trovare l'[ID canonico](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) del proprietario dell'oggetto per verificare l'account del proprietario. Per impostazione predefinita, ACLs concedi autorizzazioni esplicite per le `GET` richieste all'account del proprietario dell'oggetto.

Dopo aver verificato che il proprietario dell'oggetto sia diverso dal proprietario del bucket, a seconda del caso d'uso e del livello di accesso, scegli uno dei seguenti metodi per risolvere l'errore di accesso negato (403 Accesso negato):
+ **Disabilita ACLs (consigliato)**: questo metodo si applica a tutti gli oggetti e può essere eseguito dal proprietario del bucket. Questo metodo assegna automaticamente il ruolo di proprietario del bucket e il controllo completo su ogni oggetto in esso contenuto. Prima di implementare questo metodo, verificate i [prerequisiti per](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html) la disabilitazione. ACLs Per informazioni su come impostare il bucket su **Proprietario del bucket applicato** (scelta consigliata), consulta [Impostazione della proprietà dell’oggetto su un bucket esistente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html).
**Importante**  
Per evitare un errore di accesso negato (403 proibito), assicurati di migrare le autorizzazioni ACL a una policy bucket prima di disabilitarla. ACLs Per ulteriori informazioni, consulta [Esempi di policy di bucket per la migrazione delle autorizzazioni delle ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html#migrate-acl-permissions-bucket-policies).
+ **Cambiare il proprietario dell'oggetto in proprietario del bucket**: questo metodo può essere applicato a singoli oggetti, ma solo il proprietario dell'oggetto (o un utente con le autorizzazioni appropriate) può modificare la proprietà di un oggetto. Potrebbero essere applicati costi aggiuntivi a `PUT` Per ulteriori informazioni, consulta la pagina [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/). Questo metodo garantisce al proprietario del bucket la piena proprietà dell'oggetto, consentendogli di controllare l'accesso all'oggetto tramite una policy di bucket. 

  Per modificare la proprietà dell'oggetto, procedi in uno dei seguenti modi:
  + Tu (il proprietario del bucket) puoi [copiare nuovamente l'oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html#CopyingObjectsExamples) nel bucket. 
  + È possibile modificare l’impostazione Proprietà dell’oggetto per il bucket impostandola su **Proprietario del bucket preferito**. Se il controllo delle versioni è disabilitato, gli oggetti nel bucket vengono sovrascritti. Se il controllo delle versioni è abilitato, nel bucket verranno visualizzate versioni duplicate dello stesso oggetto, per le quali il proprietario può [impostare una regola del ciclo di vita per la scadenza](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html). Per istruzioni su come modificare le impostazioni dell'opzione Proprietà dell'oggetto, consulta [Impostazione di Object Ownership su un bucket esistente](object-ownership-existing-bucket.md).
**Nota**  
Quando si aggiorna l’impostazione Proprietà dell’oggetto impostandola su **Proprietario del bucket preferito**, l’impostazione viene applicata solo ai nuovi oggetti caricati nel bucket.
  + È possibile fare in modo che il proprietario dell'oggetto carichi nuovamente l'oggetto con l'ACL `bucket-owner-full-control` predefinita dell'oggetto. 
**Nota**  
Per i caricamenti multi-account, nella tua policy di bucket dovrai disporre anche dell'ACL `bucket-owner-full-control` dell'oggetto predefinito. Per una policy di bucket di esempio, consulta [Concedere autorizzazioni multi-account per il caricamento di oggetti a garanzia del controllo completo da parte del proprietario del bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-2).
+ **Mantenere l'autore dell'oggetto come proprietario dell'oggetto**: questo metodo non modifica il proprietario dell'oggetto, ma consente di concedere l'accesso agli oggetti singolarmente. Per concedere l'accesso a un oggetto, devi disporre dell'autorizzazione `PutObjectAcl` per l'oggetto. Quindi, per correggere l'errore Accesso negato (403 Forbidden), aggiungi il richiedente come [beneficiario](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee) per accedere all'oggetto nell'oggetto. ACLs Per ulteriori informazioni, consulta [Configurazione ACLs](managing-acls.md).

## Impostazioni dell'opzione S3 Blocco dell'accesso pubblico
<a name="troubleshoot-403-bpa"></a>

Se la richiesta fallita riguarda l'accesso pubblico o le policy pubbliche, controllare le impostazioni di Blocco dell'accesso pubblico S3 sull'account, sul bucket o sul punto di accesso. Per ulteriori informazioni sulla risoluzione dei problemi relativi agli errori di accesso negato relativi alle impostazioni di Blocco dell'accesso pubblico S3, consulta [Accesso negato a causa delle impostazioni di Blocco accesso pubblico](#access-denied-bpa-examples).

## Impostazioni della crittografia Amazon S3
<a name="troubleshoot-403-encryption"></a>

Amazon S3 supporta la crittografia lato server nel bucket. La crittografia lato server è la crittografia dei dati nella posizione di destinazione eseguita dall'applicazione o dal servizio che li riceve. Amazon S3 crittografa i dati a livello di oggetto mentre li scrive su dischi nei data AWS center e li decrittografa per te quando vi accedi. 

Per impostazione predefinita, Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. Amazon S3 consente inoltre di specificare il metodo di crittografia lato server durante il caricamento degli oggetti.

**Per esaminare lo stato della crittografia lato server e le impostazioni della crittografia del bucket**

1. Accedi a 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. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket**, scegli il bucket per cui vuoi controllare le impostazioni della crittografia.

1. Scegliere la scheda **Properties (Proprietà)**.

1. Scorri verso il basso fino alla sezione **Crittografia predefinita** e visualizza le impostazioni dell'opzione **Tipo di crittografia**.

Per verificare le impostazioni di crittografia utilizzando il AWS CLI, usa il [https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html)comando.

**Per controllare lo stato della crittografia dell'oggetto**

1. Accedi a 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. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket contenente l'oggetto.

1. Nell'elenco **Nome** scegli il nome dell'oggetto per cui desideri aggiungere o modificare la crittografia. 

   Viene visualizzata la pagina dei dettagli dell'oggetto.

1. Scorri verso il basso fino alla sezione **Impostazioni crittografia lato server** per visualizzare le impostazioni della crittografia lato server dell'oggetto.

Per verificare lo stato di crittografia degli oggetti utilizzando il AWS CLI, usa il [https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples)comando.

### Requisiti relativi a crittografia e autorizzazioni
<a name="troubleshoot-403-encryption-requirements"></a>

Amazon S3 supporta tre tipi di crittografia lato server:
+ Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
+ Crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS)
+ Crittografia lato server con chiavi fornite dal cliente (SSE-C)

In base alle impostazioni di crittografia correnti, verifica che siano soddisfatti i seguenti requisiti relativi alle autorizzazioni:
+ **SSE-S3**: non sono richieste autorizzazioni aggiuntive.
+ **SSE-KMS (con una chiave gestita dal cliente)**: per caricare oggetti, è necessaria l'autorizzazione `kms:GenerateDataKey` per la AWS KMS key . Per scaricare oggetti ed eseguire caricamenti di oggetti in più parti, è necessaria l'autorizzazione `kms:Decrypt` per la chiave KMS.
+ **SSE-KMS (con un Chiave gestita da AWS)**: il richiedente deve appartenere allo stesso account proprietario della chiave KMS. `aws/s3` Il richiedente deve inoltre disporre delle autorizzazioni Amazon S3 corrette per accedere all'oggetto.
+ **SSE-C (con una chiave fornita dal cliente)**: non sono richieste autorizzazioni aggiuntive. Puoi configurare la policy di bucket per [richiedere e limitare la crittografia lato server con chiavi di crittografia fornite dal cliente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key) per gli oggetti nel bucket.

Se l'oggetto è crittografato con una chiave gestita dal cliente, assicurati che la policy della chiave KMS ti consenta di eseguire le operazioni `kms:GenerateDataKey` o `kms:Decrypt`. Per istruzioni su come verificare la policy della chiave KMS, consulta [Visualizzazione di una policy di chiave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

## Impostazioni dell'opzione S3 Blocco oggetti
<a name="troubleshoot-403-object-lock"></a>

Se il bucket ha [S3 Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) abilitato e l’oggetto è protetto da un [periodo di conservazione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-retention-periods) o da un [blocco legale](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-legal-holds) e si tenta di eliminare un oggetto, Amazon S3 restituisce una delle seguenti risposte, a seconda di come si cerca di eliminare l’oggetto:
+ **Richiesta `DELETE` permanente**: se viene inviata una richiesta `DELETE` permanente (una richiesta che specifica un ID di versione), Amazon S3 restituisce un errore di accesso negato (`403 Forbidden`) quando si tenta di eliminare l’oggetto.
+ **Richiesta `DELETE` semplice**: se viene inviata una richiesta `DELETE` semplice (una richiesta che non specifica un ID di versione), Amazon S3 restituisce una risposta `200 OK` e inserisce un [indicatore di eliminazione](DeleteMarker.md) nel bucket, che diventa la versione corrente dell’oggetto con un nuovo ID.

**Per verificare se l'opzione Blocco oggetti è abilitata per il bucket**

1. Accedi a 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. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket da controllare.

1. Scegliere la scheda **Properties (Proprietà)**.

1. Scorri verso il basso fino alla sezione **Blocco oggetti**. Verifica se l'impostazione dell'opzione **Blocco oggetti** è **abilitata** o **disabilitata**.

Per determinare se l'oggetto è protetto da un periodo di conservazione o da un blocco a fini legali, [visualizza le informazioni relative al blocco](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-view) dell'oggetto. 

Se l'oggetto è protetto da un periodo di conservazione o da un blocco a fini legali, verifica quanto segue:
+ Se la versione dell'oggetto è protetta dalla modalità di conservazione della conformità, non è possibile eliminarla definitivamente. Una `DELETE` richiesta permanente da parte di qualsiasi richiedente, incluso l'utente Account AWS root, genererà un errore di accesso negato (403 proibito). Inoltre, considera che quando invii una richiesta `DELETE` per un oggetto protetto dalla modalità di conservazione della conformità, Amazon S3 crea un [contrassegno di eliminazione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html) per l'oggetto.
+ Se la versione dell'oggetto è protetta con la modalità di conservazione della governance e disponi dell'autorizzazione `s3:BypassGovernanceRetention`, è possibile aggirare la protezione ed eliminare definitivamente la versione. Per ulteriori informazioni, consulta [Bypassare la modalità Governance](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-bypass).
+ Se la versione dell'oggetto è protetta da un blocco a fini legali, una richiesta `DELETE` permanente può generare un errore di accesso negato (403 Accesso negato). Per eliminare definitivamente la versione dell'oggetto, è necessario rimuovere il blocco a fini legali applicato alla versione dell'oggetto. Per rimuovere un blocco a fini legali, devi disporre dell'autorizzazione `s3:PutObjectLegalHold`. Per ulteriori informazioni sulla rimozione di un blocco a fini legali, consulta [Configurazione di S3 Object Lock](object-lock-configure.md).

## Policy di endpoint VPC
<a name="troubleshoot-403-vpc"></a>

Se si accede ad Amazon S3 utilizzando un endpoint di cloud privato virtuale (VPC), assicurarsi che la policy dell'endpoint VPC non blocchi l'accesso alle risorse di Amazon S3. Per impostazione predefinita, la policy degli endpoint VPC consente di eseguire tutte le richieste indirizzate ad Amazon S3. È inoltre possibile configurare la policy degli endpoint VPC per limitare determinate richieste. Per informazioni su come controllare le policy degli endpoint VPC, consulta le seguenti risorse: 
+ [Accesso negato a causa di una policy dell'endpoint VPC: diniego implicito](#access-denied-vpc-endpoint-examples-implicit)
+ [Accesso negato a causa di una policy dell'endpoint VPC: diniego esplicito](#access-denied-vpc-endpoint-examples-explicit)
+ [Controllo dell'accesso agli endpoint VPC utilizzando le policy degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) nella *Guida a AWS PrivateLink *

## AWS Organizations politiche
<a name="troubleshoot-403-orgs"></a>

Se fai Account AWS parte di un'organizzazione, AWS Organizations le policy possono impedirti di accedere alle risorse Amazon S3. Per impostazione predefinita, AWS Organizations le policy non bloccano alcuna richiesta ad Amazon S3. Tuttavia, assicurati che AWS Organizations le tue policy non siano state configurate per bloccare l'accesso ai bucket S3. Per istruzioni su come controllare le tue AWS Organizations politiche, consulta le seguenti risorse: 
+ [Accesso negato a causa di una policy di controllo dei servizi: diniego implicito](#access-denied-scp-examples-implicit)
+ [Accesso negato a causa di una policy di controllo dei servizi: diniego esplicito](#access-denied-scp-examples-explicit)
+ [Accesso negato a causa di una policy di controllo delle risorse - rifiuto esplicito](#access-denied-rcp-examples-explicit)
+ [Elenco di tutte le policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org) nella *Guida all'utente di AWS Organizations *

Inoltre, se si è configurato in modo errato la policy del bucket per un account membro in modo da negare a tutti gli utenti l'accesso al bucket S3, è possibile sbloccare il bucket avviando una sessione privilegiata per l'account membro in IAM. Una volta avviata una sessione privilegiata, è possibile eliminare la policy di bucket configurata in modo errato per riottenere l’accesso al bucket. Per ulteriori informazioni, consulta [Eseguire un'attività privilegiata su un account AWS Organizations membro](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) nella *Guida per l'AWS Identity and Access Management utente*. 

## CloudFront accesso alla distribuzione
<a name="troubleshoot-403-cloudfront"></a>

Se ricevi un errore Access Denied (403 Forbidden) quando provi ad accedere al tuo sito web statico S3 tramite CloudFront, verifica questi problemi comuni:
+ **Il nome di dominio di origine è nel formato corretto?**
  + Assicurati di utilizzare il formato dell’endpoint del sito web S3 (bucket-name.s3-website-region.amazonaws.com) anziché l’endpoint della REST API
  + Verifica che l’hosting di siti web statici sia abilitato nel bucket
+ **La tua policy sui bucket consente l'accesso? CloudFront **
  + Assicurati che la tua policy bucket includa le autorizzazioni per Origin Access Identity (OAI) o Origin Access Control (OAC) della tua CloudFront distribuzione
  + Verifica che la policy includa le autorizzazioni s3: richieste GetObject 

Per ulteriori procedure e configurazioni di risoluzione dei problemi, incluse le configurazioni delle pagine di errore e le impostazioni del protocollo, consulta [Perché ricevo un errore «403 accesso negato» quando utilizzo un endpoint del sito Web Amazon S3 come origine della mia](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403) distribuzione? CloudFront nel Knowledge Center. AWS re:Post 

**Nota**  
Questo errore è diverso dagli errori 403 che potresti ricevere accedendo direttamente a S3. Per problemi CloudFront specifici, assicurati di controllare sia le impostazioni di CloudFront distribuzione che le configurazioni S3.

## Impostazioni del punto di accesso
<a name="troubleshoot-403-access-points"></a>

Se ricevi un errore di accesso negato (403 Accesso negato) mentre effettui richieste tramite i punti di accesso Amazon S3, potresti dover controllare quanto segue: 
+ Le configurazioni per i punti di accesso
+ La policy utente IAM utilizzata per i punti di accesso
+ La policy di bucket utilizzata per gestire o configurare i punti di accesso multi-account

**Configurazioni e policy dei punti di accesso**
+ Quando si crea un punto di accesso, è possibile scegliere di impostare **Internet** o **VPC** come origine della rete. Se l'origine della rete è impostata si "Solo VPC", Amazon S3 rifiuterà tutte le richieste effettuate al punto di accesso che non provengono dal VPC specificato. Per verificare l'origine della rete del punto di accesso, consulta [Creazione di access point limitati a un cloud privato virtuale](access-points-vpc.md).
+ Con i punti di accesso, puoi anche configurare impostazioni personalizzate dell'opzione Blocco dell'accesso pubblico, che funzionano in modo simile alle impostazioni di Blocco dell'accesso pubblico a livello di bucket o account. Per verificare le impostazioni personalizzate dell'opzione Blocco dell'accesso pubblico, consulta [Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico](access-points-bpa-settings.md).
+ Per effettuare con successo richieste ad Amazon S3 utilizzando i punti di accesso, assicurati che il richiedente disponga delle autorizzazioni IAM necessarie. Per ulteriori informazioni, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).
+ Se la richiesta interessa punti di accesso multi-account, assicurati che il proprietario del bucket abbia aggiornato la policy di bucket per autorizzare le richieste provenienti dal punto di accesso. Per ulteriori informazioni, consulta [Concessione delle autorizzazioni per i punti di accesso multi-account](access-points-policies.md#access-points-cross-account).

Se l'errore Accesso negato (403 Forbidden) persiste dopo aver controllato tutti gli elementi di questo argomento, [recupera l'ID della richiesta Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/get-request-ids.html) e contattaci per ulteriori informazioni. Supporto 

## Risorse aggiuntive
<a name="troubleshoot-403-additional-resources"></a>

Per ulteriori indicazioni sugli errori di accesso negato (403 Forbidden), consulta le seguenti risorse:
+ [In che modo è possibile risolvere gli errori 403 Access Denied di Amazon S3?](https://repost.aws/knowledge-center/s3-troubleshoot-403) nel Knowledge Center. AWS re:Post 
+ [Perché ricevo un errore 403 Forbidden quando tento di accedere a un bucket o a un oggetto Amazon S3?](https://repost.aws/knowledge-center/s3-403-forbidden-error) nel Knowledge Center. AWS re:Post 
+ [Perché ricevo un errore di accesso negato quando tento di accedere a una risorsa Amazon S3 nella stessa? Account AWS](https://repost.aws/knowledge-center/s3-troubleshoot-403-resource-same-account) nel AWS re:Post Knowledge Center.
+ [Perché ricevo un errore di accesso negato quando tento di accedere a un bucket Amazon S3 con accesso pubblico in lettura?](https://repost.aws/knowledge-center/s3-troubleshoot-403-public-read) nel AWS re:Post Knowledge Center.
+ [Perché ricevo un errore di «firma non corrispondente» quando tento di utilizzare un URL predefinito per caricare un oggetto su Amazon S3?](https://repost.aws/knowledge-center/s3-presigned-url-signature-mismatch) nel Knowledge Center. AWS re:Post 
+ [Perché ricevo un errore di accesso negato per la ListObjects versione 2 quando eseguo il comando sync sul mio bucket Amazon S3?](https://repost.aws/knowledge-center/s3-access-denied-listobjects-sync) nel Knowledge Center. AWS re:Post 
+ [Perché ricevo l'errore «403 access denied» quando utilizzo un endpoint di un sito Web Amazon S3 come origine della mia distribuzione? CloudFront ](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403) nel Knowledge Center. AWS re:Post 

# AWS politiche gestite per Amazon S3
<a name="security-iam-awsmanpol"></a>

Una politica AWS gestita è una politica autonoma creata e amministrata da. AWS AWS le politiche gestite sono progettate per fornire autorizzazioni per molti casi d'uso comuni, in modo da poter iniziare ad assegnare autorizzazioni a utenti, gruppi e ruoli.

Tieni presente che le policy AWS gestite potrebbero non concedere le autorizzazioni con il privilegio minimo per i tuoi casi d'uso specifici, poiché sono disponibili per tutti i clienti. AWS Si consiglia pertanto di ridurre ulteriormente le autorizzazioni definendo [policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) specifiche per i propri casi d’uso.

Non è possibile modificare le autorizzazioni definite nelle politiche gestite. AWS Se AWS aggiorna le autorizzazioni definite in una politica AWS gestita, l'aggiornamento ha effetto su tutte le identità principali (utenti, gruppi e ruoli) a cui è associata la politica. AWS è più probabile che aggiorni una policy AWS gestita quando ne Servizio AWS viene lanciata una nuova o quando diventano disponibili nuove operazioni API per i servizi esistenti.

Per ulteriori informazioni, consultare [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *Guida per l’utente di IAM*.

## AWS politica gestita: AmazonS3FullAccess
<a name="security-iam-awsmanpol-amazons3fullaccess"></a>

È possibile allegare la policy `AmazonS3FullAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso completo ad Amazon S3.

Per visualizzare le autorizzazioni per questa policy, consulta [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) in Console di gestione AWS.

## AWS politica gestita: AmazonS3ReadOnlyAccess
<a name="security-iam-awsmanpol-amazons3readonlyaccess"></a>

È possibile allegare la policy `AmazonS3ReadOnlyAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso in sola lettura ad Amazon S3.

Per visualizzare le autorizzazioni per questa policy, consulta [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess$jsonEditor) in Console di gestione AWS.

## AWS politica gestita: AmazonS3ObjectLambdaExecutionRolePolicy
<a name="security-iam-awsmanpol-amazons3objectlambdaexecutionrolepolicy"></a>

Fornisce alle AWS Lambda funzioni le autorizzazioni necessarie per inviare dati a S3 Object Lambda quando vengono effettuate richieste a un punto di accesso S3 Object Lambda. Concede inoltre le autorizzazioni Lambda per la scrittura nei log di Amazon. CloudWatch 

Per visualizzare le autorizzazioni per questa policy, consulta [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$jsonEditor) in Console di gestione AWS.

## AWS politica gestita: S3UnlockBucketPolicy
<a name="security-iam-awsmanpol-S3UnlockBucketPolicy"></a>

Se hai configurato erroneamente la tua policy sui bucket per un account membro in modo da negare a tutti gli utenti l'accesso al tuo bucket S3, puoi utilizzare questa policy AWS gestita (`S3UnlockBucketPolicy`) per sbloccare il bucket. *Per ulteriori informazioni su come rimuovere una policy sui bucket configurata in modo errato che impedisce a tutti i principali di accedere a un bucket Amazon S3, consulta [Esegui un'attività privilegiata su un account membro](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) nella Guida per l'utente. AWS Organizations AWS Identity and Access Management * 

## Amazon S3 si aggiorna alle AWS politiche gestite
<a name="security-iam-awsmanpol-updates"></a>

Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite per Amazon S3 da quando questo servizio ha iniziato a tracciare queste modifiche.


| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  Amazon S3 ha aggiunto `S3UnlockBucketPolicy`  |  Amazon S3 ha aggiunto una nuova policy di AWS gestione chiamata `S3UnlockBucketPolicy` a sbloccare un bucket e rimuovere una policy di bucket non configurata correttamente che impedisce a tutti i principali di accedere a un bucket Amazon S3.  | 1 novembre 2024 | 
|  Amazon S3 ha aggiunto le autorizzazioni Descrivi a `AmazonS3ReadOnlyAccess`  |  Amazon S3 ha aggiunto le autorizzazioni `s3:Describe*` a `AmazonS3ReadOnlyAccess`.  | 11 agosto 2023 | 
|  Amazon S3 ha aggiunto le autorizzazioni per S3 Object Lambda `AmazonS3FullAccess` e `AmazonS3ReadOnlyAccess`  |  Amazon S3 ha aggiornato le policy `AmazonS3FullAccess` e `AmazonS3ReadOnlyAccess` in modo da includere le autorizzazioni per S3 Object Lambda.  | 27 settembre 2021 | 
|  Amazon S3 ha aggiunto `AmazonS3ObjectLambdaExecutionRolePolicy`  |  Amazon S3 ha aggiunto una nuova policy AWS gestita chiamata che `AmazonS3ObjectLambdaExecutionRolePolicy` fornisce alle funzioni Lambda le autorizzazioni per interagire con S3 Object Lambda e scrivere nei log. CloudWatch   | 18 agosto 2021 | 
|  Amazon S3 ha iniziato a tenere traccia delle modifiche  |  Amazon S3 ha iniziato a tracciare le modifiche per le sue politiche AWS gestite.  | 18 agosto 2021 | 

# Gestione dell'accesso a set di dati condivisi con punti di accesso
<a name="access-points"></a>

I punti di accesso Amazon S3 semplificano l'accesso ai dati per qualsiasi AWS servizio o applicazione del cliente che archivia dati in S3. I punti di accesso sono endpoint di rete denominati collegati a una fonte di dati come un bucket, un volume Amazon FSx for NetApp ONTAP o un volume Amazon FSx for OpenZFS. Per informazioni sull'utilizzo di bucket, consulta [Panoramica dei bucket per uso generico](UsingBucket.md). Per informazioni sull'utilizzo di FSx for NetApp ONTAP, consulta [What is Amazon FSx for NetApp ONTAP nella Guida per](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) l'utente di *FSx for ONTAP*. Per informazioni sull'utilizzo di OpenZFS, consulta [What is Amazon FSx for OpenZFS nella Guida *FSx per* l'utente di OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html). FSx 

È possibile utilizzare i punti di accesso per eseguire operazioni sugli oggetti S3, ad esempio `GetObject` e `PutObject`. Ogni access point dispone di autorizzazioni e controlli di rete distinti che S3 applica per qualsiasi richiesta effettuata tramite l'access point in questione. Ogni endpoint applica una policy di punto di accesso personalizzata che consente di controllare l’utilizzo per risorsa, utente o altre condizioni. Se il punto di accesso è collegato a un bucket, la policy del punto di accesso funziona insieme alla policy di bucket sottostante. È possibile configurare qualsiasi punto di accesso in modo che accetti richieste solo da un cloud privato virtuale (VPC) per limitare l'accesso ai dati Amazon S3 a una rete privata. È inoltre possibile configurare le impostazioni di blocco dell'accesso pubblico personalizzate per ciascun access point.

**Nota**  
Puoi utilizzare gli access point solo per eseguire le operazioni sugli oggetti. Non è possibile utilizzare i punti di accesso per eseguire altre operazioni Amazon S3, come l’eliminazione di bucket o la creazione di configurazioni di replica S3. Per un elenco completo delle operazioni S3 che supportano i punti di accesso, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).

Gli argomenti di questa sezione spiegano come utilizzare i punti di accesso Amazon S3. Per argomenti sull’uso dei punti di accesso con i bucket di directory, consulta [Gestione dell’accesso ai set di dati condivisi in bucket di directory con punti di accesso](access-points-directory-buckets.md).

**Topics**
+ [Regole di denominazione, restrizioni e limitazioni dei punti di accesso](access-points-restrictions-limitations-naming-rules.md)
+ [Riferimento ai punti di accesso con ARNs alias dei punti di accesso o con hosting virtuale URIs](access-points-naming.md)
+ [Compatibilità dei punti di accesso](access-points-service-api-support.md)
+ [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md)
+ [Monitoraggio e registrazione degli access point](access-points-monitoring-logging.md)
+ [Creazione di un access point](creating-access-points.md)
+ [Gestione dei punti di accesso Amazon S3 per bucket per uso generico](access-points-manage.md)
+ [Utilizzo dei punti di accesso Amazon S3 per bucket per uso generico](using-access-points.md)
+ [Utilizzo di tag con punti di accesso S3 per bucket per uso generico](access-points-tagging.md)

# Regole di denominazione, restrizioni e limitazioni dei punti di accesso
<a name="access-points-restrictions-limitations-naming-rules"></a>

I punti di accesso sono denominati endpoint di rete collegati a un bucket o a un volume su un FSx file system Amazon che semplificano la gestione dei dati. Quando crei un punto di accesso, scegli un nome e il nome con Regione AWS cui crearlo. I seguenti argomenti forniscono informazioni sulle regole di denominazione dei punti di accesso, restrizioni e limitazioni.

**Topics**
+ [Regole di denominazione dei punti di accesso](#access-points-names)
+ [Restrizioni e limitazioni dei punti di accesso](#access-points-restrictions-limitations)
+ [Restrizioni e limitazioni per i punti di accesso collegati a un volume su un FSx file system Amazon](#access-points-restrictions-limitations-fsx)

## Regole di denominazione dei punti di accesso
<a name="access-points-names"></a>

Quando crei un punto di accesso, ne scegli il nome e il nome in Regione AWS cui crearlo. A differenza dei bucket generici, i nomi dei punti di accesso non devono necessariamente essere univoci tra Account AWS o Regioni AWS. Lo stesso Account AWS può creare punti di accesso con lo stesso nome in modi diversi Regioni AWS o due punti di accesso diversi Account AWS possono utilizzare lo stesso nome di punto di accesso. Tuttavia, all'interno di Regione AWS una singola persona non Account AWS possono esserci due punti di accesso con lo stesso nome.

**Nota**  
Se scegli di pubblicizzare il nome del punto di accesso, è consigliabile evitare di includere informazioni sensibili nel nome del punto di accesso. I nomi dei punti di accesso vengono pubblicati in un database accessibile pubblicamente noto come sistema dei nomi di dominio (DNS).

I nomi dei punti di accesso devono essere conformi a DNS e soddisfare le condizioni seguenti:
+ Deve essere unico all'interno di un unico Account AWS e Regione AWS
+ Devono iniziare con un numero o una lettera minuscola
+ Devono contenere da 3 a 50 caratteri
+ Non possono iniziare o terminare con un trattino (`-`).
+ Non possono contenere caratteri di sottolineatura (`_`), lettere maiuscole, spazi o punti (`.`).
+ Non possono terminare con il suffisso `-s3alias` o `-ext-s3alias`. Questi suffissi sono riservati ai nomi di alias dei punti di accesso. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

## Restrizioni e limitazioni dei punti di accesso
<a name="access-points-restrictions-limitations"></a>

Gli Punti di accesso Amazon S3 presentano le seguenti restrizioni e limitazioni:
+ Ogni punto di accesso è associato esattamente a un bucket o FSx per un volume OpenZFS. È necessario specificare questa associazione quando si crea il punto di accesso. Dopo aver creato un punto di accesso, non è possibile associarlo a un bucket diverso o FSx al volume OpenZFS. Tuttavia, è possibile eliminare il punto di accesso e quindi crearne un altro con lo stesso nome.
+ Dopo aver creato un access point, non è possibile modificarne la configurazione del cloud privato virtuale (VPC).
+ Le policy access point sono limitate a una dimensione di 20 KB.
+ È possibile creare un massimo di 10.000 punti di accesso per unità. Account AWS Regione AWS Se hai bisogno di più di 10.000 punti di accesso per un singolo account in una singola Regione, puoi richiedere un aumento della quota di servizio. Per ulteriori informazioni su Service Quotas e la richiesta di un aumento, consultare [AWS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) in *Riferimenti generali di AWS*.
+ Non è possibile utilizzare un punto di accesso come destinazione della replica S3. Per ulteriori informazioni sulla replica, consulta [Replica di oggetti all'interno e tra le Regioni](replication.md).
+ Non è possibile utilizzare gli alias dei punti di accesso S3 come origine o destinazione per le operazioni di **spostamento** nella console Amazon S3.
+ È possibile indirizzare i punti di accesso solo utilizzando virtual-host-style URLs. Per ulteriori informazioni sull' virtual-host-styleindirizzamento, vedere[Accesso a un bucket per uso generico Amazon S3](access-bucket-intro.md).
+ Le operazioni API che controllano la funzionalità dei punti di accesso (ad esempio, `PutAccessPoint` e `GetAccessPointPolicy`) non supportano le chiamate multi-account.
+ È necessario utilizzare AWS Signature Version 4 quando si effettuano richieste a un punto di accesso utilizzando REST APIs. Per ulteriori informazioni sull'autenticazione delle richieste, consulta [Authenticating Requests (AWS Signature Version 4) nel](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) riferimento all'API di *Amazon Simple Storage Service*.
+ I punti di accesso supportano solo le richieste tramite HTTPS. Amazon S3 risponderà automaticamente con un reindirizzamento HTTP per qualsiasi richiesta effettuata tramite HTTP, per aggiornare la richiesta a HTTPS.
+ Gli access point non supportano l'accesso anonimo.
+ Dopo aver creato un punto di accesso, non è più possibile modificare le impostazioni di blocco dell'accesso pubblico.
+ I punti di accesso multi-account non concedono l'accesso ai dati finché non ti vengono concesse le autorizzazioni dal proprietario del bucket. Il proprietario del bucket mantiene sempre il massimo controllo sui dati e deve aggiornare la policy di bucket per autorizzare le richieste provenienti dal punto di accesso multi-account. Per un esempio di policy di bucket, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).
+  Regioni AWS Se disponi di più di 1.000 punti di accesso, non puoi cercare un punto di accesso per nome nella console Amazon S3.
+ Quando visualizzi un punto di accesso multi-account nella console Amazon S3, la colonna **Accesso** mostra **Sconosciuto**. La console Amazon S3 non è in grado di determinare se l'accesso pubblico è concesso per il bucket e gli oggetti associati. A meno che non sia necessaria una configurazione pubblica per un caso d'uso specifico, si consiglia all'utente e al proprietario del bucket di bloccare tutti gli accessi pubblici al punto di accesso e al bucket. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

## Restrizioni e limitazioni per i punti di accesso collegati a un volume su un FSx file system Amazon
<a name="access-points-restrictions-limitations-fsx"></a>

Di seguito sono riportate le limitazioni specifiche relative all'utilizzo di punti di accesso collegati a un volume su un FSx file system Amazon:
+ Quando crei un punto di accesso, puoi collegare il punto di accesso solo a un volume su un FSx file system Amazon di tua proprietà. Non puoi collegarti a un volume di proprietà di un altro Account AWS.
+ Non puoi utilizzare l'`CreateAccessPoint`API per creare e collegare un punto di accesso a un volume su un FSx file system Amazon. È necessario utilizzare l’API [https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateAndAttachS3AccessPoint.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateAndAttachS3AccessPoint.html).
+ Non puoi disattivare alcuna impostazione di blocco dell'accesso pubblico durante la creazione o l'utilizzo di un punto di accesso collegato a un volume su un FSx file system Amazon.
+ Non puoi elencare oggetti o utilizzare le operazioni di **copia** o **spostamento** nella console S3 con punti di accesso collegati a un volume su un FSx file system Amazon.
+ `CopyObject`è supportato per i punti di accesso collegati a un volume FSx for NetApp ONTAP o FSx OpenZFS solo se l'origine e la destinazione sono lo stesso punto di accesso. Per ulteriori informazioni sulla compatibilità dei punti di accesso, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).
+ I caricamenti multiparte sono limitati a 5 GB.
+ FSx per OpenZFS, il tipo di distribuzione e il supporto della classe di archiviazione varia in base. Regione AWS Per ulteriori informazioni, consulta [Disponibilità in base alla Regione AWS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/available-aws-regions.html) nella *Guida per l’utente di OpenZFS*.

# Riferimento ai punti di accesso con ARNs alias dei punti di accesso o con hosting virtuale URIs
<a name="access-points-naming"></a>

Dopo aver creato un punto di accesso, è possibile utilizzare questi endpoint per eseguire una serie di operazioni. Quando fai riferimento a un punto di accesso, puoi utilizzare Amazon Resource Names (ARNs), l'alias del punto di accesso o l'URI in stile hosting virtuale. 

**Topics**
+ [Punto di accesso ARNs](#access-points-arns)
+ [Alias del punto di accesso](#access-points-alias)
+ [URI virtual-hosted-style](#accessing-a-bucket-through-s3-access-point)

## Punto di accesso ARNs
<a name="access-points-arns"></a>

I punti di accesso hanno Amazon Resource Names (ARNs). ARNs I punti di accesso sono simili ai bucket ARNs, ma vengono digitati e codificati in modo esplicito il punto di accesso Regione AWS e l' Account AWS ID del proprietario del punto di accesso. Per ulteriori informazioni ARNs, consulta [Identify AWS resources with Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) nella *IAM User Guide*.

L'access point ARNs utilizza il seguente formato:

```
arn:aws:s3:region:account-id:accesspoint/resource
```
+ `arn:aws:s3:us-west-2:123456789012:accesspoint/test` rappresenta il punto di accesso denominato `test`, di proprietà dell'account *`123456789012`* nella Regione *`us-west-2`*.
+ `arn:aws:s3:us-west-2:123456789012:accesspoint/*` rappresenta tutti i punti di accesso nell'account *`123456789012`* nella Regione *`us-west-2`*.

ARNs per gli oggetti a cui si accede tramite un punto di accesso, utilizzare il seguente formato:

```
arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource
```
+ `arn:aws:s3:us-west-2:123456789012:accesspoint/test/object/unit-01` rappresenta l'oggetto *`unit-01`*, a cui si accede attraverso il punto di accesso denominato *`test`*, posseduto dall'account *`123456789012`* nella Regione *`us-west-2`*.
+ `arn:aws:s3:us-west-2:123456789012:accesspoint/test/object/*` rappresenta tutti gli oggetti per il punto di accesso denominato *`test`* nell'account *`123456789012`* nella Regione *`us-west-2`*.
+ `arn:aws:s3:us-west-2:123456789012:accesspoint/test/object/unit-01/finance/*` rappresenta tutti gli oggetti sotto il prefisso *`unit-01/finance/`* per il punto di accesso denominato *`test`* nell'account *`123456789012`* nella Regione *`us-west-2`*.

## Alias del punto di accesso
<a name="access-points-alias"></a>

Quando crei un punto di accesso, Amazon S3 genera automaticamente un alias che puoi utilizzare al posto di un nome bucket Amazon S3 per l'accesso ai dati. Puoi utilizzare questo alias del punto di accesso al posto di un nome della risorsa Amazon (ARN) per qualsiasi operazione del piano dati del punto di accesso. Per un elenco di queste operazioni, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).

Un nome alias punto di accesso viene creato nello stesso spazio dei nomi di un bucket Amazon S3. Questo nome alias viene generato automaticamente e non può essere modificato. Un nome alias del punto di accesso soddisfa tutti i requisiti di un nome bucket Amazon S3 valido e comprende le seguenti parti:

`ACCESS POINT NAME-METADATA-s3alias` (per punti di accesso collegati a un bucket Amazon S3)

`ACCESS POINT NAME-METADATA-ext-s3alias` (per punti di accesso collegati a un’origine dati bucket non S3)

**Nota**  
I suffissi `-s3alias` e `-ext-s3alias` sono riservati ai nomi alias dei punti di accesso e non possono essere utilizzati per i nomi dei bucket o dei punti di accesso. Per ulteriori informazioni sulle regole di denominazione dei bucket Amazon S3, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md).

### Casi d’uso e limitazioni degli alias dei punti di accesso
<a name="access-points-alias-use-case"></a>

Quando si adottano i punti di accesso, è possibile utilizzare nomi alias dei punti di accesso senza richiedere modifiche estese di codice.

Quando crei un punto di accesso, Amazon S3 genera automaticamente un nome alias del punto di accesso, come mostrato nell'esempio seguente. Per eseguire questo comando, sostituisci `user input placeholders` con le informazioni appropriate.

```
aws s3control create-access-point --bucket amzn-s3-demo-bucket1 --name my-access-point --account-id 111122223333
{
    "AccessPointArn": "arn:aws:s3:region:111122223333:accesspoint/my-access-point",
    "Alias": "my-access-point-aqfqprnstn7aefdfbarligizwgyfouse1a-s3alias"
}
```

Puoi utilizzare questo nome alias del punto di accesso invece di un nome bucket Amazon S3 in qualsiasi operazione del piano dati. Per un elenco di queste operazioni, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).

L' AWS CLI esempio seguente del `get-object` comando utilizza l'alias del punto di accesso del bucket per restituire informazioni sull'oggetto specificato. Per eseguire questo comando, sostituisci `user input placeholders` con le informazioni appropriate.

```
aws s3api get-object --bucket my-access-point-aqfqprnstn7aefdfbarligizwgyfouse1a-s3alias --key dir/my_data.rtf my_data.rtf
            
{
    "AcceptRanges": "bytes",
    "LastModified": "2020-01-08T22:16:28+00:00",
    "ContentLength": 910,
    "ETag": "\"00751974dc146b76404bb7290f8f51bb\"",
    "VersionId": "null",
    "ContentType": "text/rtf",
    "Metadata": {}
}
```

#### Limitazioni degli alias del punto di accesso
<a name="use-ap-alias-limitations"></a>
+ Gli alias non possono essere configurati dai clienti.
+ Gli alias non possono essere eliminati, modificati o disabilitati in un punto di accesso.
+ È possibile utilizzare questo nome di alias del punto di accesso al posto di un nome di bucket Amazon S3 in alcune operazioni del piano dati. Per un elenco di queste operazioni, consulta [Compatibilità dei punti di accesso con le operazioni S3](access-points-service-api-support.md#access-points-operations-support).
+ Non puoi utilizzare un nome alias del punto di accesso per le operazioni del piano di controllo Amazon S3. Per un elenco delle operazioni del piano di controllo Amazon S3, consulta [Controllo Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_AWS_S3_Control.html) nella*Documentazione di riferimento delle API di Amazon Simple Storage Service*.
+ Non è possibile utilizzare gli alias dei punti di accesso S3 come origine o destinazione per le operazioni di **spostamento** nella console Amazon S3.
+ Gli alias non possono essere utilizzati nelle politiche AWS Identity and Access Management (IAM).
+ Gli alias non possono essere utilizzati come destinazione di registrazione per i log di accesso al server S3.
+ Gli alias non possono essere utilizzati come destinazione di registrazione per i log AWS CloudTrail .
+ Amazon SageMaker AI GroundTruth non supporta gli alias dei punti di accesso.

## URI virtual-hosted-style
<a name="accessing-a-bucket-through-s3-access-point"></a>

I punti di accesso supportano solo l' virtual-host-styleindirizzamento. In un URI in stile host virtuale, il nome del punto di accesso Regione AWS fa parte del nome di dominio contenuto nell'URL. Account AWS Per ulteriori informazioni sull’hosting virtuale consulta [Hosting virtuale di bucket per uso generico](VirtualHosting.md).

Gli URI virtual-hosted-style per i punti di accesso utilizzano il seguente formato:

```
https://access-point-name-account-id.s3-accesspoint.region.amazonaws.com
```

**Nota**  
Se il nome del punto di accesso include trattini (-), includere i trattini nell'URL e inserire un altro trattino prima dell'ID account. Ad esempio, per utilizzare un punto di accesso denominato *`finance-docs`* di proprietà dell'account *`123456789012`* nella Regione *`us-west-2`*, l'URL appropriato è `https://finance-docs-123456789012.s3-accesspoint.us-west-2.amazonaws.com`.
I punti di accesso S3 non supportano l'accesso tramite HTTP. I punti di accesso supportano solo l'accesso sicuro tramite HTTPS.

# Compatibilità dei punti di accesso
<a name="access-points-service-api-support"></a>

È possibile utilizzare i punti di accesso per accedere agli oggetti utilizzando il seguente sottoinsieme di Amazon APIs S3. Tutte le operazioni elencate di seguito possono accettare sia alias di punti di accesso che ARNs di punti di accesso.

Per esempi di uso dei punti di accesso per eseguire le operazioni sugli oggetti, consulta [Utilizzo dei punti di accesso Amazon S3 per bucket per uso generico](using-access-points.md).

## Compatibilità dei punti di accesso con le operazioni S3
<a name="access-points-operations-support"></a>

La tabella seguente è un elenco parziale delle operazioni Amazon S3 e indica se sono compatibili con i punti di accesso. Tutte le operazioni riportate di seguito sono supportate dai punti di accesso che utilizzano un bucket S3 come origine dati, mentre solo alcune operazioni sono supportate dai punti di accesso che utilizzano un volume FSx for ONTAP o FSx OpenZFS come origine dati.

[https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/access-points-object-api-support.html](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/access-points-object-api-support.html)[*FSx for ONTAP o nella Guida per l'utente* di OpenZFS. FSx ](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-object-api-support.html)


| Operazioni S3 | Punto di accesso collegato a un bucket S3 | Punto di accesso collegato a un FSx volume for OpenZFS | 
| --- | --- | --- | 
|  `[AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)`  |  Supportata  |  Supportato  | 
|  `[CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)`  |  Supportato  |  Supportata  | 
|  `[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)` (solo copie della stessa Regione)  |  Supportata  |  Supportato, se origine e destinazione sono lo stesso punto di accesso  | 
|  `[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)`  |  Supportata  |  Supportato  | 
|  `[DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)`  |  Supportato  |  Supportato  | 
|  `[DeleteObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)`  |  Supportato  |  Supportato  | 
|  `[DeleteObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)`  |  Supportato  |  Supportato  | 
|  `[GetBucketAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)`  |  Supportata  |  Non supportata  | 
|  `[GetBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)`  |  Supportata  |  Non supportata  | 
|  `[GetBucketLocation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)`  |  Supportato  |  Supportato  | 
|  `[GetBucketNotificationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)`  |  Supportata  |  Non supportata  | 
|  `[GetBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)`  |  Supportata  |  Non supportata  | 
|  `[GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)`  |  Supportato  |  Supportato  | 
|  `[GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)`  |  Supportata  |  Non supportata  | 
|  `[GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)`  |  Supportato  |  Supportato  | 
|  `[GetObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)`  |  Supportata  |  Non supportata  | 
|  `[GetObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)`  |  Supportata  |  Non supportata  | 
|  `[GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)`  |  Supportato  |  Supportato  | 
|  `[HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)`  |  Supportato  |  Supportato  | 
|  `[HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)`  |  Supportato  |  Supportato  | 
|  `[ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)`  |  Supportato  |  Supportato  | 
|  `[ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)`  |  Supportato  |  Supportato  | 
|  `[ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)`  |  Supportato  |  Supportato  | 
|  `[ListObjectVersions](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)`  |  Supportata  |  Non supportata  | 
|  `[ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)`  |  Supportato  |  Supportato  | 
|  `[Presign](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)`  |  Supportato  |  Supportato  | 
|  `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)`  |  Supportato  |  Supportato  | 
|  `[PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)`  |  Supportata  |  Non supportata  | 
|  `[PutObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)`  |  Supportata  |  Non supportata  | 
|  `[PutObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)`  |  Supportata  |  Non supportata  | 
|  `[PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)`  |  Supportato  |  Supportato  | 
|  `[RestoreObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)`  |  Supportata  |  Non supportata  | 
|  `[UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)`  |  Supportato  |  Supportata  | 
|  `[UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)` (solo copie della stessa Regione)  |  Supportata  |  Supportato, se origine e destinazione sono lo stesso punto di accesso  | 

# Configurazione delle policy IAM per l'utilizzo degli access point
<a name="access-points-policies"></a>

I punti di accesso Amazon S3 supportano politiche di risorse AWS Identity and Access Management (IAM) che consentono di controllare l'uso del punto di accesso in base alla risorsa, all'utente o ad altre condizioni. Affinché un'applicazione o un utente sia in grado di accedere agli oggetti tramite un punto di accesso, sia il punto di accesso che il bucket sottostante o il FSx file system Amazon devono consentire la richiesta.

**Importante**  
Le limitazioni incluse in una policy di access point si applicano solo alle richieste effettuate tramite quell'access point. Il collegamento di un punto di accesso a un bucket non modifica il comportamento della risorsa sottostante. Tutte le operazioni esistenti inerenti il bucket che non sono state effettuate tramite il punto di accesso continueranno a funzionare come prima. 

Quando utilizzi le policy relative alle risorse IAM, assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti relativi alla sicurezza AWS Identity and Access Management Access Analyzer prima di salvare la policy. IAM Access Analyzer esegue controlli sulle policy per convalidare le policy rispetto alla [grammatica delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) IAM e alle [best practice](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). Questi controlli generano risultati e forniscono suggerimenti per aiutarti a creare policy funzionali e conformi alle best practice per la sicurezza. 

Per ulteriori informazioni sulla convalida delle policy tramite IAM Access Analyzer, consulta [Convalida delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l'utente di IAM*. Per visualizzare un elenco delle avvertenze, degli errori e dei suggerimenti restituiti da IAM Access Analyzer, consulta il [Riferimento al controllo delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html).

## Esempi di policy per i punti di accesso
<a name="access-points-policy-examples"></a>

Negli esempi seguenti viene illustrato come creare le policy IAM per controllare le richieste effettuate tramite un access point.

**Nota**  
Le autorizzazioni concesse in una policy del punto di accesso sono valide solo se anche il bucket sottostante consente lo stesso accesso. Puoi farlo in due modi:  
**(Consigliato)** Delega il controllo degli accessi dal bucket al punto di accesso come descritto in [Delegazione del controllo di accesso agli access point](#access-points-delegating-control).
Aggiungere le stesse autorizzazioni contenute nella policy del punto di accesso alla policy del bucket sottostante. Nel primo esempio di policy del punto di accesso viene illustrato come modificare la policy di bucket sottostante per consentire l'accesso necessario.

**Example 1: Concessione della policy del punto di accesso**  
La policy del punto di accesso seguente concede all'utente IAM `Jane` dell'account `123456789012` le autorizzazioni per gli oggetti `GET` e `PUT` con il prefisso `Jane/` tramite il punto di accesso *`my-access-point`* nell'account *`123456789012`*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Jane"
        },
        "Action": ["s3:GetObject", "s3:PutObject"],
        "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/Jane/*"
    }]
}
```

**Nota**  
Affinché la policy del punto di accesso fornisca effettivamente l’accesso a *`Jane`*, anche il bucket sottostante deve consentire lo stesso accesso a *`Jane`*. È possibile delegare il controllo di accesso dal bucket all'access point come descritto in [Delegazione del controllo di accesso agli access point](#access-points-delegating-control). In alternativa, è possibile aggiungere la policy seguente al bucket sottostante per concedere le autorizzazioni necessarie a Jane. Si noti che la voce `Resource` differisce tra le policy dell'access point e del bucket.   

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Jane"
        },
        "Action": ["s3:GetObject", "s3:PutObject"],
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/Jane/*"
    }]    
}
```

**Example 2: Policy del punto di accesso con condizione di tag**  
La policy del punto di accesso riportata di seguito concede all'utente IAM *`Mateo`* dell'account *`123456789012`* le autorizzazioni per gli oggetti `GET` tramite il punto di accesso *`my-access-point`* nell'account *`123456789012`* con la chiave di tag *`data`* impostata su un valore pari a *`finance`*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Mateo"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/*",
        "Condition": {
            "StringEquals": {
                "s3:ExistingObjectTag/data": "finance"
            }
        }
    }]
}
```

**Example 3: Policy del punto di accesso che consente l'elenco dei bucket**  
La policy del punto di accesso riportata di seguito consente all'utente IAM `Arnav` nell'account *`123456789012`* di visualizzare gli oggetti contenuti nel bucket sottostante il punto di accesso *`my-access-point`* nell'account *`123456789012`*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Arnav"
        },
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point"
    }]
}
```

**Example 4: Policy di controllo dei servizi**  
La seguente policy di controllo dei servizi richiede la creazione di tutti i nuovi punti di accesso con un'origine di rete di tipo cloud privato virtuale (VPC). Con questa policy, gli utenti dell'organizzazione non possono creare nuovi access point accessibili da Internet.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Deny",
        "Action": "s3:CreateAccessPoint",
        "Resource": "*",
        "Condition": {
            "StringNotEquals": {
                "s3:AccessPointNetworkOrigin": "VPC"
            }
        }
    }]
}
```

**Example 5: Policy di bucket per limitare le operazioni S3 alle origini di rete VPC**  
La policy di bucket seguente limita l'accesso a tutte le operazioni degli oggetti S3 per il bucket `amzn-s3-demo-bucket` ai punti di accesso con un'origine di rete VPC.  
Prima di utilizzare un'istruzione come quella riportata nell'esempio, assicurati di non utilizzare funzionalità non supportate dai punti di accesso, come la replica tra regioni.  
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:BypassGovernanceRetention",
                "s3:DeleteObject",
                "s3:DeleteObjectTagging",
                "s3:DeleteObjectVersion",
                "s3:DeleteObjectVersionTagging",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectLegalHold",
                "s3:GetObjectRetention",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging",
                "s3:ListMultipartUploadParts",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectLegalHold",
                "s3:PutObjectRetention",
                "s3:PutObjectTagging",
                "s3:PutObjectVersionAcl",
                "s3:PutObjectVersionTagging",
                "s3:RestoreObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:AccessPointNetworkOrigin": "VPC"
                }
            }
        }
    ]
}
```

## Chiavi di condizione
<a name="access-points-condition-keys"></a>

I punti di accesso S3 utilizzano chiavi di condizione che possono essere utilizzate nelle policy IAM per controllare l'accesso alle risorse. Le seguenti chiavi di condizione rappresentano solo una parte di una policy IAM. Per esempi completi di policy, consulta [Esempi di policy per i punti di accesso](#access-points-policy-examples), [Delegazione del controllo di accesso agli access point](#access-points-delegating-control) e [Concessione delle autorizzazioni per i punti di accesso multi-account](#access-points-cross-account).

**`s3:DataAccessPointArn`**  
Questo esempio mostra una stringa che è possibile utilizzare per la corrispondenza dell'ARN di un punto di accesso. L'esempio seguente corrisponde a tutti i punti di accesso per Account AWS *`123456789012`* in Region: *`us-west-2`*  

```
"Condition" : {
    "StringLike": {
        "s3:DataAccessPointArn": "arn:aws:s3:us-west-2:123456789012:accesspoint/*"
    }
}
```

**`s3:DataAccessPointAccount`**  
Questo esempio mostra un operatore stringa che è possibile utilizzare per la corrispondenza dell'ID account del proprietario di un punto di accesso. L'esempio seguente restituisce tutti i punti di accesso di proprietà dell' Account AWS *`123456789012`*.  

```
"Condition" : {
    "StringEquals": {
        "s3:DataAccessPointAccount": "123456789012"
    }
}
```

**`s3:AccessPointNetworkOrigin`**  
Questo esempio mostra un operatore stringa che è possibile utilizzare per la corrispondenza dell'origine di rete, `Internet` o `VPC`. L'esempio seguente esegue la corrispondenza solo degli access point con un'origine VPC.  

```
"Condition" : {
    "StringEquals": {
        "s3:AccessPointNetworkOrigin": "VPC"
    }
}
```

Per ulteriori informazioni sull'uso delle chiavi di condizione con Amazon S3, consulta [ Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

## Delegazione del controllo di accesso agli access point
<a name="access-points-delegating-control"></a>

È possibile delegare il controllo degli accessi per un bucket agli access point del bucket. La policy di bucket di esempio seguente consente l'accesso completo a tutti i punti di accesso dell'account del proprietario del bucket. Pertanto, tutto l'accesso a questo bucket è controllato dalle policy associate agli access point. Si consiglia di configurare i bucket in questo modo per tutti i casi d'uso che non richiedono l'accesso diretto al bucket.

**Example 6: Policy di bucket che delega il controllo degli accessi ai punti di accesso**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : "*",
        "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"],
        "Condition": {
            "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" }
        }
    }]
}
```

## Concessione delle autorizzazioni per i punti di accesso multi-account
<a name="access-points-cross-account"></a>

Per creare un punto di accesso a un bucket di proprietà di un altro account, devi prima creare il punto di accesso specificando il nome del bucket e l'ID del proprietario dell'account. Il proprietario del bucket deve quindi aggiornare la policy di bucket per autorizzare le richieste dal punto di accesso. La creazione di un punto di accesso è simile alla creazione di un DNS CNAME in quanto il punto di accesso non fornisce l'accesso al contenuto del bucket. Tutti gli accessi ai bucket sono controllati dalla policy di bucket. La policy di bucket di esempio consente di eseguire richieste `GET` e `LIST` sul bucket da un punto di accesso di proprietà di un Account AWS attendibile.

Sostituire *Bucket ARN* con l'ARN del secchio.

**Example 7 — Politica del bucket che delega le autorizzazioni a un altro Account AWS**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : ["s3:GetObject","s3:ListBucket"],
        "Resource" : ["arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"],
        "Condition": {
            "StringEquals" : { "s3:DataAccessPointAccount" : "Access point owner's account ID" }
        }
    }]
}
```
I punti di accesso multi-account sono disponibili solo per i punti di accesso collegati ai bucket S3. Non è possibile collegare un punto di accesso a un volume su un FSx file system Amazon di proprietà di un altro Account AWS.

# Monitoraggio e registrazione degli access point
<a name="access-points-monitoring-logging"></a>

Amazon S3 registra le richieste effettuate attraverso i punti di accesso e le richieste effettuate alle operazioni API che gestiscono i punti di accesso, come `CreateAccessPoint` e `GetAccessPointPolicy`. Per monitorare e gestire i modelli di utilizzo, puoi anche configurare i parametri delle richieste di Amazon CloudWatch Logs per i punti di accesso. 

**Topics**
+ [CloudWatch richiedi metriche](#request-metrics-access-points)
+ [AWS CloudTrail registri per le richieste effettuate tramite punti di accesso](#logging-access-points)

## CloudWatch richiedi metriche
<a name="request-metrics-access-points"></a>

Per comprendere e migliorare le prestazioni delle applicazioni che utilizzano punti di accesso, puoi utilizzare CloudWatch i parametri di richiesta di Amazon S3. I parametri di richiesta ti aiutano a monitorare le richieste di Amazon S3 per identificare rapidamente i problemi operativi e intraprendere le operazioni appropriate. 

Per impostazione predefinita, questi parametri sono disponibili a livello di bucket. Tuttavia, puoi definire un filtro per i parametri di richiesta utilizzando un prefisso condiviso, tag oggetto o un punto di accesso. Quando crei un filtro con un punto di accesso, la configurazione dei parametri della richiesta include le richieste al punto di accesso specificato. Puoi ricevere parametri, impostare allarmi e accedere ai pannelli di controllo per visualizzare le operazioni eseguite in tempo reale tramite questo punto di accesso. 

Devi acconsentire esplicitamente ai parametri di richiesta configurandoli nella console o utilizzando l'API Amazon S3. I parametri di richiesta sono disponibili a intervalli di 1 minuto dopo una determinata latenza per l'elaborazione. I parametri delle richieste vengono fatturati alla stessa tariffa dei parametri personalizzati. CloudWatch Per ulteriori informazioni, consulta i [ CloudWatch prezzi di Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Per creare una configurazione dei parametri di richiesta che filtra in base al punto di accesso, vedi [Creazione di una configurazione dei parametri che filtra in base al prefisso, al tag oggetto o al punto di accesso](metrics-configurations-filter.md). 

## AWS CloudTrail registri per le richieste effettuate tramite punti di accesso
<a name="logging-access-points"></a>

È possibile registrare le richieste effettuate tramite i punti di accesso e le richieste effettuate a chi gestisce APIs i punti di accesso, ad esempio `CreateAccessPoint` e `GetAccessPointPolicy,` utilizzando la registrazione degli accessi al server e. AWS CloudTrail



CloudTrail le voci di registro per le richieste effettuate tramite punti di accesso includono l'ARN del punto di accesso nella `resources` sezione del registro.

Si prenda come esempio la seguente configurazione: 
+ Un bucket denominato *`amzn-s3-demo-bucket1`* nella Regione *`us-west-2`* che contiene un oggetto denominato *`my-image.jpg`*
+ Un punto di accesso denominato *`my-bucket-ap`* associato a *`amzn-s3-demo-bucket1`*
+ Un Account AWS ID di *`123456789012`*

L'esempio seguente mostra la `resources` sezione di una voce di CloudTrail registro per la configurazione precedente:

```
"resources": [
        {"type": "AWS::S3::Object",
            "ARN": "arn:aws:s3:::amzn-s3-demo-bucket1/my-image.jpg"
        },
        {"accountId": "123456789012",
            "type": "AWS::S3::Bucket",
            "ARN": "arn:aws:s3:::amzn-s3-demo-bucket1"
        },
        {"accountId": "123456789012",
            "type": "AWS::S3::AccessPoint",
            "ARN": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-bucket-ap"
        }
    ]
```

Se utilizzi un punto di accesso collegato a un volume su un FSx file system Amazon, la `resources` sezione di una voce di CloudTrail registro avrà un aspetto diverso. Esempio:

```
"resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::FSx::Volume",
            "ARN": "arn:aws:fsx:us-east-1:123456789012:volume/fs-0123456789abcdef9/fsvol-01234567891112223"
        }
    ]
```

Per ulteriori informazioni sui log degli accessi al server S3, consulta [Registrazione delle richieste con registrazione dell'accesso al server](ServerLogs.md). Per ulteriori informazioni su AWS CloudTrail, consulta [What is AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) nella *Guida AWS CloudTrail per l'utente*.

# Creazione di un access point
<a name="creating-access-points"></a>

Puoi creare punti di accesso S3 utilizzando Console di gestione AWS, AWS Command Line Interface (AWS CLI) o l'API AWS SDKs REST di Amazon S3. I punti di accesso sono endpoint di rete denominati collegati a una fonte di dati come un bucket, un volume Amazon FSx for ONTAP o un volume Amazon FSx for OpenZFS.

Per impostazione predefinita, è possibile creare fino a 10.000 punti di accesso per Regione per ciascuno dei tuoi Account AWS. Se hai bisogno di più di 10.000 punti di accesso per un singolo account in una singola Regione, puoi richiedere un aumento della quota di servizio. Per ulteriori informazioni su Service Quotas e la richiesta di un aumento, consulta [AWS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) in *Riferimenti generali di AWS*.

**Topics**
+ [Creazione di punti di accesso con bucket S3](#create-access-points)
+ [Creazione di punti di accesso con Amazon FSx](#create-access-points-with-fsx)
+ [Creazione di access point limitati a un cloud privato virtuale](access-points-vpc.md)
+ [Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico](access-points-bpa-settings.md)

## Creazione di punti di accesso con bucket S3
<a name="create-access-points"></a>

Un punto di accesso è associato esattamente a un bucket per uso generico Amazon S3. Se desideri utilizzare un bucket nel tuo Account AWS, devi prima crearne uno. Per ulteriori informazioni sulla creazione dei bucket, consulta [Creazione, configurazione e utilizzo di bucket per uso generico Amazon S3](creating-buckets-s3.md).

Puoi anche creare un punto di accesso multi-account associato a un bucket in un altro Account AWS, purché tu conosca il nome del bucket e l'ID dell'account del proprietario del bucket. Tuttavia, la creazione di punti di accesso multi-account non consente l'accesso ai dati nel bucket finché non vengono concesse le autorizzazioni dal proprietario del bucket. Il proprietario del bucket deve concedere all'account del proprietario del punto di accesso (il tuo account) l'accesso al bucket tramite la policy di bucket. Per ulteriori informazioni, consulta [Concessione delle autorizzazioni per i punti di accesso multi-account](access-points-policies.md#access-points-cross-account).

### Utilizzo della console S3
<a name="access-points-create-ap"></a>

**Come creare un punto di accesso**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione in cui si desidera creare un punto di accesso. Il punto di accesso deve essere creato nella stessa Regione del bucket associato. 

1. Nel pannello di navigazione a sinistra, scegli **Access Points** (Punti di accesso).

1. Nella pagina **Punto di accesso**, scegli **Crea punto di accesso**.

1. Nel campo **Nome del punto di accesso** immetti il nome per il punto di accesso. Per ulteriori informazioni sulla denominazione dei punti di accesso, consulta [Regole di denominazione dei punti di accesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Per **Origine dati** specifica il bucket S3 che desideri utilizzare con il punto di accesso.

   Per usare un bucket nel tuo account, seleziona **Scegli un bucket in questo account** e digita o cerca il nome del bucket. 

   Per utilizzare un bucket in un altro account Account AWS, scegli **Specificare un bucket in un altro account** e inserisci l' Account AWS ID e il nome del bucket. Se utilizzi un bucket in un altro Account AWS, il proprietario del bucket deve aggiornare la policy del bucket per autorizzare le richieste dal punto di accesso. Per un esempio di policy di bucket, consulta [Concessione delle autorizzazioni per i punti di accesso multi-account](access-points-policies.md#access-points-cross-account).
**Nota**  
Per informazioni sull'utilizzo di un volume FSx for OpenZFS come fonte di dati, consulta. [Creazione di punti di accesso con Amazon FSx](#create-access-points-with-fsx)

1. Per **Origine della rete** scegli **Internet** o **Cloud privato virtuale (VPC)**. Se scegli **Cloud privato virtuale (VPC)**, immetti l’**ID VPC** che desideri utilizzare con il punto di accesso.

   Per ulteriori informazioni sulle origini della rete per i punti di accesso, consulta [Creazione di access point limitati a un cloud privato virtuale](access-points-vpc.md).

1. In **Block Public Access settings for this Access Point (Impostazioni punto di accesso per blocco dell'accesso pubblico)**, seleziona le impostazioni di blocco dell'accesso pubblico da applicare all'access point. Tutte le impostazioni di blocco dell'accesso pubblico sono abilitate per impostazione predefinita per i nuovi punti di accesso. È consigliabile lasciare tutte le impostazioni abilitate, a meno che tu non debba necessariamente disabilitarne una specifica. 
**Nota**  
Dopo aver creato un punto di accesso, non è più possibile modificare le impostazioni di blocco dell'accesso pubblico.

   Per ulteriori informazioni sull'uso del blocco dell'accesso pubblico di Amazon S3 con i punti di accesso, consulta [Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico](access-points-bpa-settings.md).

1. (Facoltativo) In **Policy del punto di accesso - *facoltativo***, specificare la policy dell'access point. Prima di salvare la policy, assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti. Per ulteriori informazioni sulla specifica di una policy dei punti di accesso, consulta [Esempi di policy per i punti di accesso](access-points-policies.md#access-points-policy-examples).

1. Selezionare **Crea punto di accesso**.

### Usando il AWS CLI
<a name="creating-access-point-cli"></a>

Il comando di esempio seguente crea un punto di accesso denominato *`example-ap`* per il bucket *`amzn-s3-demo-bucket`* nell'account *`111122223333`*. Per creare il punto di accesso, devi inviare una richiesta ad Amazon S3 che specifica quanto segue:
+ Nome del punto di accesso. Per informazioni sulle regole di denominazione, consulta [Regole di denominazione dei punti di accesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).
+ Nome del bucket a cui si desidera associare il punto di accesso.
+ L'ID dell'account del Account AWS proprietario del punto di accesso.

```
aws s3control create-access-point --name example-ap --account-id 111122223333 --bucket amzn-s3-demo-bucket
```

Quando crei un punto di accesso utilizzando un bucket in un altro Account AWS, includi il `--bucket-account-id` parametro. Il seguente comando di esempio crea un punto di accesso nell' Account AWS *`111122223333`*, utilizzando il bucket *`amzn-s3-demo-bucket2`*, che si trova nell' Account AWS *`444455556666`*.

```
aws s3control create-access-point --name example-ap --account-id 111122223333 --bucket amzn-s3-demo-bucket --bucket-account-id 444455556666
```

### Utilizzo della REST API
<a name="creating-access-point-rest-api"></a>

È possibile utilizzare la REST API per creare un punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

## Creazione di punti di accesso con Amazon FSx
<a name="create-access-points-with-fsx"></a>

Puoi creare e collegare un punto di accesso a un volume FSx for OpenZFS utilizzando la FSx console Amazon o AWS CLI l'API. Una volta collegato, puoi utilizzare l'oggetto S3 APIs per accedere ai dati del file. I tuoi dati continuano a risiedere nel FSx file system Amazon e continuano ad essere direttamente accessibili per i carichi di lavoro esistenti. Continui a gestire lo storage utilizzando tutte le funzionalità FSx di gestione dello storage di OpenZFS, inclusi backup, istantanee, quote di utenti e gruppi e compressione.

*Per istruzioni su come creare un punto di accesso e collegarlo a un volume FSx per OpenZFS, consulta [Creazione di un punto di accesso](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/create-access-points.html) nella Guida per l'utente di OpenZFS. FSx *

# Creazione di access point limitati a un cloud privato virtuale
<a name="access-points-vpc"></a>

Quando si crea un punto di accesso, è possibile scegliere di renderlo accessibile da Internet oppure specificare che tutte le richieste effettuate tramite tale punto di accesso debbano provenire da uno specifico cloud privato virtuale (VPC). Un access point accessibile da Internet ha l'origine di rete `Internet`. Può essere utilizzato da qualsiasi punto di Internet, fatte salve altre limitazioni di accesso in vigore per il punto di accesso, l’origine dati sottostante e le risorse correlate, come gli oggetti richiesti. Un access point accessibile solo da un VPC specificato ha l'origine di rete `VPC` e Amazon S3 rifiuta qualsiasi richiesta fatta all'access point che non provenga da quel VPC.

**Importante**  
Puoi specificare l'origine di rete di un access point solo quando crei l'access point. Dopo aver creato l'access point, non è più possibile modificare l'origine di rete.

Per limitare un access point all'accesso solo VPC, è necessario includere il parametro `VpcConfiguration` con la richiesta di creare l'access point. Nel parametro `VpcConfiguration`, specificare l'ID VPC che si desidera utilizzare l'access point. Se una richiesta viene effettuata tramite il punto di accesso, la richiesta deve provenire dal VPC o Amazon S3 la rifiuterà. 

È possibile recuperare l'origine della rete di un punto di accesso utilizzando, o REST. AWS CLI AWS SDKs APIs Se per un access point è specificata una configurazione VPC, la sua origine di rete è `VPC`. In caso contrario, l'origine della rete dell'access point è `Internet`.

## Esempio: creare e limitare un punto di accesso a un ID VPC
<a name="access-points-vpc-example1"></a>

Nell'esempio seguente viene creato un punto di accesso denominato `example-vpc-ap` per il bucket `amzn-s3-demo-bucket` nell'account `123456789012` che consente l'accesso solo dal VPC `vpc-1a2b3c`. L'esempio verifica quindi che il nuovo access point abbia l'origine di rete `VPC`.

------
#### [ AWS CLI ]

```
aws s3control create-access-point --name example-vpc-ap --account-id 123456789012 --bucket amzn-s3-demo-bucket --vpc-configuration VpcId=vpc-1a2b3c
```

```
aws s3control get-access-point --name example-vpc-ap --account-id 123456789012

{
    "Name": "example-vpc-ap",
    "Bucket": "amzn-s3-demo-bucket",
    "NetworkOrigin": "VPC",
    "VpcConfiguration": {
        "VpcId": "vpc-1a2b3c"
    },
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": true,
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2019-11-27T00:00:00Z"
}
```

------

Per utilizzare un access point con un VPC, è necessario modificare la policy di accesso per l'endpoint VPC. Gli endpoint VPC consentono al traffico di fluire dal VPC ad Amazon S3. Dispongono di policy di controllo dell'accesso che controllano il modo in cui le risorse all'interno del VPC possono interagire con Amazon S3. Le richieste dal VPC ad Amazon S3 hanno esito positivo solo tramite un punto di accesso se la policy dell'endpoint VPC concede l'accesso sia al punto di accesso che al bucket sottostante.

**Nota**  
Per rendere le risorse accessibili solo all'interno di un VPC, assicurati di creare una [zona ospitata privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) per l'endpoint VPC. Per utilizzare una zona ospitata privata, [modificare le impostazioni del VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) in modo che gli [attributi di rete VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) `enableDnsHostnames` e `enableDnsSupport` siano impostati su `true`.

L'istruzione di policy di esempio riportata di seguito configura un endpoint VPC per consentire le chiamate a `GetObject` per un bucket denominato `awsexamplebucket1` e un access point denominato `example-vpc-ap`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::awsexamplebucket1/*",
            "arn:aws:s3:us-west-2:123456789012:accesspoint/example-vpc-ap/object/*"
        ]
    }]
}
```

------

**Nota**  
La dichiarazione `"Resource"` in questo esempio utilizza un Amazon Resource Name (ARN) per specificare l'access point. Per ulteriori informazioni sul punto di accesso ARNs, vedere[Riferimento ai punti di accesso con ARNs alias dei punti di accesso o con hosting virtuale URIs](access-points-naming.md). 

Per ulteriori informazioni sulle policy degli endpoint VPC, consulta [Utilizzo delle policy degli endpoint per Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3) nella *Guida per l'utente del VPC*.

Per un tutorial sulla creazione di punti di accesso con endpoint VPC, consulta [Gestione dell’accesso Amazon S3 con endpoint VPC e punti di accesso](https://aws.amazon.com/blogs/storage/managing-amazon-s3-access-with-vpc-endpoints-and-s3-access-points/).

## Esempio: creare e limitare un punto di accesso collegato a un volume FSx for OpenZFS a un ID VPC
<a name="access-points-vpc-example2"></a>

Puoi creare un punto di accesso collegato a un volume FSx for OpenZFS utilizzando la FSx console Amazon o AWS CLI l'API. Una volta collegato, puoi utilizzare l'oggetto S3 APIs per accedere ai dati dei tuoi file da un VPC specificato.

*Per istruzioni su come creare e limitare un punto di accesso collegato a un volume FSx for OpenZFS, consulta [Creazione di punti di accesso limitati a un cloud privato virtuale (VPC)](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/create-access-points.html) nella Guida per l'FSx utente di OpenZFS.*

## Esempio: creare e limitare un punto di accesso collegato a un volume FSX for ONTAP a un ID VPC
<a name="access-points-vpc-example3"></a>

Puoi creare un punto di accesso collegato a un volume FSx for ONTAP utilizzando la FSx console Amazon o AWS CLI l'API. Una volta collegato, puoi utilizzare l'oggetto S3 APIs per accedere ai dati dei tuoi file da un VPC specificato.

Per istruzioni su come creare e limitare un punto di accesso collegato a un volume for ONTAP, consulta FSx la Guida per l'utente di [https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-vpc.html](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-vpc.html) ONTAP.

# Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico
<a name="access-points-bpa-settings"></a>

Gli Punti di accesso Amazon S3 supportano le impostazioni di *blocco dell'accesso pubblico* indipendenti per ciascun access point. Quando crei un access point, puoi specificare le impostazioni di blocco dell'accesso pubblico applicabili all'access point. Per qualsiasi richiesta effettuata tramite un access point, Amazon S3 valuta le impostazioni di blocco dell'accesso pubblico per l'access point, il bucket sottostante e l'account del proprietario del bucket. Se una di queste impostazioni indica che la richiesta deve essere bloccata, Amazon S3 rifiuta la richiesta.

Per ulteriori informazioni sulla funzionalità di blocco dell'accesso pubblico S3, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

**Importante**  
Tutte le impostazioni di blocco dell'accesso pubblico sono abilitate per impostazione predefinita per gli access point. Durante la creazione del punto di accesso, è necessario disattivare esplicitamente tutte le impostazioni indesiderate.
Non puoi disattivare alcuna impostazione di blocco dell'accesso pubblico durante la creazione o l'utilizzo di un punto di accesso collegato a un FSx file system Amazon.
Dopo aver creato un punto di accesso, non è più possibile modificare le impostazioni di blocco dell'accesso pubblico.

**Example**  
***Esempio: creare un access point con impostazioni di blocco dell'accesso pubblico personalizzate***  
In questo esempio viene creato un access point denominato `example-ap` per il bucket `amzn-s3-demo-bucket` nell'account `123456789012` con impostazioni di blocco dell'accesso pubblico non predefinite. L'esempio recupera quindi la configurazione del nuovo access point per verificarne le impostazioni di blocco dell'accesso pubblico.  

```
aws s3control create-access-point --name example-ap --account-id 123456789012 --bucket amzn-s3-demo-bucket--public-access-block-configuration BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=true,RestrictPublicBuckets=true
```

```
aws s3control get-access-point --name example-ap --account-id 123456789012

{
    "Name": "example-ap",
    "Bucket": "amzn-s3-demo-bucket",
    "NetworkOrigin": "Internet",
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": false,
        "IgnorePublicAcls": false,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2019-11-27T00:00:00Z"
}
```

# Gestione dei punti di accesso Amazon S3 per bucket per uso generico
<a name="access-points-manage"></a>

Questa sezione spiega come gestire i punti di accesso Amazon S3 per bucket generici utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST. Per informazioni sulla gestione degli access point collegati a un volume FSx for OpenZFS, consulta [Managing your Amazon S3 access](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/access-points-manage.html) point nella *for OpenZFS User FSx Guide*.

**Nota**  
Puoi utilizzare gli access point solo per eseguire le operazioni sugli oggetti. Non è possibile utilizzare i punti di accesso per eseguire altre operazioni Amazon S3, come l’eliminazione di bucket o la creazione di configurazioni di replica S3. Per un elenco completo delle operazioni S3 che supportano i punti di accesso, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).

**Topics**
+ [Elenco dei punti di accesso per bucket per uso generico](access-points-list.md)
+ [Visualizzazione dei dettagli del punto di accesso per bucket per uso generico](access-points-details.md)
+ [Eliminazione del punto di accesso per un bucket per uso generico](access-points-delete.md)

# Elenco dei punti di accesso per bucket per uso generico
<a name="access-points-list"></a>

Questa sezione spiega come elencare i punti di accesso per i bucket generici utilizzando l' Console di gestione AWS API, o REST. AWS Command Line Interface

## Utilizzo della console S3
<a name="access-points-list-console"></a>

**Per elencare i punti di accesso nel tuo Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

## Usando il AWS CLI
<a name="access-points-list-cli"></a>

Il comando di `list-access-points` esempio seguente mostra come utilizzare AWS CLI per elencare i punti di accesso.

Il comando seguente elenca i punti di accesso per Account AWS *111122223333*.

```
aws s3control list-access-points --account-id 111122223333      
```

Il comando seguente elenca i punti di accesso per Account AWS *111122223333* che sono collegati al bucket. *amzn-s3-demo-bucket*

```
aws s3control list-access-points --account-id 111122223333 --bucket amzn-s3-demo-bucket     
```

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-access-points.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-access-points.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="access-points-list-rest"></a>

È possibile utilizzare la REST API per elencare i punti di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Visualizzazione dei dettagli del punto di accesso per bucket per uso generico
<a name="access-points-details"></a>

Questa sezione spiega come visualizzare i dettagli del punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST.

## Utilizzo della console S3
<a name="access-points-details-console"></a>

**Per visualizzare i dettagli del punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Seleziona la scheda **Proprietà** per visualizzare l'origine dei dati del punto di accesso, l'ID account, la data di creazione Regione AWS, l'origine della rete, l'URI S3, l'ARN e l'alias del punto di accesso per il punto di accesso selezionato.

1. Seleziona la scheda **Autorizzazioni** per visualizzare le impostazioni di blocco dell’accesso pubblico e la policy per il punto di accesso selezionato.
**Nota**  
Non è possibile modificare le impostazioni del blocco dell’accesso pubblico per un punto di accesso dopo la sua creazione.

## Usando il AWS CLI
<a name="access-points-details-cli"></a>

Il comando di `get-access-point` esempio seguente mostra come è possibile utilizzare AWS CLI per visualizzare i dettagli del punto di accesso.

Il comando seguente elenca i dettagli per il punto *my-access-point* di accesso da Account AWS *111122223333* collegare al *amzn-s3-demo-bucket* bucket S3.

```
aws s3control get-access-point --name my-access-point --account-id 111122223333         
```

Output di esempio:

```
{
    "Name": "my-access-point",
    "Bucket": "amzn-s3-demo-bucket",
    "NetworkOrigin": "Internet",
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": true,
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2016-08-29T22:57:52Z",
    "Alias": "my-access-point-u1ny6bhm7moymqx8cuon8o1g4mwikuse2a-s3alias",
    "AccessPointArn": "arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point",
    "Endpoints": {
        "ipv4": "s3-accesspoint.Regione AWS.amazonaws.com",
        "fips": "s3-accesspoint-fips.Regione AWS.amazonaws.com",
        "fips_dualstack": "s3-accesspoint-fips.dualstack.Regione AWS.amazonaws.com",
        "dualstack": "s3-accesspoint.dualstack.Regione AWS.amazonaws.com"
    },
    "BucketAccountId": "111122223333"
}
```

Il comando seguente elenca i dettagli del punto *example-fsx-ap* di accesso per. Account AWS *444455556666* Questo punto di accesso è collegato a un FSx file system Amazon.

```
aws s3control get-access-point --name example-fsx-ap --account-id 444455556666         
```

Output di esempio:

```
{
    "Name": "example-fsx-ap",
    "Bucket": "",
    "NetworkOrigin": "Internet",
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": true,
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2025-01-19T14:16:12Z",
    "Alias": "example-fsx-ap-qrqbyebjtsxorhhaa5exx6r3q7-ext-s3alias",
    "AccessPointArn": "arn:aws:s3:Regione AWS:444455556666:accesspoint/example-fsx-ap",
    "Endpoints": {
        "ipv4": "s3-accesspoint.Regione AWS.amazonaws.com",
        "fips": "s3-accesspoint-fips.Regione AWS.amazonaws.com",
        "fips_dualstack": "s3-accesspoint-fips.dualstack.Regione AWS.amazonaws.com",
        "dualstack": "s3-accesspoint.dualstack.Regione AWS.amazonaws.com"
    },
    "DataSourceId": "arn:aws::fsx:Regione AWS:444455556666:file-system/fs-5432106789abcdef0/volume/vol-0123456789abcdef0",
    "DataSourceType": "FSX_OPENZFS"
}
```

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="access-points-details-rest"></a>

È possibile utilizzare la REST API per visualizzare i dettagli del punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Eliminazione del punto di accesso per un bucket per uso generico
<a name="access-points-delete"></a>

Questa sezione spiega come eliminare il punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST.

## Utilizzo della console S3
<a name="access-points-delete-console"></a>

**Per eliminare i tuoi punti di accesso nel tuo Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Dalla pagina **Punto di accesso**, seleziona **Elimina** per eliminare il punto di accesso selezionato.

1. Digita il nome del punto di accesso per confermare l’eliminazione, quindi scegli **Elimina**.

## Usando il AWS CLI
<a name="access-points-delete-cli"></a>

Il comando di `delete-access-point` esempio seguente mostra come utilizzare AWS CLI per eliminare il punto di accesso.

Il comando seguente elimina il punto di accesso *my-access-point* per Account AWS *111122223333*.

```
aws s3control delete-access-point --name my-access-point --account-id 111122223333      
```

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="access-points-delete-rest"></a>

È possibile utilizzare la REST API per visualizzare i dettagli del punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Utilizzo dei punti di accesso Amazon S3 per bucket per uso generico
<a name="using-access-points"></a>

Gli esempi seguenti mostrano come utilizzare i punti di accesso per bucket per uso generico con operazioni compatibili in Amazon S3.

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e questi alias possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

È possibile utilizzare punti di accesso solo per bucket per uso generico per eseguire operazioni sugli oggetti. Non puoi utilizzare access point per eseguire altre operazioni in Amazon S3, ad esempio la modifica o l'eliminazione dei bucket. Per un elenco completo delle operazioni S3 che supportano i punti di accesso, consulta [Compatibilità dei punti di accesso](access-points-service-api-support.md).

**Topics**
+ [Elenco degli oggetti tramite un punto di accesso per un bucket per uso generico](list-object-ap.md)
+ [Download di un oggetto tramite un punto di accesso per un bucket per uso generico](get-object-ap.md)
+ [Configura gli elenchi di controllo degli accessi (ACLs) tramite un punto di accesso per un bucket generico](put-acl-permissions-ap.md)
+ [Caricamento di un oggetto tramite un punto di accesso per un bucket per uso generico](put-object-ap.md)
+ [Aggiunta di un set di tag tramite un punto di accesso per un bucket per uso generico](add-tag-set-ap.md)
+ [Eliminazione di un oggetto tramite un punto di accesso per un bucket per uso generico](delete-object-ap.md)

# Elenco degli oggetti tramite un punto di accesso per un bucket per uso generico
<a name="list-object-ap"></a>

Questa sezione spiega come elencare gli oggetti tramite un punto di accesso per un bucket generico utilizzando l' Console di gestione AWS API, o REST. AWS Command Line Interface

## Utilizzo della console S3
<a name="list-object-ap-console"></a>

**Per elencare i tuoi oggetti tramite un punto di accesso nel tuo Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti** è possibile vedere il nome degli oggetti a cui accedere tramite il punto di accesso. Durante l'utilizzo dell'access point, è possibile eseguire solo le operazioni sugli oggetti consentite dalle autorizzazioni dell'access point.
**Nota**  
La visualizzazione della console mostra sempre tutti gli oggetti presenti nel bucket. L'utilizzo di un access point tipo quello descritto in questa procedura limita le operazioni che puoi eseguire sugli oggetti, ma non la visualizzazione degli oggetti presenti nel bucket.
 Console di gestione AWS Non supporta l'utilizzo di punti di accesso VPC (Virtual Private Cloud) per accedere alle risorse del bucket. Per accedere alle risorse del bucket da un punto di accesso VPC, usa o AWS CLI Amazon AWS SDKs S3 REST. APIs

## Usando il AWS CLI
<a name="list-object-ap-cli"></a>

Il comando di `list-objects-v2` esempio seguente mostra come utilizzare AWS CLI per elencare l'oggetto tramite un punto di accesso.

Il comando seguente elenca gli oggetti per Account AWS *111122223333* l'utilizzo del punto di accesso*my-access-point*.

```
aws s3api list-objects-v2 --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point      
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e questi alias possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-objects-v2.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-objects-v2.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="list-object-ap-rest"></a>

È possibile utilizzare la REST API per elencare i punti di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Download di un oggetto tramite un punto di accesso per un bucket per uso generico
<a name="get-object-ap"></a>

Questa sezione spiega come scaricare un oggetto tramite un punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST.

## Utilizzo della console S3
<a name="get-object-ap-console"></a>

**Per scaricare un oggetto tramite un punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti**, seleziona il nome dell’oggetto da scaricare.

1. Scegli **Scarica**.

## Usando il AWS CLI
<a name="get-object-ap-cli"></a>

Il comando di `get-object` esempio seguente mostra come è possibile utilizzare AWS CLI per scaricare un oggetto tramite un punto di accesso.

Il comando seguente scarica l'oggetto `puppy.jpg` per l' Account AWS *111122223333*utilizzo del punto di accesso*my-access-point*. È necessario includere un `outfile`, che è un nome di file per l’oggetto scaricato, ad esempio `my_downloaded_image.jpg`.

```
aws s3api get-object --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point --key puppy.jpg my_downloaded_image.jpg      
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e questi alias possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="get-object-ap-rest"></a>

È possibile utilizzare la REST API per scaricare un oggetto tramite un punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

## Usando il AWS SDKs
<a name="download-object-ap-SDKs"></a>

Puoi usare l' AWS SDK per Python per scaricare un oggetto tramite un punto di accesso. 

------
#### [ Python ]

Nell'esempio seguente, il file denominato `hello.txt` viene scaricato per AWS account *111122223333* utilizzando il punto di accesso denominato. *my-access-point*

```
import boto3
s3 = boto3.client('s3')
s3.download_file('arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt', '/tmp/hello.txt')
```

------

# Configura gli elenchi di controllo degli accessi (ACLs) tramite un punto di accesso per un bucket generico
<a name="put-acl-permissions-ap"></a>

Questa sezione spiega come configurare ACLs tramite un punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST. Per ulteriori informazioni su ACLs, vedere[Panoramica delle liste di controllo accessi (ACL)](acl-overview.md). 

## Utilizzo della console S3
<a name="put-acl-permissions-ap-console"></a>

**Per eseguire ACLs la configurazione tramite un punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti**, seleziona il nome dell’oggetto per cui desideri configurare un’ACL.

1. Nella scheda **Autorizzazioni**, seleziona **Modifica** per configurare l’ACL dell’oggetto.
**Nota**  
Amazon S3 attualmente non supporta la modifica delle impostazioni di blocco dell'accesso pubblico di un punto di accesso dopo la creazione del punto di accesso.

## Usando il AWS CLI
<a name="put-acl-permissions-ap-cli"></a>

Il comando di `put-object-acl` esempio seguente mostra come è possibile utilizzare AWS CLI per configurare le autorizzazioni di accesso tramite un punto di accesso utilizzando un ACL.

Il comando seguente applica un ACL a un oggetto esistente `puppy.jpg` tramite un punto di accesso di proprietà di. Account AWS *111122223333*

```
aws s3api put-object-acl --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point --key puppy.jpg --acl private      
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e questi alias possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-acl.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="put-acl-permissions-ap-rest"></a>

È possibile utilizzare la REST API per configurare le autorizzazioni di accesso tramite un punto di accesso utilizzando un’ACL. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Caricamento di un oggetto tramite un punto di accesso per un bucket per uso generico
<a name="put-object-ap"></a>

Questa sezione spiega come caricare un oggetto tramite un punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST.

## Utilizzo della console S3
<a name="put-object-ap-console"></a>

**Per caricare un oggetto tramite un punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti**, seleziona **Carica**.

1. Trascina i file e le cartelle che desideri caricare oppure scegli **Aggiungi file** o **Aggiungi cartella**.
**Nota**  
La dimensione massima di un file che è possibile caricare utilizzando la console di Amazon S3 è 160 GB. Per caricare un file di dimensioni superiori a 160 GB, usa AWS Command Line Interface (AWS CLI) o l' AWS SDKsAPI REST di Amazon S3.

1. Per modificare le autorizzazioni della lista di controllo degli accessi, scegli **Permissions (Autorizzazioni)**.

1. In **Access control list (ACL) Lista di controllo degli accessi (ACL)**, modifica le autorizzazioni.

   Per informazioni sulle autorizzazioni di accesso agli oggetti, consulta [Utilizzo della console S3 per impostare le autorizzazioni ACL per un oggetto](managing-acls.md#set-object-permissions). Puoi concedere l'accesso in lettura ai tuoi oggetti al pubblico (chiunque) per tutti i file che stai caricando. Ti consigliamo di non modificare l'impostazione di default per l'accesso pubblico in lettura. La concessione dell'accesso pubblico in lettura si applica a un piccolo sottoinsieme di casi d'uso, ad esempio quando i bucket vengono usati per i siti Web. È sempre possibile apportare modifiche alle autorizzazioni dell'oggetto dopo averlo caricato. 

1. Per configurare altre proprietà scegli **Properties (Proprietà)**.

1. Nella sezione **Classe di storage** seleziona la classe di storage per i file che si stanno caricando.

   Per ulteriori informazioni sulle classi di storage, consulta [Comprensione e gestione delle classi di storage Amazon S3](storage-class-intro.md).

1. Per aggiornare le impostazioni di crittografia per gli oggetti, in **Impostazioni di crittografia lato server** completa le operazioni riportate di seguito.

   1. Scegli **Specify an encryption key (Specifica una chiave di crittografia)**.

   1. In **Impostazioni di crittografia**, scegli **Utilizza le impostazioni del bucket per la crittografia predefinita** o **Ignora le impostazioni del bucket per la crittografia predefinita**.

   1. Se scegli **Ignora le impostazioni del bucket per la crittografia predefinita**, dovrai configurare le seguenti impostazioni di crittografia.
      + Per crittografare i file caricati utilizzando chiavi gestite da Amazon S3, seleziona **Chiave gestita da Amazon S3 (SSE-S3)**.

        Per ulteriori informazioni, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).
      + Per crittografare i file caricati utilizzando le chiavi memorizzate in AWS Key Management Service (AWS KMS), scegli **AWS Key Management Service key (SSE-KMS**). Quindi scegli una delle seguenti opzioni per **Chiave AWS KMS **:
        + Per scegliere da un elenco di chiavi KMS disponibili, seleziona **Scegli tra le chiavi AWS KMS keys**, quindi scegli la **chiave KMS** dall'elenco delle chiavi disponibili.

          In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta [Chiavi gestite dal cliente e chiavi AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *Guida per gli sviluppatori di AWS Key Management Service *.
        + Per inserire l'ARN della chiave KMS, scegli **Inserisci AWS KMS key ARN**, quindi inserisci l'ARN della chiave KMS nel campo visualizzato. 
        + **Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.**

          Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi utilizzare solo le chiavi KMS disponibili nello Regione AWS stesso bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa Regione del bucket. Per utilizzare una chiave KMS non elencata, devi inserire l'ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell'autorizzazione necessaria per l'uso della chiave e quindi inserire l'ARN della chiave KMS.   
Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Identificazione delle chiavi KMS simmetriche e asimmetriche](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

1. Per utilizzare checksum aggiuntivi, scegli **On (Attivato)**. Per **Checksum function (Funzione checksum)**, scegli la funzione che desideri utilizzare. Amazon S3 calcola e archivia il valore del checksum dopo aver ricevuto l'intero oggetto. Puoi utilizzare la casella **Precalculated value (Valore precalcolato)** per fornire un valore precalcolato. In tal caso, Amazon S3 confronta il valore specificato con il valore calcolato. Se i due valori non corrispondono, Amazon S3 genera un errore.

   I checksum aggiuntivi ti consentono di specificare l'algoritmo di checksum che desideri utilizzare per verificare i dati. Per ulteriori informazioni sui checksum aggiuntivi, consulta [Verifica dell'integrità degli oggetti in Amazon S3](checking-object-integrity.md).

1. Per aggiungere tag a tutti gli oggetti che si stanno caricando, scegliere **Add tag (Aggiungi tag)**. Immetti un nome di tag nel campo **Chiave**. Immetti un valore per il tag.

   Il tagging ti consente di catalogare lo storage. Ogni tag è una coppia chiave-valore. I valori delle chiavi e dei tag fanno distinzione tra maiuscole e minuscole. Puoi avere un massimo di 10 tag per oggetto. Una chiave di tag può essere composta da un massimo di 128 caratteri Unicode e i valori di tag possono essere composti da un massimo di 255 caratteri Unicode. Per ulteriori informazioni sui tag degli oggetti, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md).

1. Per aggiungere metadati, seleziona **Aggiungi metadati**.

   1. In **Tipo** seleziona **Definito dal sistema** o **Definito dall'utente**.

      Per i metadati definiti dal sistema, puoi selezionare le intestazioni HTTP comuni, ad esempio **Content-Type** e **Content-Disposition**. Per un elenco di metadati definiti dal sistema e informazioni sulla possibilità di aggiungere il valore, consulta [Metadata di oggetti definiti dal sistema](UsingMetadata.md#SysMetadata). Eventuali metadata che iniziano con il prefisso `x-amz-meta-` sono considerati come metadata definiti dall'utente. I metadati definiti dall'utente vengono archiviati con l'oggetto e vengono restituiti quando si scarica l'oggetto. Sia le chiavi che i relativi valori devono essere conformi agli standard US-ASCII. I metadata definiti dall'utente possono avere una dimensione massima di 2 KB. Per ulteriori informazioni sui metadati definiti dal sistema e definiti dall'utente, consulta [Utilizzo dei metadati degli oggetti](UsingMetadata.md).

   1. Per **Chiave**, seleziona una chiave.

   1. Digitare un valore per la chiave. 

1. Per caricare i tuoi oggetti, scegli **Carica**.

   Amazon S3 caricherà l'oggetto. Al termine del caricamento, sarà visualizzato un messaggio di successo nella pagina **Carica: stato** .

## Usando il AWS CLI
<a name="put-object-ap-cli"></a>

Il comando di `put-object` esempio seguente mostra come utilizzare AWS CLI per caricare un oggetto tramite un punto di accesso.

Il comando seguente carica l'oggetto `puppy.jpg` per l' Account AWS *111122223333*utilizzo del punto *my-access-point* di accesso.

```
aws s3api put-object --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point --key puppy.jpg --body puppy.jpg      
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e gli alias di punti di accesso possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="put-object-ap-rest"></a>

È possibile utilizzare la REST API per caricare un oggetto tramite un punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

## Usando il AWS SDKs
<a name="put-object-ap-SDKs"></a>

Puoi usare l' AWS SDK per Python per caricare un oggetto tramite un punto di accesso. 

------
#### [ Python ]

Nell'esempio seguente, il file denominato `hello.txt` viene caricato per l' AWS account *111122223333* utilizzando il punto di accesso denominato. *my-access-point*

```
import boto3
s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt')
```

------

# Aggiunta di un set di tag tramite un punto di accesso per un bucket per uso generico
<a name="add-tag-set-ap"></a>

Questa sezione spiega come aggiungere un set di tag tramite un punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST. Per ulteriori informazioni, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md).

## Utilizzo della console S3
<a name="add-tag-set-ap-console"></a>

**Per aggiungere un set di tag tramite un punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti**, seleziona il nome dell’oggetto a cui desideri aggiungere un set di tag.

1. Nella scheda **Proprietà**, trova il riquadro **Tag** e scegli **Modifica**.

1. Esamina gli oggetti elencati e scegli **Aggiungi tag**.

1. Ogni tag oggetto è una coppia chiave-valore. Immettere una **chiave** e un **valore**. Per aggiungere un altro tag, scegliere **Add Tag (Aggiungi tag)**.

   È possibile immettere fino a un massimo di 10 tag per ciascun oggetto.

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

## Usando il AWS CLI
<a name="add-tag-set-ap-cli"></a>

Il comando di `put-object-tagging` esempio seguente mostra come è possibile utilizzare AWS CLI per aggiungere un set di tag tramite un punto di accesso.

Il comando seguente aggiunge un set di tag per un oggetto `puppy.jpg` esistente utilizzando un punto di accesso. *my-access-point*

```
aws s3api put-object-tagging --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point --key puppy.jpg --tagging TagSet=[{Key="animal",Value="true"}]     
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e gli alias di punti di accesso possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-tagging.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-tagging.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="add-tag-set-ap-rest"></a>

È possibile utilizzare la REST API per aggiungere un set di tag a un oggetto tramite un punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Eliminazione di un oggetto tramite un punto di accesso per un bucket per uso generico
<a name="delete-object-ap"></a>

Questa sezione spiega come eliminare un oggetto tramite un punto di accesso per un bucket generico utilizzando l'API Console di gestione AWS AWS Command Line Interface, o REST.

## Utilizzo della console S3
<a name="delete-object-ap-console"></a>

**Per eliminare uno o più oggetti tramite un punto di accesso nel Account AWS**

1. Accedi a 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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione per la quale si desidera elencare i punti di accesso. 

1. Nel riquadro di navigazione sul lato sinistro della console scegli **Punti di accesso**.

1. (Facoltativo) Cerca i punti di accesso per nome. Qui Regione AWS verranno visualizzati solo i punti di accesso selezionati.

1. Scegliere il nome del punto di accesso che si desidera gestire o utilizzare.

1. Nella scheda **Oggetti**, seleziona il nome dell’oggetto o degli oggetti da eliminare.

1. Esamina gli oggetti elencati per l’eliminazione e digita *delete* nella casella di conferma.

1. Scegliere **Delete objects (Elimina oggetti)**.

## Usando il AWS CLI
<a name="delete-object-ap-cli"></a>

Il comando di `delete-object` esempio seguente mostra come è possibile utilizzare AWS CLI per eliminare un oggetto tramite un punto di accesso.

Il comando seguente elimina l'oggetto esistente `puppy.jpg` utilizzando un punto *my-access-point* di accesso.

```
aws s3api delete-object --bucket arn:aws:s3:Regione AWS:111122223333:accesspoint/my-access-point --key puppy.jpg      
```

**Nota**  
S3 genera automaticamente gli alias per tutti i punti di accesso e gli alias di punti di accesso possono essere utilizzati ovunque venga utilizzato un nome di bucket per eseguire operazioni a livello di oggetto. Per ulteriori informazioni, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Utilizzo della REST API
<a name="delete-object-ap-rest"></a>

È possibile utilizzare la REST API per eliminare un oggetto tramite un punto di accesso. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Utilizzo di tag con punti di accesso S3 per bucket per uso generico
<a name="access-points-tagging"></a>

Un AWS tag è una coppia chiave-valore che contiene i metadati relativi alle risorse, in questo caso Amazon S3 Access Points. È possibile applicare i tag ai punti di accesso al momento della creazione o gestire i tag dei punti di accesso esistenti. Per informazioni generali sui tag, consulta [Tagging per l’allocazione dei costi o il controllo degli accessi basato su attributi (ABAC)](tagging.md).

**Nota**  
Non sono previsti costi aggiuntivi per l’utilizzo dei tag sui punti di accesso oltre alle tariffe di richiesta API S3 standard. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

## Metodi comuni per utilizzare i tag con i punti di accesso
<a name="common-ways-to-use-tags-directory-bucket"></a>

Controllo degli accessi basato su attributi (ABAC) consente di scalare le autorizzazioni di accesso e fornire l’accesso ai punti di accesso in base ai tag. Per ulteriori informazioni su ABAC in Amazon S3, consulta [Utilizzo dei tag per ABAC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#).

### ABAC per Punti di accesso S3
<a name="abac-for-access-points"></a>

Punti di accesso Amazon S3 supporta il controllo degli accessi basato su attributi (ABAC) tramite tag. Utilizza chiavi di condizione basate su tag nelle policy AWS aziendali, IAM e Access Points. Per le aziende, ABAC in Amazon S3 supporta l'autorizzazione su più AWS account. 

Nelle policy IAM, è possibile controllare l’accesso ai punti di accesso in base ai tag dei punti di accesso utilizzando le seguenti [chiavi di condizione globali](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys):
+ `aws:ResourceTag/key-name`
**Importante**  
La chiave di condizione `aws:ResourceTag` può essere utilizzata solo per le azioni S3 eseguite tramite l’ARN di un punto di accesso per bucket per uso generico e copre solo i tag del punto di accesso sottostante.
  + Utilizzare questa chiave per confrontare la coppia chiave-valore del tag specificata nella policy con la coppia chiave-valore associata alla risorsa. Ad esempio, puoi richiedere che l'accesso a una risorsa sia consentito solo se la risorsa dispone di una chiave di tag `Dept` collegata al valore `Marketing`. Per ulteriori informazioni, consulta [Controllo dell'accesso alle AWS risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources).
+ `aws:RequestTag/key-name`
  + Utilizzare questa chiave per confrontare la coppia chiave-valore del tag passata nella richiesta con la coppia del tag specificata nella policy. Ad esempio, è possibile controllare che la richiesta includa la chiave del tag `Dept` e che abbia il valore `Accounting`. Per ulteriori informazioni, vedere [Controllo dell'accesso durante AWS le richieste](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests). È possibile utilizzare questa chiave di condizione per limitare quali coppie chiave-valore di tag possono essere passate durante le operazioni API `TagResource` e `CreateAccessPoint`.
+ `aws:TagKeys`
  + Utilizzare questa chiave per confrontare le chiavi dei tag in una richiesta con quelle specificate nella policy. Nell'utilizzo delle policy per controllare gli accessi tramite tag, è consigliabile utilizzare la chiave di condizione `aws:TagKeys` per definire le chiavi di tag ammesse. Per esempi di policy e ulteriori informazioni, consulta [Controllo dell’accesso in base alle chiavi di tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys). È possibile creare un punto di accesso con tag. Per consentire il tagging durante l’operazione API `CreateAccessPoint`, è necessario creare una policy che comprende entrambe le azioni `s3:TagResource` e `s3:CreateAccessPoint`. È quindi possibile utilizzare la chiave di condizione `aws:TagKeys` per implementare nella richiesta `CreateAccessPoint` specifici tag.
+ `s3:AccessPointTag/tag-key`
  + Utilizzare questa chiave di condizione per fornire le autorizzazioni a dati specifici tramite punti di accesso con tag. Quando si utilizza `aws:ResourceTag/tag-key` in una policy IAM, sia il punto di accesso sia il bucket a cui punta il punto di accesso devono avere lo stesso tag perché entrambi vengono presi in considerazione durante l’autorizzazione. Per controllare l’accesso ai dati in modo specifico solo tramite il tag del punto di accesso, è possibile utilizzare la chiave di condizione `s3:AccessPointTag/tag-key`.

### Esempi di policy ABAC per i punti di accesso
<a name="example-access-points-abac-policies"></a>

Di seguito sono riportati esempi di policy ABAC per Punti di accesso Amazon S3.

#### 1.1 - Policy IAM per creare o modificare bucket con tag specifici
<a name="example-access-points-user-policy-request-tag"></a>

In questa policy IAM, gli utenti o i ruoli con questa policy possono creare punti di accesso solo se applicano ai punti di accesso i tag con la chiave di tag `project` e il valore di tag `Trinity` nella richiesta di creazione dei punti di accesso. Possono anche aggiungere o modificare i tag sui punti di accesso esistenti, purché la richiesta `TagResource` includa la coppia chiave-valore `project:Trinity` del tag. 

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateAccessPointWithTags",
      "Effect": "Allow",
      "Action": [
        "s3:CreateAccessPoint",
        "s3:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/project": [
            "Trinity"
          ]
        }
      }
    }
  ]
}
```

#### 1.2 - Policy del punto di accesso per limitare le operazioni sul punto di accesso con tag
<a name="example-access-points-user-policy-resource-tag"></a>

In questa policy del punto di accesso, i principali IAM (utenti e ruoli) possono eseguire operazioni utilizzando l’azione `GetObject` sul punto di accesso solo se il valore del tag `project` del punto di accesso corrisponde al valore del tag `project` del principale.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowObjectOperations",
      "Effect": "Allow",
      "Principal": {
        "AWS": "111122223333"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        }
      }
    }
  ]
}
```

#### 1.3 - Policy IAM per modificare i tag sulle risorse esistenti mantenendo la governance dei tag
<a name="example-access-points-user-policy-tag-keys"></a>

In questa policy IAM, i principali IAM (utenti o ruoli) possono modificare i tag su un punto di accesso solo se il valore del tag `project` del punto di accesso corrisponde al valore del tag `project` del principale. Solo i quattro tag `project`, `environment`, `owner` e `cost-center` specificati nelle chiavi di condizione `aws:TagKeys` sono consentiti per questi punti di accesso. Ciò aiuta a rafforzare la governance dei tag, impedisce modifiche non autorizzate dei tag e mantiene lo schema di tagging coerente tra i punti di accesso.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceTaggingRulesOnModification",
      "Effect": "Allow",
      "Action": [
        "s3:TagResource"
      ],
      "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

#### 1.4 - Uso della chiave di AccessPointTag condizione s3:
<a name="example-access-points-policy-bucket-tag"></a>

In questa policy IAM, l’istruzione di condizione consente l’accesso ai dati del bucket se il punto di accesso ha la chiave di tag `Environment` e il valore di tag `Production`. 

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToSpecificAccessPoint",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "s3:AccessPointTag/Environment": "Production"
        }
      }
    }
  ]
}
```

#### 1.5 - Utilizzo di una policy di delega del bucket
<a name="example-access-points-policy-delegate"></a>

In Amazon S3, puoi delegare l'accesso o il controllo della tua policy sui bucket S3 a un altro AWS account o a un utente o ruolo specifico AWS Identity and Access Management (IAM) nell'altro account. La policy di bucket con delega fornisce all’altro account, utente o ruolo l’autorizzazione al bucket e ai suoi oggetti. Per ulteriori informazioni, consulta [Delega delle autorizzazioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html#permission-delegation). 

Se si utilizza una policy di bucket con delega, come la seguente: 

```
{
  "Version": "2012-10-17",		 	 	 
    "Statement": {
      "Principal": {"AWS": "*"},
        "Effect": "Allow",
        "Action": ["s3:*"],
        "Resource":["arn:aws::s3:::amzn-s3-demo-bucket/*", "arn:aws::s3:::amzn-s3-demo-bucket"],
           "Condition": {
             "StringEquals" : {
                "s3:DataAccessPointAccount" : "111122223333"
             }
           }
    }
}
```

Nella seguente policy IAM, l’istruzione condizionale consente l’accesso ai dati del bucket se il punto di accesso ha la chiave di tag `Environment` e il valore di tag `Production`. 

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToSpecificAccessPoint",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "s3:AccessPointTag/Environment": "Production"
        }
      }
    }
  ]
}
```

## Utilizzo dei tag per i punti di accesso per bucket per uso generico
<a name="working-with-tags-access-points"></a>

Puoi aggiungere o gestire tag per i punti di accesso utilizzando la console Amazon S3, l'interfaccia a riga di AWS comando (CLI) AWS SDKs, o utilizzando S3 APIs:, e. [TagResource[UntagResource[ListTagsForResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) Per ulteriori informazioni, consulta:

**Topics**
+ [Metodi comuni per utilizzare i tag con i punti di accesso](#common-ways-to-use-tags-directory-bucket)
+ [Utilizzo dei tag per i punti di accesso per bucket per uso generico](#working-with-tags-access-points)
+ [Creazione di punti di accesso con tag](access-points-create-tag.md)
+ [Aggiunta di tag a un punto di accesso](access-points-tag-add.md)
+ [Visualizzazione dei tag dei punti di accesso](access-points-tag-view.md)
+ [Eliminazione di un tag da un punto di accesso](access-points-tag-delete.md)

# Creazione di punti di accesso con tag
<a name="access-points-create-tag"></a>

È possibile applicare i tag ai punti di accesso al momento della loro creazione. Non sono previsti costi aggiuntivi per l’utilizzo dei tag sui punti di accesso oltre alle tariffe di richiesta API S3 standard. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://docs.aws.amazon.com/s3/pricing/). Per ulteriori informazioni sul tagging dei punti di accesso, consulta [Utilizzo di tag con punti di accesso S3 per bucket per uso generico](access-points-tagging.md).

## Permissions
<a name="access-points-create-tag-permissions"></a>

Per creare un punto di accesso con tag, è necessario disporre delle seguenti autorizzazioni:
+ `s3:CreateBucket`
+ `s3:TagResource`

## Risoluzione degli errori
<a name="access-points-create-tag-troubleshooting"></a>

Se si verifica un errore durante il tentativo di creare un punto di accesso con tag, è possibile effettuare quanto segue: 
+ Verificare di disporre delle [Permissions](#access-points-create-tag-permissions) richieste per creare il punto di accesso e aggiungervi un tag.
+ Controllare la policy dell’utente IAM per eventuali condizioni del controllo degli accessi basato su attributi (ABAC). Potrebbe essere necessario etichettare i punti di accesso solo con chiavi e valori di tag specifici. Per ulteriori informazioni, consulta [Utilizzo dei tag per il controllo degli accessi basato su attributi (ABAC)](tagging.md#using-tags-for-abac).

## Fasi
<a name="access-points-create-tag-steps"></a>

Puoi creare un punto di accesso con tag applicati utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-points-create-tag-console"></a>

Per creare un punto di accesso con tag utilizzando la console Amazon S3:

1. Accedi alla console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Punti di accesso (bucket per uso generico)**.

1. Scegli **Crea punto di accesso** per creare un nuovo punto di accesso.

1. Nella pagina **Crea punto di accesso**, **Tag** è un’opzione per la creazione di un nuovo punto di accesso.

1. Immetti un nome per il punto di accesso. Per ulteriori informazioni, consulta [Regole di denominazione, restrizioni e limitazioni dei punti di accesso](access-points-restrictions-limitations-naming-rules.md).

1. Scegli **Aggiungi nuovo tag** per aprire l’editor di **tag** e inserisci una coppia chiave-valore di tag. La chiave di tag è obbligatoria, mentre il valore è facoltativo. 

1. Per aggiungere un altro tag, scegli nuovamente **Aggiungi nuovo tag**. È possibile inserire fino a 50 coppie chiave-valore di tag.

1. Dopo aver specificato le opzioni per il nuovo punto di accesso, scegli **Crea punto di accesso**. 

## Utilizzando il AWS SDKs
<a name="access-points-create-tag-sdks"></a>

------
#### [ SDK for Java 2.x ]

Questo esempio mostra come creare un punto di accesso con tag utilizzando AWS SDK for Java 2.x. Per utilizzare il comando sostituiscili *user input placeholders* con le tue informazioni. 

```
CreateAccessPointRequest createAccessPointRequest = CreateAccessPointRequest.builder()
                .accountId(111122223333)
                .name(my-access-point)
                .bucket(amzn-s3-demo-bucket)
                .tags(Collections.singletonList(Tag.builder().key("key1").value("value1").build()))
                .build();
 awss3Control.createAccessPoint(createAccessPointRequest);
```

------

## Utilizzo della REST API
<a name="access-points-tag-delete-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la creazione di un punto di accesso con tag, consulta la sezione seguente nella *Guida di riferimento delle API di Amazon Simple Storage Service*:
+ [CreateAccessPoint](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html)

## Usando il AWS CLI
<a name="access-points-create-tag-cli"></a>

*Per installare la AWS CLI, consulta [Installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella Guida per l'utente.AWS Command Line Interface *

Il seguente esempio della CLI mostra come creare un punto di accesso con tag utilizzando la AWS CLI. Per utilizzare il comando, sostituiscilo *user input placeholders* con le tue informazioni.

**Richiesta:**

```
aws s3control create-access-point --name my-access-point \
--bucket amzn-s3-demo-bucket \
--account-id 111122223333 \ --profile personal \
--tags [{Key=key1,Value=value1},{Key=key2,Value=value2}] \
--region region
```

# Aggiunta di tag a un punto di accesso
<a name="access-points-tag-add"></a>



È possibile aggiungere i tag ai Punti di accesso Amazon S3 e modificare questi tag. Non sono previsti costi aggiuntivi per l’utilizzo dei tag sui punti di accesso oltre alle tariffe di richiesta API S3 standard. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://docs.aws.amazon.com/s3/pricing/). Per ulteriori informazioni sul tagging dei punti di accesso, consulta [Utilizzo di tag con punti di accesso S3 per bucket per uso generico](access-points-tagging.md).

## Permissions
<a name="access-points-tag-add-permissions"></a>

Per aggiungere un tag a un punto di accesso, è necessario disporre della seguente autorizzazione:
+ `s3:TagResource`

## Risoluzione degli errori
<a name="access-points-tag-add-troubleshooting"></a>

Se si verifica un errore durante il tentativo di aggiungere un tag a un punto di accesso, è possibile effettuare quanto segue: 
+ Verificare di disporre delle [Permissions](#access-points-tag-add-permissions) richieste per aggiungere un tag a un punto di accesso.
+ Se hai tentato di aggiungere una chiave di tag che inizia con il prefisso AWS riservato`aws:`, modifica la chiave del tag e riprova. 

## Fasi
<a name="access-points-tag-add-steps"></a>

Puoi aggiungere tag ai punti di accesso utilizzando la console Amazon S3, l'interfaccia a riga di AWS comando (AWS CLI), l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-points-tag-add-console"></a>

Per aggiungere tag a un punto di accesso utilizzando la console Amazon S3:

1. Accedi alla console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Punti di accesso (bucket per uso generico)**.

1. Scegliere il nome del punto di accesso. 

1. Scegliere la scheda **Properties (Proprietà)**. 

1. Scorri la sezione **Tag** e scegli **Aggiungi nuovo tag**. 

1. Viene visualizzata la pagina **Aggiungi tag**. È possibile inserire fino a 50 coppie chiave-valore di tag. 

1. Se si aggiunge un nuovo tag con lo stesso nome di chiave di un tag esistente, il valore del nuovo tag sovrascrive il valore del tag esistente.

1. In queta pagina è anche possibile modificare i valori dei tag esistenti.

1. Dopo aver aggiunto i tag, scegli **Salva le modifiche**. 

## Utilizzando il AWS SDKs
<a name="access-points-tag-add-sdks"></a>

------
#### [ SDK for Java 2.x ]

Questo esempio mostra come aggiungere tag a un punto di accesso utilizzando AWS SDK for Java 2.x. Per utilizzare il comando sostituiscili *user input placeholders* con le tue informazioni. 

```
TagResourceRequest tagResourceRequest = TagResourceRequest.builder().resourceArn(arn:aws::s3:region:111122223333:accesspoint/my-access-point/*)
.accountId(111122223333)
.tags(List.of(Tag.builder().key("key1").value("value1").build(),
Tag.builder().key("key2").value("value2").build()))
.build();
awss3Control.tagResource(tagResourceRequest);
```

------

## Utilizzo della REST API
<a name="access-points-tag-add-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per l’aggiunta di tag a un punto di accesso, consulta la sezione seguente nella *Guida di riferimento delle API di Amazon Simple Storage Service*:
+ [TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html)

## Usando il AWS CLI
<a name="access-points-tag-add-cli"></a>

*Per installare la AWS CLI, consulta [Installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella Guida per l'utente.AWS Command Line Interface *

Il seguente esempio della CLI mostra come aggiungere tag a un punto di accesso utilizzando la AWS CLI. Per utilizzare il comando, sostituiscilo *user input placeholders* con le tue informazioni.

**Richiesta:**

```
aws s3control tag-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3:region:111122223333:accesspoint/my-access-point/* \
--tags "Key=key1,Value=value1"
```

**Risposta:**

```
{
  "ResponseMetadata": {
      "RequestId": "EXAMPLE123456789",
      "HTTPStatusCode": 200,
      "HTTPHeaders": {
          "date": "Wed, 19 Jun 2025 10:30:00 GMT",
          "content-length": "0"
      },
      "RetryAttempts": 0
  }
}
```

# Visualizzazione dei tag dei punti di accesso
<a name="access-points-tag-view"></a>

È possibile visualizzare o elencare i tag applicati ai punti di accesso. Per ulteriori informazioni sui tag, consulta [Utilizzo di tag con punti di accesso S3 per bucket per uso generico](access-points-tagging.md).

## Permissions
<a name="access-points-tag-view-permissions"></a>

Per visualizzare i tag applicati a un punto di accesso, è necessario disporre della seguente autorizzazione: 
+ `s3:ListTagsForResource`

## Risoluzione degli errori
<a name="access-points-tag-view-troubleshooting"></a>

Se si verifica un errore durante il tentativo di elencare o visualizzare i tag di un punto di accesso, è possibile effettuare quanto segue: 
+ Verificare di disporre delle [Permissions](#access-points-tag-view-permissions) richieste per visualizzare o elencare i tag del punto di accesso.

## Fasi
<a name="access-points-tag-view-steps"></a>

Puoi visualizzare i tag applicati ai punti di accesso utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-points-tag-view-console"></a>

Per visualizzare i tag applicati a un punto di accesso utilizzando la console Amazon S3:

1. Accedi alla console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Punti di accesso (bucket per uso generico)**.

1. Scegliere il nome del punto di accesso. 

1. Scegliere la scheda **Properties (Proprietà)**. 

1. Scorri fino alla sezione **Tag** per visualizzare tutti i tag applicati al punto di accesso. 

1. La sezione **Tag** mostra i **Tag definiti dall’utente** per impostazione predefinita. Puoi selezionare la scheda **AWS-generated tags** per visualizzare i tag applicati al tuo access point in base AWS ai servizi.

## Utilizzando il AWS SDKs
<a name="access-points-tag-view-sdks"></a>

Questa sezione fornisce un esempio di come visualizzare i tag applicati a un punto di accesso utilizzando AWS SDKs.

------
#### [ SDK for Java 2.x ]

Questo esempio mostra come visualizzare i tag applicati a un punto di accesso utilizzando AWS SDK for Java 2.x. 

```
ListTagsForResourceRequest listTagsForResourceRequest = ListTagsForResourceRequest
.builder().resourceArn(arn:aws::s3:region:111122223333:accesspoint/my-access-point/*)
                .accountId(111122223333).build();
awss3Control.listTagsForResource(listTagsForResourceRequest);
```

------

## Utilizzo della REST API
<a name="access-points-tag-view-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la visualizzazione dei tag applicati a un punto di accesso, consulta la sezione seguente nella *Guida di riferimento delle API di Amazon Simple Storage Service*:
+ [ListTagsforResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)

## Usando il AWS CLI
<a name="access-points-tag-view-cli"></a>

*Per installare la AWS CLI, consulta [Installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella Guida per l'utente.AWS Command Line Interface *

Il seguente esempio della CLI mostra come visualizzare i tag applicati un punto di accesso. Per utilizzare il comando, sostituiscilo *user input placeholders* con le tue informazioni.

**Richiesta:**

```
aws s3control list-tags-for-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3:region:444455556666:bucket/prefix--use1-az4--x-s3 \
```

**Risposta con tag:**

```
{
  "Tags": [
      {
          "Key": "MyKey1",
          "Value": "MyValue1"
      },
      {
          "Key": "MyKey2",
          "Value": "MyValue2"
      },
      {
          "Key": "MyKey3",
          "Value": "MyValue3"
      }
  ]
}
```

**Risposta senza tag:**

```
{
  "Tags": []
}
```

# Eliminazione di un tag da un punto di accesso
<a name="access-points-tag-delete"></a>

È possibile rimuovere i tag dai Punti di accesso Amazon S3. Un AWS tag è una coppia chiave-valore che contiene i metadati relativi alle risorse, in questo caso gli Access Points. Per ulteriori informazioni sui tag, consulta [Utilizzo di tag con punti di accesso S3 per bucket per uso generico](access-points-tagging.md).

**Nota**  
Se si elimina un tag e in seguito si scopre che veniva utilizzato per monitorare i costi o per il controllo degli accessi, è possibile aggiungere nuovamente il tag al punto di accesso. 

## Permissions
<a name="access-points-tag-delete-permissions"></a>

Per eliminare un tag da un punto di accesso, è necessario disporre della seguente autorizzazione: 
+ `s3:UntagResource`

## Risoluzione degli errori
<a name="access-points-tag-delete-troubleshooting"></a>

Se si verifica un errore durante il tentativo di eliminare un tag da un punto di accesso, è possibile effettuare quanto segue: 
+ Verificare di disporre delle [Permissions](access-points-db-tag-delete.md#access-points-db-tag-delete-permissions) richieste per eliminare un tag da un punto di accesso.

## Fasi
<a name="access-points-tag-delete-steps"></a>

Puoi eliminare i tag dai punti di accesso utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-points-tag-delete-console"></a>

Per eliminare i tag da un punto di accesso utilizzando la console Amazon S3:

1. Accedi alla console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Punti di accesso (bucket per uso generico)**.

1. Scegliere il nome del punto di accesso. 

1. Scegliere la scheda **Properties (Proprietà)**. 

1. Scorri fino alla sezione **Tag** e seleziona la casella di controllo accanto al tag o ai tag che desideri eliminare. 

1. Scegli **Elimina**. 

1. Viene visualizzato il pop-up **Elimina tag definiti dall’utente** che chiede di confermare l’eliminazione del tag o dei tag selezionati. 

1. Seleziona **Elimina** per confermare.

## Utilizzando il AWS SDKs
<a name="access-points-tag-delete-sdks"></a>

------
#### [ SDK for Java 2.x ]

Questo esempio mostra come eliminare i tag da un punto di accesso utilizzando AWS SDK for Java 2.x. Per utilizzare il comando sostituiscili *user input placeholders* con le tue informazioni. 

```
UntagResourceRequest tagResourceRequest = UntagResourceRequest.builder()
                .resourceArn(arn:aws::s3:region:111122223333:accesspoint/my-access-point/*)
                .accountId(111122223333)
                .tagKeys(List.of("key1", "key2")).build();
awss3Control.untagResource(tagResourceRequest);
```

------

## Utilizzo della REST API
<a name="access-points-tag-delete-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per l’eliminazione dei tag da un punto di accesso, consulta la sezione seguente nella *Guida di riferimento delle API di Amazon Simple Storage Service*:
+ [UnTagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html)

## Usando il AWS CLI
<a name="access-points-tag-delete-cli"></a>

*Per installare la AWS CLI, consulta [Installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella Guida per l'utente.AWS Command Line Interface *

Il seguente esempio della CLI mostra come eliminare i tag da un punto di accesso utilizzando la AWS CLI. Per utilizzare il comando, sostituiscilo *user input placeholders* con le tue informazioni.

**Richiesta:**

```
aws s3control untag-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3:region:444455556666:access-point/my-access-point \
--tag-keys "tagkey1" "tagkey2"
  
  
  aws s3control untag-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3:region:444455556666:accesspointmy-access-point/* \
--tag-keys "key1" "key2"
```

**Risposta:**

```
{
  "ResponseMetadata": {
    "RequestId": "EXAMPLE123456789",
    "HTTPStatusCode": 204,
    "HTTPHeaders": {
        "date": "Wed, 19 Jun 2025 10:30:00 GMT",
        "content-length": "0"
    },
    "RetryAttempts": 0
  }
}
```

# Gestione dell'accesso con S3 Access Grants
<a name="access-grants"></a>

Per aderire al principio del privilegio minimo, definisci l'accesso granulare ai dati di Amazon S3 in base ad applicazioni, personaggi, gruppi o unità organizzative. Puoi utilizzare diversi approcci per ottenere un accesso granulare ai tuoi dati in Amazon S3, a seconda della dimensione e della complessità dei modelli di accesso. 

L'approccio più semplice per gestire l'accesso a small-to-medium numerosi set di dati in Amazon S3 AWS Identity and Access Management tramite i principali (IAM) consiste nel [definire le policy di autorizzazione IAM](https://docs.aws.amazon.com/AmazonS3/latest/userguide/user-policies.html) [e](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) le policy dei bucket S3. Questa strategia funziona, a condizione che le policy necessarie rientrino nei limiti di dimensione delle policy del bucket S3 (20 KB) e delle policy IAM (5 KB), nonché nel [numero di principali IAM consentiti per account](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). 

Man mano che il numero di set di dati e di casi d'uso aumenta, potresti aver bisogno di più spazio per le policy. Un approccio che offre uno spazio significativamente maggiore per le istruzioni di policy consiste nell'utilizzare i [Punti di accesso S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) come endpoint aggiuntivi per i bucket S3, poiché ogni punto di accesso può avere una propria policy. È possibile definire modelli di controllo degli accessi piuttosto granulari, poiché è possibile disporre di migliaia di punti di accesso Regione AWS per account, con una politica di dimensioni fino a 20 KB per ogni punto di accesso. Sebbene i Punti di accesso S3 aumentino la quantità di spazio disponibile per le policy, è necessario un meccanismo che consenta ai client di individuare il punto di accesso corretto per il set di dati corretto.

Un terzo approccio consiste nell'implementare un modello di [broker di sessione IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html), in cui si implementa la logica di decisione di accesso e si generano dinamicamente credenziali di sessione IAM a breve termine per ogni sessione di accesso. Mentre l'approccio del broker di sessione IAM supporta arbitrariamente modelli di autorizzazioni dinamici nonché una scalabilità efficace, è necessario costruire la logica dei modelli di accesso. 

Invece di utilizzare questi approcci, è possibile utilizzare S3 Access Grants per gestire l'accesso ai dati Amazon S3. S3 Access Grants fornisce un modello semplificato per definire le autorizzazioni di accesso ai dati in Amazon S3 per prefisso, bucket o oggetto. Inoltre, puoi utilizzare S3 Access Grants per concedere l'accesso sia ai principali IAM che direttamente a utenti o gruppi dalla tua directory aziendale. 

In genere si definiscono le autorizzazioni per i dati in Amazon S3 mappando utenti e gruppi a set di dati. Puoi utilizzare S3 Access Grants per definire mappature di accesso diretto dei prefissi S3 a utenti e ruoli all'interno di bucket e oggetti Amazon S3. Con lo schema di accesso semplificato di S3 Access Grants, puoi concedere l'accesso in sola lettura, sola scrittura o lettura-scrittura in base al prefisso S3 sia ai principali IAM che direttamente a utenti o gruppi da una directory aziendale. Con queste funzionalità di S3 Access Grants, le applicazioni possono richiedere dati da Amazon S3 per conto dell'utente attualmente autenticato dell'applicazione.

Quando integri S3 Access Grants con la funzionalità di [propagazione dell'identità affidabile](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html) di AWS IAM Identity Center, le tue applicazioni possono effettuare richieste Servizi AWS (incluso S3 Access Grants) direttamente per conto di un utente autenticato della directory aziendale. Le tue applicazioni non devono più mappare prima l'utente a un principale IAM. Inoltre, poiché le identità degli utenti finali vengono propagate fino ad Amazon S3, l'audit degli utenti che hanno avuto accesso a un determinato oggetto S3 è semplificato. Non è più necessario ricostruire la relazione tra diversi utenti e sessioni IAM. Quando utilizzi S3 Access Grants con la propagazione delle identità attendibili del Centro identità IAM, ogni evento relativo ai dati [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) per Amazon S3 contiene un riferimento diretto all'utente finale per conto del quale è stato effettuato l'accesso ai dati.

[La propagazione affidabile delle identità](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) è una AWS IAM Identity Center funzionalità che gli amministratori di connected Servizi AWS possono utilizzare per concedere e controllare l'accesso ai dati del servizio. L’accesso a questi dati si basa su attributi utente come le associazioni di gruppo. La configurazione di una propagazione affidabile delle identità richiede la collaborazione tra gli amministratori di connected Servizi AWS e gli amministratori di IAM Identity Center. Per ulteriori informazioni, consulta [Prerequisites and considerations](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html).

Per ulteriori informazioni sugli S3 Access Grants, consulta i seguenti argomenti.

**Topics**
+ [Concetti di S3 Access Grants](access-grants-concepts.md)
+ [S3 Access Grants e identità delle directory aziendali](access-grants-directory-ids.md)
+ [Nozioni di base su S3 Access Grants](access-grants-get-started.md)
+ [Operazioni con le istanze S3 Access Grants](access-grants-instance.md)
+ [Operazioni con le posizioni S3 Access Grants](access-grants-location.md)
+ [Operazioni con le concessioni in S3 Access Grants](access-grants-grant.md)
+ [Ottenere i dati S3 utilizzando i grant di accesso](access-grants-data.md)
+ [Accesso multi-account S3 Access Grants](access-grants-cross-accounts.md)
+ [Gestione dei tag per S3 Access Grants](access-grants-tagging.md)
+ [Limitazioni di S3 Access Grants](access-grants-limitations.md)
+ [Integrazioni con S3 Access Grants](access-grants-integrations.md)

# Concetti di S3 Access Grants
<a name="access-grants-concepts"></a>

**Flusso di lavoro per S3 Access Grants**  
Il flusso di lavoro per S3 Access Grants è il seguente: 

1. Crea un'istanza S3 Access Grants. Per informazioni, consulta [Operazioni con le istanze S3 Access Grants](access-grants-instance.md).

1. All'interno della tua istanza S3 Access Grants, registra le posizioni nei tuoi dati Amazon S3 e associa queste posizioni AWS Identity and Access Management ai ruoli (IAM). Per informazioni, consulta [Registrazione di una posizione](access-grants-location-register.md). 

1. Crea concessioni per i beneficiari, che danno loro accesso alle tue risorse S3. Per informazioni, consulta [Operazioni con le concessioni in S3 Access Grants](access-grants-grant.md).

1. Il beneficiario richiede le credenziali temporanee a S3 Access Grants. Per informazioni, consulta [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md).

1. Il beneficiario accede ai dati S3 utilizzando queste credenziali temporanee. Per informazioni, consulta [Accedere ai dati S3 utilizzando le credenziali fornite da S3 Access Grants](access-grants-get-data.md).

Per ulteriori informazioni, consulta [Nozioni di base su S3 Access Grants](access-grants-get-started.md).

 **Istanze S3 Access Grants**   
Un'*istanza S3 Access Grants* è un container logico per singole *concessioni*. Quando si crea un'istanza S3 Access Grants, è necessario specificare Regione AWS. Ciascuna Regione AWS istanza Account AWS può avere un'istanza S3 Access Grants. Per ulteriori informazioni, consulta [Operazioni con le istanze S3 Access Grants](access-grants-instance.md).  
Se desideri utilizzare S3 Access Grants per concedere l'accesso alle identità di utenti e gruppi dalla tua directory aziendale, devi anche associare la tua istanza S3 Access Grants a un'istanza. AWS IAM Identity Center Per ulteriori informazioni, consulta [S3 Access Grants e identità delle directory aziendali](access-grants-directory-ids.md).  
Un'istanza S3 Access Grants appena creata è vuota. È necessario registrare una posizione nell'istanza, che può essere il percorso predefinito di S3 (`s3://`), un bucket o un prefisso all'interno di un bucket. Dopo aver registrato almeno un'ubicazione, è possibile creare dei permessi di accesso che consentono di accedere ai dati di questa ubicazione registrata.

 **Posizioni**   
Una *localizzazione* di S3 Access Grants associa i bucket o i prefissi a un ruolo (IAM). AWS Identity and Access Management S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee al beneficiario che accede a quella particolare posizione. Prima di poter creare una concessione di accesso, è necessario registrare almeno una posizione nell'istanza S3 Access Grants.   
Si consiglia di registrare la posizione predefinita (`s3://`) e di mapparla a un ruolo IAM. La posizione nel percorso S3 predefinito (`s3://`) copre l'accesso a tutti i bucket S3 nel tuo account. Regione AWS Quando si crea una concessione di accesso, è possibile restringere l'ambito della concessione a un bucket, a un prefisso o a un oggetto all'interno della posizione predefinita.  
Casi di utilizzo della gestione degli accessi più complessi potrebbero richiedere la registrazione di più posizioni rispetto a quella predefinita. Alcuni esempi di questi casi d'uso sono:  
+ Si supponga che il bucket *amzn-s3-demo-bucket* sia una posizione registrata nella tua istanza S3 Access Grants con un ruolo IAM mappato su di essa, ma a questo ruolo IAM sia negato l'accesso a un particolare prefisso all'interno del bucket. In questo caso, è possibile registrare il prefisso a cui il ruolo IAM non ha accesso come posizione separata e mappare tale posizione a un altro ruolo IAM con l'accesso necessario. 
+ Si supponga di voler creare dei grant che limitino l'accesso solo agli utenti all'interno di un endpoint di un cloud privato virtuale (VPC). In questo caso, è possibile registrare una posizione per un bucket in cui il ruolo IAM limita l'accesso all'endpoint VPC. Successivamente, quando un beneficiario chiede le credenziali a S3 Access Grants, S3 Access Grants assume il ruolo IAM della sede per vendere le credenziali temporanee. Questa credenziale negherà l'accesso al bucket specifico a meno che il chiamante non si trovi all'interno dell'endpoint VPC. Questa autorizzazione di negazione viene applicata in aggiunta alle normali autorizzazioni READ, WRITE o READWRITE specificate nella concessione.
Se il caso d'uso richiede la registrazione di più posizioni nell'istanza di S3 Access Grants, è possibile registrare uno dei seguenti elementi:  
+ Il percorso S3 predefinito (`s3://`)
+ Un bucket (ad esempio, *amzn-s3-demo-bucket*) o più bucket
+ Un bucket e un prefisso (ad esempio, `amzn-s3-demo-bucket/prefix*`) o più prefissi
Per il numero massimo di sedi che è possibile registrare nell'istanza di S3 Access Grants, consulta [Limitazioni di S3 Access Grants](access-grants-limitations.md). Per ulteriori informazioni sulla registrazione di una posizione S3 Access Grants, consulta [Registrazione di una posizione](access-grants-location-register.md).   
Dopo aver registrato la prima posizione nell'istanza S3 Access Grants, l'istanza non ha ancora alcun singolo accesso garantito. Pertanto, non è ancora stato concesso l'accesso a nessuno dei dati S3. È ora possibile creare concessioni di accesso per concedere l'accesso. Per ulteriori informazioni sulla creazione di concessioni, consulta [Operazioni con le concessioni in S3 Access Grants](access-grants-grant.md). 

 **Concessioni**   
Una *concessione* individuale in un'istanza S3 Access Grants consente a un'identità specifica, un principale IAM o un utente o un gruppo di una directory aziendale, di ottenere l'accesso all'interno di una posizione registrata nell'istanza S3 Access Grants.   
Quando si crea una concessione, non è necessario concedere l'accesso all'intera postazione registrata. È possibile restringere l'ambito di accesso della concessione all'interno di una località. Se la posizione registrata è il percorso S3 predefinito (`s3://`), è necessario restringere l'ambito della concessione a un bucket, a un prefisso all'interno di un bucket o a un oggetto specifico. Se la posizione registrata del grant è un bucket o un prefisso, si può dare accesso all'intero bucket o prefisso, oppure si può restringere l'ambito del grant a un prefisso, sottoprefisso o oggetto.  
Nella concessione, si imposta anche il livello di accesso della concessione su READ, WRITE o READWRITE. Si supponga di avere una concessione che dia al gruppo della directory aziendale `01234567-89ab-cdef-0123-456789abcdef` l'accesso in lettura al bucket `s3://amzn-s3-demo-bucket/projects/items/*`. Gli utenti di questo gruppo possono avere accesso in modalità READ a tutti gli oggetti che hanno un nome di chiave dell'oggetto che inizia con il prefisso `projects/items/` nel bucket denominato *amzn-s3-demo-bucket*.   
Per il numero massimo di concessioni che è possibile creare nell'istanza S3 Access Grants, consulta [Limitazioni di S3 Access Grants](access-grants-limitations.md). Per ulteriori informazioni sulla creazione di concessioni, consulta [Creazione di concessioni](access-grants-grant-create.md).

 **Credenziali temporanee di S3 Access Grants**   
*Dopo aver creato una concessione, un'applicazione autorizzata che utilizza l'identità specificata nella concessione può richiedere le credenziali di accesso. just-in-time * A tale scopo, l'applicazione richiama l'operazione API [GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)S3. I beneficiari possono utilizzare questa operazione API per richiedere l'accesso ai dati S3 che hai condiviso con loro.   
L'istanza S3 Access Grants valuta la richiesta `GetDataAccess` rispetto alle concessioni di cui dispone. Se esiste una concessione corrispondente per il richiedente, S3 Access Grants assume il ruolo IAM associato alla posizione registrata del grant corrispondente. S3 Access Concede i permessi delle credenziali temporanee per accedere solo al bucket, al prefisso o all'oggetto S3 specificato dall'ambito del grant.  
Il tempo di scadenza delle credenziali di accesso temporanee è predefinito a 1 ora, ma è possibile impostarlo su qualsiasi valore compreso tra 15 minuti e 12 ore. Vedi la durata massima della sessione nel riferimento all'[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API. 

## Come funziona
<a name="access-grants-concepts-how"></a>

Nel diagramma seguente, una posizione Amazon S3 predefinita con l'ambito `s3://` è registrata con il ruolo IAM `s3ag-location-role`. Questo ruolo IAM dispone delle autorizzazioni per eseguire azioni Amazon S3 all'interno dell'account quando le sue credenziali vengono ottenute tramite S3 Access Grants. 

In questa posizione, vengono create due concessioni di accesso individuali per due utenti IAM. All'utente IAM Bob vengono concessi gli accessi `READ` e `WRITE` al prefisso `bob/` nel bucket `DOC-BUCKET-EXAMPLE`. A un altro ruolo IAM, Alice, viene concesso solo l'accesso a `READ` sul prefisso `alice/` nel bucket `DOC-BUCKET-EXAMPLE`. Viene definita una concessione, colorata in blu, per consentire a Bob di accedere al prefisso `bob/` nel bucket `DOC-BUCKET-EXAMPLE`. Viene definita una concessione, colorata in verde, per consentire ad Alice di accedere al prefisso `alice/` nel bucket `DOC-BUCKET-EXAMPLE`.

Quando Bob è il momento di passare ai `READ` dati, il ruolo IAM associato alla località in cui si trova la sua concessione richiama l'operazione dell'[GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)API S3 Access Grants. Se Bob tenta di leggere (`READ`) un qualsiasi prefisso o oggetto S3 che inizia con `s3://DOC-BUCKET-EXAMPLE/bob/*`, la richiesta `GetDataAccess` restituisce un set di credenziali di sessione IAM temporanee con autorizzazione a `s3://DOC-BUCKET-EXAMPLE/bob/*`. Allo stesso modo, Bob può scrivere (`WRITE`) su qualsiasi prefisso o oggetto S3 che inizi con `s3://DOC-BUCKET-EXAMPLE/bob/*`, perché anche la concessione lo consente.

Alice, invece, può leggere (`READ`) tutto ciò che inizia con `s3://DOC-BUCKET-EXAMPLE/alice/`. Tuttavia, se prova a scrivere (`WRITE`) qualunque cosa su un qualsiasi bucket, prefisso o oggetto in `s3://`, riceverà un errore Accesso negato (403), perché non esiste alcuna concessione che le dia accesso in scrittura (`WRITE`) ai dati. Inoltre, se Alice richiede un qualsiasi livello di accesso (`READ` o `WRITE`) ai dati esterni a`s3://DOC-BUCKET-EXAMPLE/alice/`, riceverà nuovamente un errore di accesso negato.

![\[Come funziona S3 Access Grants\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/s3ag-how-it-works.png)


Questo modello si adatta a un numero elevato di utenti e bucket e semplifica la gestione di tali autorizzazioni. Anziché modificare le policy dei bucket S3 potenzialmente grandi ogni volta che desideri aggiungere o rimuovere una relazione di accesso prefisso-utente individuale, puoi aggiungere e rimuovere concessioni individuali e discrete.

# S3 Access Grants e identità delle directory aziendali
<a name="access-grants-directory-ids"></a>

Puoi utilizzare Amazon S3 Access Grants per concedere l'accesso ai principali AWS Identity and Access Management (utenti o ruoli) (IAM), sia nello stesso Account AWS che in altri. Tuttavia, in molti casi, l'entità che accede ai dati è un utente finale della directory aziendale. Invece di concedere l'accesso ai principali IAM, puoi utilizzare S3 Access Grants per concedere l'accesso direttamente agli utenti e ai gruppi aziendali. Con S3 Access Grants, non è più necessario mappare le identità aziendali a principali IAM intermedi per accedere ai dati S3 tramite le applicazioni aziendali.

Questa nuova funzionalità, il supporto per l'utilizzo delle identità degli utenti finali per l'accesso ai dati, viene fornita associando l'istanza S3 Access Grants a un'istanza. AWS IAM Identity Center IAM Identity Center supporta provider di identità basati su standard ed è l'hub di tutti i servizi o funzionalità, inclusi S3 Access Grants, che supportano le identità degli utenti finali AWS . Il Centro identità IAM fornisce supporto per l'autenticazione delle identità aziendali attraverso la sua funzionalità Propagazione delle identità attendibili. Per ulteriori informazioni, consulta la pagina [Propagazione delle identità attendibili tra le applicazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html).

Prima di iniziare con il supporto delle identità della forza lavoro in S3 Access Grants, devi configurare il provisioning delle identità tra il tuo gestore delle identità aziendali e il Centro identità IAM, come prerequisito. Il Centro identità IAM supporta gestori delle identità aziendali come Okta, Microsoft Entra ID (in precedenza Azure Active Directory) o qualsiasi altro gestore dell'identità digitale (IdP) esterno che supporti il protocollo System for Cross-domain Identity Management (SCIM). Quando connetti il Centro identità IAM al tuo gestore dell'identità digitale (IdP) e abiliti il provisioning automatico, gli utenti e i gruppi del tuo IdP vengono sincronizzati nell'archivio di identità nel Centro identità IAM. Dopo questo passaggio, IAM Identity Center ha una propria visione degli utenti e dei gruppi, in modo che tu possa fare riferimento a loro utilizzando altre Servizi AWS funzionalità, come S3 Access Grants. Per ulteriori informazioni sulla configurazione del provisioning automatico del Centro identità IAM, consulta la sezione [Provisioning automatico](https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html) nella *Guida per l'utente di AWS IAM Identity Center *.

IAM Identity Center è integrato AWS Organizations in modo da poter gestire centralmente le autorizzazioni su più account Account AWS senza configurare manualmente ciascuno dei tuoi account. In un'organizzazione tipica, l'amministratore delle identità configura un'istanza del Centro identità IAM per l'intera organizzazione, come unico punto di sincronizzazione delle identità. Questa istanza di IAM Identity Center viene in genere eseguita in un ambiente dedicato Account AWS dell'organizzazione. In questa configurazione comune, puoi fare riferimento alle identità di utenti e gruppi in S3 Access Grants da qualsiasi Account AWS parte dell'organizzazione. 

Tuttavia, se AWS Organizations l'amministratore non ha ancora configurato un'istanza centrale di IAM Identity Center, puoi crearne una locale nello stesso account e Regione AWS come istanza S3 Access Grants. Se hai un'istanza IAM Identity Center configurata in un'altra Regione AWS, puoi anche [replicare](https://docs.aws.amazon.com/singlesignon/latest/userguide/replicate-to-additional-region.html) questa istanza nella Regione AWS stessa istanza di S3 Access Grants. Tale configurazione è più comune per i nostri casi d'uso proof-of-concept di sviluppo locale. In tutti i casi, l'istanza IAM Identity Center deve essere la Regione AWS stessa dell'istanza S3 Access Grants a cui verrà associata.

Nel diagramma seguente di una configurazione del Centro identità IAM con un gestore dell'identità digitale (IdP) esterno, l'IdP è configurato con SCIM per sincronizzare l'archivio di identità dal gestore dell'IdP all'archivio di identità nel Centro identità IAM.

![\[Integrazione del Centro identità IAM con un archivio di identità esterno tramite provisioning automatico.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/s3ag-identity-store.png)


Per utilizzare le identità delle directory aziendali con S3 Access Grants, procedi come segue:
+ Configura il [provisioning automatico](https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html) nel Centro identità IAM per sincronizzare le informazioni su utenti e gruppi dal tuo gestore dell'identità digitale (IdP) nel Centro identità IAM. 
+ Configura l'origine di identità esterna nel Centro identità IAM come emittente del token affidabile. Per ulteriori informazioni, consulta la pagina [Propagazione delle identità attendibili tra le applicazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html) nella *Guida per l'utente di AWS IAM Identity Center *.
+ Associa l'istanza S3 Access Grants all'istanza del Centro identità IAM. Puoi farlo quando [crei la tua istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance.html). Se hai già creato la tua istanza S3 Access Grants, consulta [Associazione o annullamento dell'associazione dell'istanza del Centro identità IAM](access-grants-instance-idc.md). 

## In che modo le identità delle directory possono accedere ai dati S3
<a name="access-grants-directory-ids-details"></a>

Supponiamo di avere utenti della directory aziendale che devono accedere ai dati S3 attraverso un'applicazione aziendale, ad esempio un'applicazione per la visualizzazione di documenti, che è integrata con il gestore dell'identità digitale (IdP) esterno (ad esempio, Okta) per autenticare gli utenti. L'autenticazione dell'utente in queste applicazioni viene in genere effettuata tramite reindirizzamenti nel browser web dell'utente. Poiché gli utenti presenti nella directory non sono principali IAM, l'applicazione necessita di credenziali IAM con cui richiamare l'operazione API `GetDataAccess` S3 Access Grants per [ottenere le credenziali di accesso ai dati S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-credentials.html) per conto degli utenti. A differenza degli utenti e dei ruoli IAM che ottengono le credenziali da soli, l'applicazione necessita di un modo per rappresentare un utente della directory, che non è mappato a un ruolo IAM, in modo che l'utente possa accedere ai dati tramite S3 Access Grants.

Questa transizione, da utente di directory autenticato a chiamante IAM in grado di effettuare richieste a S3 Access Grants per conto dell'utente della directory, viene effettuata dall'applicazione tramite la funzionalità Emittente del token affidabile del Centro identità IAM. L'applicazione, dopo aver autenticato l'utente della directory, dispone di un token di identità dell'IdP (ad esempio, Okta) che rappresenta l'utente della directory in base a Okta. La configurazione dell'emittente del token affidabile nel Centro identità IAM consente all'applicazione di scambiare questo token Okta (il tenant Okta è configurato come "emittente attendibile") con un token di identità diverso dal Centro identità IAM che rappresenterà in modo sicuro l'utente della directory all'interno dei Servizi AWS. L'applicazione dati assumerà quindi un ruolo IAM, fornendo il token dell'utente della directory proveniente dal Centro identità IAM come contesto aggiuntivo. L'applicazione può utilizzare la sessione IAM risultante per chiamare S3 Access Grants. Il token rappresenta sia l'identità dell'applicazione (il principale IAM stesso) sia l'identità dell'utente della directory.

Il passaggio principale di questa transizione è lo scambio di token. L'applicazione esegue questo scambio di token chiamando l'operazione API `CreateTokenWithIAM` nel Centro identità IAM. Naturalmente, anche questa è una chiamata AWS API e richiede che un preside IAM la firmi. Il principale IAM che effettua questa richiesta è in genere un ruolo IAM associato all'applicazione. Ad esempio, se l'applicazione viene eseguita su Amazon EC2, la richiesta `CreateTokenWithIAM` viene in genere eseguita dal ruolo IAM associato all'istanza EC2 su cui viene eseguita l'applicazione. Il risultato di una `CreateTokenWithIAM` chiamata riuscita è un nuovo token di identità, che verrà riconosciuto all'interno Servizi AWS. 

Il passaggio successivo, prima che l'applicazione possa chiamare `GetDataAccess` per conto dell'utente della directory, prevede che l'applicazione ottenga una sessione IAM che includa l'identità dell'utente della directory. L'applicazione esegue questa operazione con una `AssumeRole` richiesta AWS Security Token Service (AWS STS) che include anche il token IAM Identity Center per l'utente della directory come contesto di identità aggiuntivo. Questo contesto aggiuntivo consente al Centro identità IAM di propagare l'identità dell'utente della directory alla fase successiva. Il ruolo IAM assunto dall'applicazione è il ruolo che necessiterà delle autorizzazioni IAM per chiamare l'operazione `GetDataAccess`.

Dopo aver assunto il ruolo IAM di portatore di identità con il token del Centro identità IAM per l'utente della directory come contesto aggiuntivo, l'applicazione dispone ora di tutti gli elementi necessari per inviare una richiesta firmata a `GetDataAccess` per conto dell'utente della directory autenticato.

La propagazione dei token si basa sui seguenti passaggi:

**Creazione di un'applicazione del Centro identità IAM**

Innanzitutto, crea una nuova applicazione nel Centro identità IAM. Questa applicazione utilizzerà un modello che consente al Centro identità IAM di identificare il tipo di impostazioni dell'applicazione che è possibile utilizzare. Il comando per creare l'applicazione richiede di fornire il nome della risorsa Amazon (ARN) dell'istanza del Centro identità IAM, un nome di applicazione e il nome della risorsa Amazon (ARN) del provider dell'applicazione. Il provider dell'applicazione è il SAML o il provider OAuth dell'applicazione che l'applicazione utilizzerà per effettuare chiamate a IAM Identity Center. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

```
aws sso-admin create-application \
 --instance-arn "arn:aws:sso:::instance/ssoins-ssoins-1234567890abcdef" \
 --application-provider-arn "arn:aws:sso::aws:applicationProvider/custom" \
 --name MyDataApplication
```

Risposta:

```
{
   "ApplicationArn": "arn:aws:sso::123456789012:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"
}
```

**Creazione di un emittente del token affidabile**

Ora che hai la tua applicazione del Centro identità IAM, il passaggio successivo consiste nel configurare un emittente del token affidabile che verrà utilizzato per scambiare i valori `IdToken` del tuo gestore dell'identità digitale con i token del Centro identità IAM. Per completare questa fase, sono necessari i seguenti elementi:
+ L'URL dell'emittente del gestore dell'identità
+ Il nome emittente del token affidabile
+ Il percorso dell'attributo claim
+ Il percorso dell'attributo identity store
+ L'opzione di recupero JSON Web Key Set (JWKS)

Il percorso dell'attributo claim è l'attributo del gestore delle identità che verrà utilizzato per mappare l'attributo identity store. Normalmente, il percorso dell'attributo claim è l'indirizzo e-mail dell'utente, ma è possibile utilizzare altri attributi per eseguire la mappatura.

Crea un file denominato `oidc-configuration.json` con le informazioni seguenti. Per utilizzare questo file, sostituisci `user input placeholders` con le tue informazioni specifiche.

```
{
  "OidcJwtConfiguration":
     {
      "IssuerUrl": "https://login.microsoftonline.com/a1b2c3d4-abcd-1234-b7d5-b154440ac123/v2.0",
      "ClaimAttributePath": "preferred_username",
      "IdentityStoreAttributePath": "userName",
      "JwksRetrievalOption": "OPEN_ID_DISCOVERY"
     }
}
```

Per creare l'emittente del token affidabile, esegui questo comando. Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

```
aws sso-admin create-trusted-token-issuer \
  --instance-arn "arn:aws:sso:::instance/ssoins-1234567890abcdef" \
  --name MyEntraIDTrustedIssuer \
  --trusted-token-issuer-type OIDC_JWT \
  --trusted-token-issuer-configuration file://./oidc-configuration.json
```

Risposta

```
{
  "TrustedTokenIssuerArn": "arn:aws:sso::123456789012:trustedTokenIssuer/ssoins-1234567890abcdef/tti-43b4a822-1234-1234-1234-a1b2c3d41234"
}
```

**Connessione dell'applicazione del Centro identità IAM con l'emittente del token affidabile**

L'emittente del token affidabile richiede alcune altre impostazioni di configurazione per funzionare. Imposta i destinatari di cui si fiderà l'emittente del token affidabile. I destinatari rappresentano il valore all'interno di `IdToken` che è identificato dalla chiave e può essere trovato nelle impostazioni del gestore dell'identità. Esempio: 

```
1234973b-abcd-1234-abcd-345c5a9c1234
```

Crea un file denominato `grant.json` che abbia il seguente contenuto. Per utilizzare questo file, modifica i destinatari in modo che corrispondano alle impostazioni del tuo gestore dell'identità e fornisci il nome della risorsa Amazon (ARN) dell'emittente del token affidabile che è stato restituito dal comando precedente.

```
{
   "JwtBearer":
     {
       "AuthorizedTokenIssuers":
         [
           {
             "TrustedTokenIssuerArn": "arn:aws:sso::123456789012:trustedTokenIssuer/ssoins-1234567890abcdef/tti-43b4a822-1234-1234-1234-a1b2c3d41234",
               "AuthorizedAudiences":
                 [
                   "1234973b-abcd-1234-abcd-345c5a9c1234"
                 ]
            }
         ]
     }
 }
```

Esegui il seguente comando di esempio. Per utilizzare questo comando, sostituisci `user input placeholders` con le informazioni appropriate.

```
aws sso-admin put-application-grant \
  --application-arn "arn:aws:sso::123456789012:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" \
  --grant-type "urn:ietf:params:oauth:grant-type:jwt-bearer" \
  --grant file://./grant.json \
```

Questo comando configura l'emittente del token affidabile in modo che consideri attendibili i destinatari presenti nel file `grant.json` e li colleghi all'applicazione creata nel primo passaggio per lo scambio di token del tipo `jwt-bearer`. La stringa `urn:ietf:params:oauth:grant-type:jwt-bearer` non è una stringa arbitraria. È uno spazio dei nomi registrato nei profili di asserzione OAuth JSON Web Token (JWT). Puoi trovare ulteriori informazioni su questo spazio dei nomi in [RFC 7523](https://datatracker.ietf.org/doc/html/rfc7523).

Successivamente, utilizza il seguente comando per impostare gli ambiti che l'emittente del token affidabile includerà nello scambio dei valori `IdToken` dal tuo provider dell'identità. Per S3 Access Grants, il valore del parametro `--scope` è `s3:access_grants:read_write`.

```
aws sso-admin put-application-access-scope \
  --application-arn "arn:aws:sso::111122223333:application/ssoins-ssoins-111122223333abcdef/apl-abcd1234a1b2c3d" \
  --scope "s3:access_grants:read_write"
```

L'ultimo passaggio consiste nell'allegare una policy delle risorse all'applicazione del Centro identità IAM. Questa policy consentirà al ruolo IAM dell'applicazione di effettuare richieste all'operazione API `sso-oauth:CreateTokenWithIAM` e ricevere i valori `IdToken` dal Centro identità IAM.

Crea un file denominato `authentication-method.json` che abbia il seguente contenuto. Sostituisci `123456789012` con l'ID del tuo account.

```
{
   "Iam":
       {
         "ActorPolicy":
             {
                "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
                    "Statement":
                    [
                        {
                           "Effect": "Allow",
                            "Principal":
                            {
                              "AWS": "arn:aws:iam::123456789012:role/webapp"
                            },
                           "Action": "sso-oauth:CreateTokenWithIAM",
                            "Resource": "*"
                        }
                    ]
                }
            }
        }
```

Per collegare la policy all'applicazione del Centro identità IAM, esegui il comando:

```
aws sso-admin put-application-authentication-method \
   --application-arn "arn:aws:sso::123456789012:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" \
   --authentication-method-type IAM \
   --authentication-method file://./authentication-method.json
```

Questo completa le impostazioni di configurazione per l'utilizzo di S3 Access Grants con gli utenti della directory tramite un'applicazione web. Puoi testare questa configurazione direttamente nell'applicazione oppure puoi chiamare l'operazione API `CreateTokenWithIAM` utilizzando il seguente comando da un ruolo IAM consentito nella policy dell'applicazione del Centro identità IAM:

```
aws sso-oidc create-token-with-iam \
   --client-id "arn:aws:sso::123456789012:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"  \
   --grant-type urn:ietf:params:oauth:grant-type:jwt-bearer \
   --assertion IdToken
```

La risposta sarà simile alla seguente:

```
{
    "accessToken": "<suppressed long string to reduce space>",
    "tokenType": "Bearer",
    "expiresIn": 3600,
    "refreshToken": "<suppressed long string to reduce space>",
    "idToken": "<suppressed long string to reduce space>",
    "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token",
    "scope": [
      "sts:identity_context",
      "s3:access_grants:read_write",
      "openid",
      "aws"
    ]
}
```

Se decodifichi il valore `IdToken` codificato con base64, puoi vedere le coppie chiave-valore in formato JSON. La chiave `sts:identity_context` contiene il valore che l'applicazione deve inviare nella richiesta `sts:AssumeRole` per includere le informazioni sull'identità dell'utente della directory. Di seguito è riportato un esempio di `IdToken` decodificato:

```
{
    "aws:identity_store_id": "d-996773e796",
    "sts:identity_context": "AQoJb3JpZ2luX2VjEOTtl;<SUPRESSED>",
    "sub": "83d43802-00b1-7054-db02-f1d683aacba5",
    "aws:instance_account": "123456789012",
    "iss": "https://identitycenter.amazonaws.com/ssoins-1234567890abcdef",
    "sts:audit_context": "AQoJb3JpZ2luX2VjEOT<SUPRESSED>==",
    "aws:identity_store_arn": "arn:aws:identitystore::232642235904:identitystore/d-996773e796",
    "aud": "abcd12344U0gi7n4Yyp0-WV1LWNlbnRyYWwtMQ",
    "aws:instance_arn": "arn:aws:sso:::instance/ssoins-6987d7fb04cf7a51",
    "aws:credential_id": "EXAMPLEHI5glPh40y9TpApJn8...",
    "act": {
       "sub": "arn:aws:sso::232642235904:trustedTokenIssuer/ssoins-6987d7fb04cf7a51/43b4a822-1020-7053-3631-cb2d3e28d10e"
    },
    "auth_time": "2023-11-01T20:24:28Z",
    "exp": 1698873868,
    "iat": 1698870268
}
```

Puoi ottenere il valore da `sts:identity_context` e trasmettere queste informazioni in una chiamata `sts:AssumeRole`. Di seguito è riportato un esempio di sintassi CLI. Il ruolo da assumere è un ruolo temporaneo con autorizzazioni per richiamare `s3:GetDataAccess`.

```
aws sts assume-role \
   --role-arn "arn:aws:iam::123456789012:role/temp-role" \
   --role-session-name "TempDirectoryUserRole" \
   --provided-contexts ProviderArn="arn:aws:iam::aws:contextProvider/IdentityCenter",ContextAssertion="value from sts:identity_context"
```

Ora puoi utilizzare le credenziali ricevute da questa chiamata per richiamare l'operazione API `s3:GetDataAccess` e ricevere le credenziali finali con accesso alle risorse S3.

# Nozioni di base su S3 Access Grants
<a name="access-grants-get-started"></a>

Amazon S3 Access Grants è una funzionalità di Amazon S3 che fornisce una soluzione scalabile di controllo degli accessi per i dati S3. S3 Access Grants è un fornitore di credenziali S3, il che significa che devi registrare su S3 Access Grants il tuo elenco di concessioni e specificarne il livello. Successivamente, quando gli utenti o i client devono accedere ai tuoi dati S3, devono prima chiedere le credenziali a S3 Access Grants. Se esiste una concessione corrispondente che autorizza l'accesso, S3 Access Grants fornisce credenziali di accesso temporanee con privilegi minimi. Gli utenti o i client possono quindi utilizzare le credenziali fornite da S3 Access Grants per accedere ai dati S3. Tenendo presente questo, se i requisiti relativi ai dati S3 richiedono una configurazione di autorizzazioni complessa o di grandi dimensioni, puoi utilizzare S3 Access Grants per dimensionare le autorizzazioni relative ai dati S3 per utenti, gruppi, ruoli e applicazioni. 

Nella maggior parte dei casi d'uso, puoi gestire il controllo degli accessi per i tuoi dati S3 utilizzando AWS Identity and Access Management (IAM) con policy bucket o policy basate sull'identità IAM. 

Tuttavia, se hai requisiti di controllo degli accessi S3 complessi, come i seguenti, puoi ottenere grandi vantaggi dall'utilizzo di S3 Access Grants: 
+ Stai per raggiungere il limite di dimensioni della policy del bucket di 20 KB. 
+ Concedi alle identità umane, ad esempio agli utenti e ai gruppi Microsoft Entra ID (in precedenza Azure Active Directory), Okta o Ping, l'accesso ai dati S3 per analisi e big data.
+ Devi fornire l'accesso multi-account senza apportare aggiornamenti frequenti alle policy IAM.
+ I tuoi dati non sono strutturati e sono a livello di oggetto anziché strutturati, in formato riga e colonna.

Di seguito è riportato il flusso di lavoro di S3 Access Grants: 


| Fasi | Description | 
| --- | --- | 
| 1 | [Creazione di un'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance.html) Per iniziare, avvia un'istanza S3 Access Grants che conterrà le tue concessioni di accesso individuali.   | 
| 2 | [Registrazione di una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) In secondo luogo, registra una posizione dati S3 (ad esempio quella predefinita `s3://`), quindi specifica un ruolo IAM predefinito che S3 Access Grants assume quando fornisce l'accesso alla posizione dei dati S3. Puoi anche aggiungere posizioni personalizzate a bucket o prefissi specifici e mapparle a ruoli IAM personalizzati.   | 
| 3 | [Creazione di concessioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html) Crea concessioni di autorizzazione individuali. In queste concessioni di autorizzazioni devi specificare la posizione S3 registrata, l'ambito di accesso ai dati all'interno della posizione, l'identità dell'assegnatario e il suo livello di accesso (`READ`, `WRITE` o `READWRITE`).  | 
| 4 | [Richiesta di accesso ai dati S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-credentials.html) Quando gli utenti, le applicazioni e gli utenti Servizi AWS desiderano accedere ai dati S3, devono prima effettuare una richiesta di accesso. S3 Access Grants determina se la richiesta deve essere autorizzata. Se esiste una concessione corrispondente che autorizza l'accesso, S3 Access Grants utilizza il ruolo IAM della posizione registrata associato a tale concessione per fornire le credenziali temporanee al richiedente.  | 
| 5 | [Accesso ai dati S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-data.html) Le applicazioni utilizzano le credenziali temporanee fornite da S3 Access Grants per accedere ai dati S3.  | 

# Operazioni con le istanze S3 Access Grants
<a name="access-grants-instance"></a>

Per iniziare a usare Amazon S3 Access Grants, devi prima creare un'istanza S3 Access Grants. Puoi creare solo un'istanza S3 Access Grants per account. Regione AWS L'istanza S3 Access Grants funge da container per le risorse S3 Access Grants, che includono concessioni e posizioni registrate. 

Con S3 Access Grants, puoi creare concessioni di autorizzazione ai tuoi dati S3 per utenti e ruoli AWS Identity and Access Management (IAM). Se hai [aggiunto la tua directory di identità aziendale](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) a AWS IAM Identity Center, puoi associare questa istanza IAM Identity Center della tua directory aziendale alla tua istanza S3 Access Grants. Quindi, puoi creare concessioni di accesso per gli utenti e i gruppi aziendali. Se non hai ancora aggiunto la tua directory aziendale al Centro identità IAM, puoi associare la tua istanza S3 Access Grants a un'istanza Centro identità IAM in un secondo momento. 

**Topics**
+ [Creazione di un'istanza S3 Access Grants](access-grants-instance-create.md)
+ [Ottenimento dei dettagli di un'istanza S3 Access Grants](access-grants-instance-view.md)
+ [Elenco delle istanze S3 Access Grants](access-grants-instance-list.md)
+ [Associazione o annullamento dell'associazione dell'istanza del Centro identità IAM](access-grants-instance-idc.md)
+ [Eliminazione di un'istanza S3 Access Grants](access-grants-instance-delete.md)

# Creazione di un'istanza S3 Access Grants
<a name="access-grants-instance-create"></a>

Per iniziare a usare Amazon S3 Access Grants, devi prima creare un'istanza S3 Access Grants. Puoi creare solo un'istanza S3 Access Grants per account. Regione AWS L'istanza S3 Access Grants funge da container per le risorse S3 Access Grants, che includono concessioni e posizioni registrate. 

Con S3 Access Grants, puoi creare concessioni di autorizzazione ai tuoi dati S3 per utenti e ruoli AWS Identity and Access Management (IAM). Se hai [aggiunto la tua directory di identità aziendale](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) a AWS IAM Identity Center, puoi associare questa istanza IAM Identity Center della tua directory aziendale alla tua istanza S3 Access Grants. Quindi, puoi creare concessioni di accesso per gli utenti e i gruppi aziendali. Se non hai ancora aggiunto la tua directory aziendale al Centro identità IAM, puoi associare la tua istanza S3 Access Grants a un'istanza Centro identità IAM in un secondo momento. 

Puoi creare un'istanza S3 Access Grants utilizzando la console Amazon S3, la AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-instance-create-console"></a>

Prima di poter concedere l'accesso ai tuoi dati S3 con S3 Access Grants, devi prima creare un'istanza S3 Access Grants nella stessa dei tuoi dati S3. Regione AWS 

**Prerequisiti**  
Se desideri concedere l'accesso ai tuoi dati S3 utilizzando le identità della tua directory aziendale, [aggiungi la tua directory di identità aziendale](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) a AWS IAM Identity Center. Se ritieni che non sia ancora il momento per farlo, puoi associare la tua istanza S3 Access Grants a un'istanza del Centro identità IAM in un secondo momento.

**Per creare un'istanza S3 Access Grants**

1. Accedi a 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. Nella barra di navigazione, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione a cui passare. 

1. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli **Crea un'istanza S3 Access Grants**. 

   1. Nel **Passaggio 1** della procedura guidata **Configura l'istanza Access Grants**, verifica di voler creare l'istanza nella Regione AWS corrente. Assicurati che sia lo stesso Regione AWS dove si trovano i tuoi dati S3. Puoi creare un'istanza S3 Access Grants per account. Regione AWS 

   1. (Facoltativo) Se hai [aggiunto la tua directory di identità aziendale](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) a AWS IAM Identity Center, puoi associare questa istanza IAM Identity Center della tua directory aziendale alla tua istanza S3 Access Grants.

      Per farlo, seleziona **Aggiungi istanza IAM Identity Center** in. *region* Quindi inserisci il nome della risorsa Amazon (ARN) dell'istanza del Centro identità IAM. 

      Se non hai ancora aggiunto la tua directory di identità aziendale al Centro identità IAM, puoi associare l'istanza S3 Access Grants a un'istanza del Centro identità IAM in un secondo momento. 

   1. Per creare l'istanza S3 Access Grants, scegli **Avanti**. Per registrare una posizione, consulta [Passaggio 2: registrare una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance.html).

1. Se l'opzione **Avanti** o **Crea istanza S3 Access Grants** è disabilitata:

**Non puoi creare un'istanza**
   + Potresti avere già un'istanza S3 Access Grants nella stessa Regione AWS. Nel pannello di navigazione a sinistra, scegli **Access Grants**. Nella pagina **S3 Access Grants**, scorri verso il basso fino alla sezione **Istanza S3 Access Grants nel tuo account** per stabilire se un'istanza esiste già.
   + Potresti non disporre dell'autorizzazione `s3:CreateAccessGrantsInstance` richiesta per creare un'istanza S3 Access Grants. Contatta l'amministratore dell'account. Per le autorizzazioni aggiuntive necessarie per associare un'istanza del Centro identità IAM alla tua istanza S3 Access Grants, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html). 

## Utilizzando il AWS CLI
<a name="access-grants-instance-create-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Creazione di un'istanza S3 Access Grants**  

```
aws s3control create-access-grants-instance \
--account-id 111122223333 \
--region us-east-2
```
Risposta:  

```
{
    "CreatedAt": "2023-05-31T17:54:07.893000+00:00",
    "AccessGrantsInstanceId": "default",
    "AccessGrantsInstanceArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
}
```

## Utilizzo della REST API
<a name="access-grants-instance-create-rest-api"></a>

Puoi utilizzare la REST API di Amazon S3 per creare un'istanza S3 Access Grants. Per informazioni sul supporto REST API per la gestione di un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html)

## Utilizzando il AWS SDKs
<a name="access-grants-instance-create-using-sdk"></a>

Questa sezione fornisce un esempio di come creare un'istanza di S3 Access Grants utilizzando. AWS SDKs

------
#### [ Java ]

Questo esempio crea l'istanza S3 Access Grants, che funge da container per le tue concessioni di accesso individuali. Puoi avere un'istanza S3 Access Grants per account. Regione AWS La risposta include l'ID dell'istanza `default` e un nome della risorsa Amazon (ARN) generato per la tua istanza S3 Access Grants.

**Example Creazione di una richiesta di istanza S3 Access Grants**  

```
public void createAccessGrantsInstance() {
CreateAccessGrantsInstanceRequest createRequest = CreateAccessGrantsInstanceRequest.builder().accountId("111122223333").build();
CreateAccessGrantsInstanceResponse createResponse = s3Control.createAccessGrantsInstance(createRequest);LOGGER.info("CreateAccessGrantsInstanceResponse: " + createResponse);
}
```
Risposta:  

```
CreateAccessGrantsInstanceResponse(
CreatedAt=2023-06-07T01:46:20.507Z,
AccessGrantsInstanceId=default,
AccessGrantsInstanceArn=arn:aws:s3:us-east-2:111122223333:access-grants/default)
```

------

# Ottenimento dei dettagli di un'istanza S3 Access Grants
<a name="access-grants-instance-view"></a>

È possibile ottenere i dettagli dell'istanza di Amazon S3 Access Grants in un particolare Regione AWS. Puoi ottenere i dettagli della tua istanza S3 Access Grants utilizzando la console Amazon S3, la AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e la. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-instance-view-console"></a>

**Per ottenere i dettagli di un'istanza di S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la Regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. La pagina **S3 Access Grants** elenca le istanze S3 Access Grants e tutte le istanze multi-account che sono state condivise con il tuo account. Per visualizzare i dettagli di un'istanza, scegli **Visualizza dettagli**. 

## Utilizzando il AWS CLI
<a name="access-grants-instance-view-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Ottieni i dettagli di un'istanza S3 Access Grants**  

```
aws s3control get-access-grants-instance \
 --account-id 111122223333 \
 --region us-east-2
```
Risposta:  

```
{
    "AccessGrantsInstanceArn": "arn:aws:s3:us-east-2: 111122223333:access-grants/default",
    "AccessGrantsInstanceId": "default",
    "CreatedAt": "2023-05-31T17:54:07.893000+00:00"
}
```

## Utilizzo della REST API
<a name="access-grants-instance-view-rest-api"></a>

Per informazioni sul supporto REST API Amazon S3 per la gestione di un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html) 

## Usando il AWS SDKs
<a name="access-grants-instance-view-using-sdk"></a>

Questa sezione fornisce esempi di come ottenere i dettagli di un'istanza di S3 Access Grants utilizzando. AWS SDKs

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

**Example – Ottieni un'istanza S3 Access Grants**  

```
public void getAccessGrantsInstance() {
GetAccessGrantsInstanceRequest getRequest = GetAccessGrantsInstanceRequest.builder()
.accountId("111122223333")
.build();
GetAccessGrantsInstanceResponse getResponse = s3Control.getAccessGrantsInstance(getRequest);
LOGGER.info("GetAccessGrantsInstanceResponse: " + getResponse);
}
```
Risposta:  

```
GetAccessGrantsInstanceResponse(
AccessGrantsInstanceArn=arn:aws:s3:us-east-2: 111122223333:access-grants/default,
CreatedAt=2023-06-07T01:46:20.507Z)
```

------

# Elenco delle istanze S3 Access Grants
<a name="access-grants-instance-list"></a>

Puoi elencare le tue istanze S3 Access Grants, incluse le istanze che sono state condivise con te tramite (). AWS Resource Access Manager AWS RAM

Puoi elencare le tue istanze S3 Access Grants utilizzando la console Amazon S3, il AWS Command Line Interface (), l'API REST di Amazon S3 e AWS CLI il. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-instance-list-console"></a>

**Per elencare le istanze S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la Regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. La pagina **S3 Access Grants** elenca le istanze S3 Access Grants e tutte le istanze multi-account che sono state condivise con il tuo account. Per visualizzare i dettagli di un'istanza, scegli **Visualizza dettagli**. 

## Utilizzando il AWS CLI
<a name="access-grants-instance-list-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Elenca tutte le istanze S3 Access Grants relative a un account**  
Questa azione elenca le istanze S3 Access Grants per un account. Puoi avere solo un'istanza di S3 Access Grants per. Regione AWS Questa azione elenca anche altre istanze S3 Access Grants multi-account a cui il tuo account ha accesso.   

```
aws s3control list-access-grants-instances \
 --account-id 111122223333 \
 --region us-east-2
```
Risposta:  

```
{
    "AccessGrantsInstanceArn": "arn:aws:s3:us-east-2: 111122223333:access-grants/default",
    "AccessGrantsInstanceId": "default",
    "CreatedAt": "2023-05-31T17:54:07.893000+00:00"
}
```

## Utilizzo della REST API
<a name="access-grants-instance-list-rest-api"></a>

Per informazioni sul supporto REST API Amazon S3 per la gestione di un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html) 

## Utilizzando il AWS SDKs
<a name="access-grants-instance-list-using-sdk"></a>

Questa sezione fornisce esempi di come ottenere i dettagli di un'istanza di S3 Access Grants utilizzando. AWS SDKs

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

**Example – Elenca tutte le istanze S3 Access Grants relative a un account**  
Questa azione elenca le istanze S3 Access Grants per un account. Puoi avere una sola istanza S3 Access Grants per regione. Questa azione può elencare anche altre istanze S3 Access Grants multi-account a cui il tuo account ha accesso.   

```
public void listAccessGrantsInstances() {
ListAccessGrantsInstancesRequest listRequest = ListAccessGrantsInstancesRequest.builder()
.accountId("111122223333")
.build();
ListAccessGrantsInstancesResponse listResponse = s3Control.listAccessGrantsInstances(listRequest);
LOGGER.info("ListAccessGrantsInstancesResponse: " + listResponse);
}
```
Risposta:  

```
ListAccessGrantsInstancesResponse(
AccessGrantsInstancesList=[
ListAccessGrantsInstanceEntry(
AccessGrantsInstanceId=default,
AccessGrantsInstanceArn=arn:aws:s3:us-east-2:111122223333:access-grants/default,
CreatedAt=2023-06-07T04:28:11.728Z
)
]
)
```

------

# Associazione o annullamento dell'associazione dell'istanza del Centro identità IAM
<a name="access-grants-instance-idc"></a>

In Amazon S3 Access Grants, puoi associare l' AWS IAM Identity Center istanza della tua directory di identità aziendale a un'istanza S3 Access Grants. Dopo averlo fatto, puoi creare concessioni di accesso per gli utenti e i gruppi della tua directory aziendale, oltre agli utenti e ai ruoli AWS Identity and Access Management (IAM). 

Se non desideri più creare concessioni di accesso per gli utenti e i gruppi della tua directory aziendale, puoi annullare l'associazione dell'istanza del Centro identità IAM dall'istanza S3 Access Grants. 

Puoi associare o dissociare un'istanza di IAM Identity Center utilizzando la console Amazon S3, AWS Command Line Interface la AWS CLI(), l'API REST di Amazon S3 e la. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-instance-idc-console"></a>

Prima di associare l'istanza del Centro identità IAM all'istanza S3 Access Grants, devi aggiungere la directory di identità aziendale al Centro identità IAM. Per ulteriori informazioni, consulta [S3 Access Grants e identità delle directory aziendali](access-grants-directory-ids.md).

**Per associare un'istanza S3 Access Grants a un'istanza del Centro identità IAM**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**. 

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza. 

1. Nella pagina dei dettagli, nella sezione **Centro identità IAM**, scegli di **aggiungere** un'istanza del Centro identità IAM o di **annullare la registrazione** di un'istanza del Centro identità IAM già associata. 

## Utilizzando il AWS CLI
<a name="access-grants-instance-idc-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Associa un'istanza S3 Access Grants a un'istanza del Centro identità IAM**  

```
aws s3control associate-access-grants-identity-center \
 --account-id 111122223333 \
 --identity-center-arn arn:aws:sso:::instance/ssoins-1234a567bb89012c \
 --profile access-grants-profile \
 --region eu-central-1
     
// No response body
```

**Example – Annulla associazione di un'istanza S3 Access Grants da un'istanza del Centro identità IAM**  

```
aws s3control dissociate-access-grants-identity-center \
 --account-id 111122223333 \
 --profile access-grants-profile \
 --region eu-central-1
     
// No response body
```

## Utilizzo della REST API
<a name="access-grants-instance-idc-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la gestione dell'associazione tra un'istanza del Centro identità IAM e un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html) 

# Eliminazione di un'istanza S3 Access Grants
<a name="access-grants-instance-delete"></a>

Puoi eliminare un'istanza Amazon S3 Access Grants da un account Regione AWS . Tuttavia, prima di eliminare un'istanza S3 Access Grants, devi eseguire queste operazioni:
+ Elimina tutte le risorse all'interno dell'istanza S3 Access Grants, incluse tutte le concessioni e le posizioni. Per ulteriori informazioni, consulta [Eliminazione di una concessione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant-delete.html) ed [Eliminazione di una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant-location.html).
+ Se hai associato un' AWS IAM Identity Center istanza alla tua istanza S3 Access Grants, devi dissociare l'istanza IAM Identity Center. Per ulteriori informazioni, consulta [Associazione o annullamento dell'associazione dell'istanza del Centro identità IAM](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html).

**Importante**  
Se elimini un'istanza S3 Access Grants, l'eliminazione è permanente e non può essere annullata. Tutti gli assegnatari a cui è stato fornito l'accesso grazie alle concessioni in questa istanza S3 Access Grants perderanno l'accesso ai tuoi dati S3. 

Puoi eliminare un'istanza S3 Access Grants utilizzando la console Amazon S3, la AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e la. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-instance-delete-console"></a>

**Per eliminare un'istanza S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza. 

1. Nella pagina dei dettagli dell'istanza scegli **Elimina istanza** nell'angolo in alto a destra. 

1. Nella finestra di dialogo visualizzata, seleziona **Elimina**. Questa azione non può essere annullata.

## Usando il AWS CLI
<a name="access-grants-instance-delete-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Nota**  
Prima di poter eliminare un'istanza S3 Access Grants, devi eliminare tutte le concessioni e le posizioni create all'interno dell'istanza S3 Access Grants. Se hai associato un'istanza del Centro identità IAM alla tua istanza S3 Access Grants, devi prima annullare l'associazione dell'istanza del Centro identità IAM.

**Example – Elimina un'istanza S3 Access Grants**  

```
aws s3control delete-access-grants-instance \
--account-id 111122223333 \
--profile access-grants-profile \
--region us-east-2 \
--endpoint-url https://s3-control.us-east-2.amazonaws.com \
 
 // No response body
```

## Utilizzo della REST API
<a name="access-grants-instance-delete-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per l'eliminazione di un'istanza S3 Access Grants, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

## Utilizzando il AWS SDKs
<a name="access-grants-instance-delete-using-sdk"></a>

Questa sezione fornisce esempi di come eliminare un'istanza di S3 Access Grants utilizzando. AWS SDKs

Per utilizzare l'esempio seguente, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

**Nota**  
Prima di poter eliminare un'istanza S3 Access Grants, devi eliminare tutte le concessioni e le posizioni create all'interno dell'istanza S3 Access Grants. Se hai associato un'istanza del Centro identità IAM alla tua istanza S3 Access Grants, devi prima annullare l'associazione dell'istanza del Centro identità IAM.

**Example – Elimina un'istanza S3 Access Grants**  

```
public void deleteAccessGrantsInstance() {
DeleteAccessGrantsInstanceRequest deleteRequest = DeleteAccessGrantsInstanceRequest.builder()
.accountId("111122223333")
.build();
DeleteAccessGrantsInstanceResponse deleteResponse = s3Control.deleteAccessGrantsInstance(deleteRequest);
LOGGER.info("DeleteAccessGrantsInstanceResponse: " + deleteResponse);
}
```

------

# Operazioni con le posizioni S3 Access Grants
<a name="access-grants-location"></a>

Dopo aver [creato un'istanza Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) Regione AWS nel tuo account, registri una posizione S3 in quell'istanza. Una posizione S3 Access Grants associa la posizione S3 predefinita (`s3://`), un bucket o un prefisso a un ruolo (IAM). AWS Identity and Access Management S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee al beneficiario che accede a quella particolare posizione. Prima di poter creare una concessione di accesso, è necessario registrare almeno una posizione nell'istanza S3 Access Grants. 

È possibile registrare una posizione, visualizzarne i dettagli, modificarla ed eliminarla.

**Nota**  
 Dopo aver registrato la prima posizione nell'istanza S3 Access Grants, l'istanza non ha ancora alcun singolo accesso garantito. Per creare una concessione di accesso, consulta [Creazione di concessioni](access-grants-grant-create.md). 

**Topics**
+ [Registrazione di una posizione](access-grants-location-register.md)
+ [Visualizza i dettagli di una posizione registrata](access-grants-location-view.md)
+ [Aggiornamento di una posizione registrata](access-grants-location-edit.md)
+ [Eliminazione di una posizione registrata](access-grants-location-delete.md)

# Registrazione di una posizione
<a name="access-grants-location-register"></a>

Dopo aver [creato un'istanza Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) Regione AWS nel tuo account, registri una posizione S3 in quell'istanza. Una posizione S3 Access Grants associa la posizione S3 predefinita (`s3://`), un bucket o un prefisso a un ruolo (IAM). AWS Identity and Access Management S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee al beneficiario che accede a quella particolare posizione. Prima di poter creare una concessione di accesso, è necessario registrare almeno una posizione nell'istanza S3 Access Grants. 

**Caso d'uso consigliato**  
Si consiglia di registrare la posizione predefinita (`s3://`) e di mapparla a un ruolo IAM. La posizione nel percorso S3 predefinito (`s3://`) copre l'accesso a tutti i bucket S3 presenti nel percorso S3 del tuo account. Regione AWS Quando si crea una concessione di accesso, è possibile restringere l'ambito della concessione a un bucket, a un prefisso o a un oggetto all'interno della posizione predefinita. 

**Casi d'uso complessi per la gestione degli accessi**  
Casi di utilizzo della gestione degli accessi più complessi potrebbero richiedere la registrazione di più posizioni rispetto a quella predefinita. Alcuni esempi di questi casi d'uso sono:
+ Si supponga che il bucket *amzn-s3-demo-bucket* sia una posizione registrata nella tua istanza S3 Access Grants con un ruolo IAM mappato su di essa, ma a questo ruolo IAM sia negato l'accesso a un particolare prefisso all'interno del bucket. In questo caso, è possibile registrare il prefisso a cui il ruolo IAM non ha accesso come posizione separata e mappare tale posizione a un altro ruolo IAM con l'accesso necessario. 
+ Si supponga di voler creare dei grant che limitino l'accesso solo agli utenti all'interno di un endpoint di un cloud privato virtuale (VPC). In questo caso, è possibile registrare una posizione per un bucket in cui il ruolo IAM limita l'accesso all'endpoint VPC. Successivamente, quando un beneficiario chiede le credenziali a S3 Access Grants, S3 Access Grants assume il ruolo IAM della sede per vendere le credenziali temporanee. Questa credenziale negherà l'accesso al bucket specifico a meno che il chiamante non si trovi all'interno dell'endpoint VPC. Questa autorizzazione di negazione viene applicata in aggiunta alle normali autorizzazioni READ, WRITE o READWRITE specificate nella concessione.

Quando si registra una posizione, è necessario specificare anche il ruolo IAM che S3 Access Grants assume per la vendita delle credenziali temporanee e per l'ambito delle autorizzazioni per una concessione specifica. 

Se il caso d'uso richiede la registrazione di più posizioni nell'istanza di S3 Access Grants, è possibile registrare uno dei seguenti elementi:


| URI S3 | Ruolo IAM | Description | 
| --- | --- | --- | 
| s3:// | Default-IAM-role |  La posizione predefinita, `s3://`, include tutti i bucket nella Regione AWS.  | 
| s3://amzn-s3-demo-bucket1/ | IAM-role-For-bucket |  Questa posizione include tutti gli oggetti nel bucket specificato.  | 
| s3://amzn-s3-demo-bucket1/prefix-name | IAM-role-For-prefix |  Questa posizione include tutti gli oggetti del bucket con un nome di chiave dell'oggetto che inizia con questo prefisso.  | 

Prima di registrare un bucket o un prefisso specifico, accertarsi di aver eseguito le seguenti operazioni:
+ Crea uno o più bucket contenenti i dati a cui desideri concedere l'accesso. Questi bucket devono trovarsi nella stessa istanza di S3 Regione AWS Access Grants. Per ulteriori informazioni, consulta [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). 

  L'aggiunta di un prefisso è facoltativa. I prefissi sono stringhe all'inizio del nome della chiave di un oggetto. Si possono usare per organizzare gli oggetti nel bucket e per gestire gli accessi. Per aggiungere un prefisso a un bucket, consulta [Creazione dei nomi delle chiavi degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html). 
+ Creare un ruolo IAM che abbia il permesso di accedere ai dati S3 in Regione AWS. Per ulteriori informazioni, consulta la sezione [Creazione di ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) nella *Guida all'utente AWS IAM Identity Center *. 
+  Nella policy di attendibilità del ruolo IAM, concedi al principale del servizio S3 Access Grants (`access-grants.s3.amazonaws.com`) l'accesso al ruolo IAM creato. A tal fine, è possibile creare un file JSON contenente le seguenti istruzioni. Per aggiungere la policy di attendibilità all'account, consulta [Creare un ruolo utilizzando policy di attendibilità personalizzati](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

  *TestRolePolicy.json*

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Sid": "TestRolePolicy",
        "Effect": "Allow",
        "Principal": {
          "Service": "access-grants.s3.amazonaws.com"
        },
        "Action": [
          "sts:AssumeRole", 
          "sts:SetSourceIdentity"
        ],
        "Condition": {
          "StringEquals": {
            "aws:SourceAccount": "111122223333",
            "aws:SourceArn": "arn:aws:s3::111122223333:access-grants/default"
          }
        }
      }
    ]
  }
  ```

------

  In alternativa, per un caso d’uso di Centro identità IAM, utilizza la seguente policy che include una seconda istruzione:
+ Crea una policy IAM per collegare le autorizzazioni di Amazon S3 al ruolo IAM creato. Consulta il seguente file `iam-policy.json` di esempio e sostituisci `user input placeholders` con le tue informazioni. 
**Nota**  
Se utilizzi la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) per crittografare i dati, l'esempio seguente include le AWS KMS autorizzazioni necessarie per il ruolo IAM nella policy. Se non si utilizza questa funzione, è possibile rimuovere queste autorizzazioni dalla propria policy IAM. 
È possibile limitare il ruolo IAM per accedere ai dati S3 solo se le credenziali sono fornite da S3 Access Grants. Questo esempio mostra come aggiungere un'istruzione `Condition` per una specifica istanza S3 Access Grants. Per utilizzare questo `Condition`, sostituire l'ARN dell'istanza S3 Access Grants nell'istruzione `Condition` con l'ARN dell'istanza S3 Access Grants, che ha il formato: `arn:aws:s3:region:accountId:access-grants/default` 

  *iam-policy.json*

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
           "Sid": "ObjectLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:GetObjectAcl",
              "s3:GetObjectVersionAcl",
              "s3:ListMultipartUploadParts"
           ],
           "Resource":[ 
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region:accountId:access-grants/default"]
              }
          } 
        },
        {
           "Sid": "ObjectLevelWritePermissions",
           "Effect":"Allow",
           "Action":[
              "s3:PutObject",
              "s3:PutObjectAcl",
              "s3:PutObjectVersionAcl",
              "s3:DeleteObject",
              "s3:DeleteObjectVersion",
              "s3:AbortMultipartUpload"
           ],
           "Resource":[
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS:accountId:access-grants/default"]
              }
           } 
        },
        {
           "Sid": "BucketLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:ListBucket"
           ],
           "Resource":[
              "arn:aws:s3:::*"
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS:accountId:access-grants/default"]
              }
           }     
        },
  	  //Optionally add the following section if you use SSE-KMS encryption
        {
           "Sid": "KMSPermissions",
           "Effect":"Allow",
           "Action":[
              "kms:Decrypt",
              "kms:GenerateDataKey"
           ],
           "Resource":[
              "*"
           ]
        }
     ]
  }
  ```

Puoi registrare una posizione nella tua istanza S3 Access Grants utilizzando la console Amazon S3, il AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 o il. AWS SDKs

**Nota**  
 Dopo aver registrato la prima posizione nell'istanza S3 Access Grants, l'istanza non ha ancora alcun singolo accesso garantito. Per creare una concessione di accesso, consulta [Creazione di concessioni](access-grants-grant-create.md). 

## Utilizzo della console S3
<a name="access-grants-location-register-console"></a>

Prima di poter concedere l'accesso ai dati S3 con S3 Access Grants, devi avere almeno una posizione registrata. 

**Per registrare una posizione nella tua istanza S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

   Se utilizzi un'istanza S3 Access Grants per la prima volta, assicurati di aver completato il [Passaggio 1: crea un'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) e di aver eseguito il **Passaggio 2** della procedura guidata **Configurazione dell'istanza Access Grants**. Se disponi già di un'istanza S3 Access Grants, seleziona **Visualizza dettagli**, quindi dalla scheda **Posizioni**, seleziona **Registra posizione**.

   1. Per **Ambito della posizione**, seleziona **Sfoglia S3** o inserisci il percorso URI S3 della posizione che desideri registrare. Per i formati URI S3, consulta la tabella dei [formati di posizione](#location-types). Dopo aver inserito un URI, puoi scegliere **Visualizza** per andare alla posizione. 

   1. In **Ruolo IAM**, scegliere una delle seguenti opzioni: 
      + **Scegli tra i ruoli IAM esistenti**

        Scegli un ruolo IAM dall'elenco a discesa. Dopo aver scelto un ruolo, scegli **Visualizza** per avere la certezza che questo ruolo disponga delle autorizzazioni necessarie per gestire la posizione che stai registrando. In particolare, assicurati che questo ruolo conceda a S3 Access Grants le autorizzazioni `sts:AssumeRole` e `sts:SetSourceIdentity`. 
      + **Inserisci l'ARN del ruolo IAM**

        Accedi alla [Console IAM](https://console.aws.amazon.com/iam/). Copia il nome della risorsa Amazon (ARN) del ruolo IAM e incollalo in questa casella. 

   1. Per finire, scegli **Avanti** o **Registra posizione**.

1. Risoluzione dei problemi

**Impossibile registrare la posizione**
   + La posizione potrebbe essere già registrata.

     Potresti non avere l'autorizzazione `s3:CreateAccessGrantsLocation` per registrare le posizioni. Contatta l'amministratore dell'account.

## Utilizzando il AWS CLI
<a name="access-grants-location-register-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Puoi registrare la posizione predefinita, `s3://`, o una posizione personalizzata nella tua istanza S3 Access Grants. Assicurati di creare prima un ruolo IAM con accesso del principale alla posizione, quindi assicurati di concedere a S3 Access Grants l'autorizzazione ad assumere questo ruolo. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Creazione di una policy di risorse**  
Crea una policy che consenta a S3 Access Grants di assumere il ruolo IAM. A questo proposito, puoi creare un file JSON contenente le istruzioni elencate di seguito. Per aggiungere la policy della risorsa al tuo account, consulta [Creazione e collegamento della prima policy gestita dal cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html).  
*TestRolePolicy.json*    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Stmt1234567891011",
      "Action": ["sts:AssumeRole", "sts:SetSourceIdentity"],
      "Effect": "Allow",
      "Principal": {"Service": "access-grants.s3.amazonaws.com"}
    }
  ]
}
```

**Example Creazione del ruolo**  
Per creare il ruolo, esegui il comando IAM seguente.  

```
aws iam create-role --role-name accessGrantsTestRole \
 --region us-east-2 \
 --assume-role-policy-document file://TestRolePolicy.json
```
L'esecuzione del comando `create-role` restituisce la policy:   

```
{
    "Role": {
        "Path": "/",
        "RoleName": "accessGrantsTestRole",
        "RoleId": "AROASRDGX4WM4GH55GIDA",
        "Arn": "arn:aws:iam::111122223333:role/accessGrantsTestRole",
        "CreateDate": "2023-05-31T18:11:06+00:00",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",		 	 	 
            "Statement": [
                {
                    "Sid": "Stmt1685556427189",
                    "Action": [
                        "sts:AssumeRole",
                        "sts:SetSourceIdentity"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "Service":"access-grants.s3.amazonaws.com"
                    }
                }
            ]
        }
    }
}
```

**Example**  
Creare una policy IAM per collegare le autorizzazioni di Amazon S3 al ruolo IAM. Consulta il seguente file `iam-policy.json` di esempio e sostituisci `user input placeholders` con le tue informazioni.   
Se utilizzi la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) per crittografare i dati, l'esempio seguente aggiunge le AWS KMS autorizzazioni necessarie per il ruolo IAM nella policy. Se non utilizzi questa funzionalità, puoi rimuovere queste autorizzazioni dalla tua policy IAM.   
Per avere la certezza che il ruolo IAM possa essere usato per accedere ai dati in S3 solo se le credenziali sono distribuite da S3 Access Grants, questo esempio mostra come aggiungere un'istruzione `Condition` che specifichi l'istanza S3 Access Grants (`s3:AccessGrantsInstance: InstanceArn`) nella policy IAM. Quando utilizzi la seguente policy di esempio, sostituisci `user input placeholders` con le tue informazioni.
*iam-policy.json*    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "ObjectLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectAcl",
            "s3:GetObjectVersionAcl",
            "s3:ListMultipartUploadParts"
         ],
         "Resource": [ 
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
        } 
      },
      {
         "Sid": "ObjectLevelWritePermissions",
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:PutObjectVersionAcl",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion",
            "s3:AbortMultipartUpload"
         ],
         "Resource": [
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         } 
      },
      {
         "Sid": "BucketLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::*"
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         }     
      },
      {
         "Sid": "KMSPermissions",
         "Effect": "Allow",
         "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
         ],
         "Resource": [
            "*"
         ],
         "Condition": {
            "StringEquals": {
               "kms:ViaService": "s3.us-east-1.amazonaws.com"
            }
         }
      }
   ]
}
```

**Example**  
Esegui il comando seguente:  

```
aws iam put-role-policy \
--role-name accessGrantsTestRole \
--policy-name accessGrantsTestRole \
--policy-document file://iam-policy.json
```

**Example Registra la posizione predefinita**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3:// \
 --iam-role-arn arn:aws:iam::111122223333:role/accessGrantsTestRole
```
Risposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "LocationScope": "s3://" 
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

**Example Registra una posizione personalizzata**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3://DOC-BUCKET-EXAMPLE/ \
 --iam-role-arn arn:aws:iam::123456789012:role/accessGrantsTestRole
```
Risposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2: 111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://DOC-BUCKET-EXAMPLE/",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

## Utilizzo della REST API
<a name="access-grants-location-register-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la gestione di un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html) 

## Utilizzando il AWS SDKs
<a name="access-grants-location-register-using-sdk"></a>

Questa sezione fornisce esempi di come registrare le sedi utilizzando AWS SDKs.

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

Puoi registrare la posizione predefinita, `s3://`, o una posizione personalizzata nella tua istanza S3 Access Grants. Assicurati di creare prima un ruolo IAM con accesso del principale alla posizione, quindi assicurati di concedere a S3 Access Grants l'autorizzazione ad assumere questo ruolo. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Registra una posizione predefinita**  
Richiesta:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://")
.iamRoleArn("arn:aws:iam::123456789012:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Risposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:11.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope=s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

**Example Registra una posizione personalizzata**  
Richiesta:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://DOC-BUCKET-EXAMPLE/")
.iamRoleArn("arn:aws:iam::111122223333:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Risposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=18cfe6fb-eb5a-4ac5-aba9-8d79f04c2012,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/18cfe6fb-eb5a-4ac5-aba9-8d79f04c2666,
LocationScope= s3://test-bucket-access-grants-user123/,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

------

# Visualizza i dettagli di una posizione registrata
<a name="access-grants-location-view"></a>

Puoi ottenere i dettagli di una posizione registrata nella tua istanza S3 Access Grants utilizzando la console Amazon S3, il AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e il. AWS SDKs 

## Utilizzo della console S3
<a name="access-grants-location-edit-console"></a>

**Per visualizzare le posizioni registrate nell'istanza S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza.

1. Nella pagina dei dettagli dell'istanza, scegli la scheda **Posizioni**.

1. Trova la posizione registrata che desideri visualizzare. Per filtrare l'elenco delle posizioni registrate, usa la casella di ricerca. 

## Utilizzando il AWS CLI
<a name="access-grants-location-edit-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Ottieni i dettagli di una posizione registrata**  

```
aws s3control get-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id default
```
Risposta:  

```
{
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

**Example – Elenca tutte le posizioni registrate in un'istanza di S3 Access Grants**  
Per limitare i risultati a un prefisso o un bucket S3, puoi opzionalmente utilizzare il parametro `--location-scope s3://bucket-and-or-prefix`.   

```
aws s3control list-access-grants-locations \
--account-id 111122223333 \
--region us-east-2
```
Risposta:  

```
{"AccessGrantsLocationsList": [
  {
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "LocationScope": "s3://" 
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
     },
  {
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://amzn-s3-demo-bucket/prefixA*",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
     }
   ]
  }
```

## Utilizzo della REST API
<a name="access-grants-location-edit-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per ottenere i dettagli di una posizione registrata o elencare tutte le posizioni registrate con un'istanza S3 Access Grants, consulta le seguenti sezioni nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html) 

## Usando il AWS SDKs
<a name="access-grants-location-edit-using-sdk"></a>

Questa sezione fornisce esempi su come ottenere i dettagli di una sede registrata o elencare tutte le sedi registrate in un'istanza di S3 Access Grants utilizzando il. AWS SDKs

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

**Example – Ottieni i dettagli di una posizione registrata**  

```
public void getAccessGrantsLocation() {
GetAccessGrantsLocationRequest getAccessGrantsLocationRequest = GetAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("default")
.build();
GetAccessGrantsLocationResponse getAccessGrantsLocationResponse = s3Control.getAccessGrantsLocation(getAccessGrantsLocationRequest);
LOGGER.info("GetAccessGrantsLocationResponse: " + getAccessGrantsLocationResponse);
}
```
Risposta:  

```
GetAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope= s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

**Example – Elenca tutte le posizioni registrate in un'istanza S3 Access Grants**  
Per limitare i risultati a un prefisso o un bucket S3, puoi opzionalmente passare un URI S3, ad esempio `s3://bucket-and-or-prefix`, nel parametro `LocationScope`.   

```
public void listAccessGrantsLocations() {

ListAccessGrantsLocationsRequest listRequest =   ListAccessGrantsLocationsRequest.builder()
.accountId("111122223333")
.build();

ListAccessGrantsLocationsResponse listResponse = s3Control.listAccessGrantsLocations(listRequest);
LOGGER.info("ListAccessGrantsLocationsResponse: " + listResponse);
}
```
Risposta:  

```
ListAccessGrantsLocationsResponse(
AccessGrantsLocationsList=[
ListAccessGrantsLocationsEntry(
CreatedAt=2023-06-07T04:35:11.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope=s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
),
ListAccessGrantsLocationsEntry(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=635f1139-1af2-4e43-8131-a4de006eb456,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888,
LocationScope=s3://amzn-s3-demo-bucket/prefixA*,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
]
)
```

------

# Aggiornamento di una posizione registrata
<a name="access-grants-location-edit"></a>

Puoi aggiornare il ruolo AWS Identity and Access Management (IAM) di una location registrata nella tua istanza Amazon S3 Access Grants. Per ogni nuovo ruolo IAM che utilizzi per registrare una posizione in S3 Access Grants, assicurati di consentire al principale (`access-grants.s3.amazonaws.com`) del servizio di S3 Access Grants l'accesso a questo ruolo. Per fare ciò, aggiungi una voce per il nuovo ruolo IAM nello stesso file JSON della policy di attendibilità che hai usato quando hai registrato la [posizione per la prima volta](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html). 

Puoi aggiornare una posizione nella tua istanza S3 Access Grants utilizzando la console Amazon S3, il AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e il. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-location-edit-console"></a>

**Per aggiornare il ruolo IAM di una posizione registrata con la tua istanza S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza.

1. Nella pagina dei dettagli dell'istanza, scegli la scheda **Posizioni**.

1. Trova la posizione che intendi aggiornare. Per filtrare l'elenco delle posizioni, usa la casella di ricerca.

1. Scegli il pulsante delle opzioni accanto alla posizione registrata che desideri aggiornare.

1. Aggiorna il ruolo IAM, quindi scegli **Salva modifiche**.

## Utilizzando il AWS CLI
<a name="access-grants-location-edit-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Aggiorna il ruolo IAM di una posizione registrata**  

```
aws s3control update-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id 635f1139-1af2-4e43-8131-a4de006eb999 \
--iam-role-arn arn:aws:iam::777788889999:role/accessGrantsTestRole
```
Risposta:  

```
{
    "CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb999",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:777788889999:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://amzn-s3-demo-bucket/prefixB*",
    "IAMRoleArn": "arn:aws:iam::777788889999:role/accessGrantsTestRole"
}
```

## Utilizzo della REST API
<a name="access-grants-location-edit-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per l'aggiornamento della posizione in un'istanza S3 Access Grants, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

## Usando il AWS SDKs
<a name="access-grants-location-edit-using-sdk"></a>

Questa sezione fornisce esempi di come aggiornare il ruolo IAM di una sede registrata utilizzando AWS SDKs.

Per utilizzare l’esempio seguente, sostituisci `user input placeholders` con le informazioni appropriate.

------
#### [ Java ]

**Example – Aggiorna il ruolo IAM di una posizione registrata**  

```
public void updateAccessGrantsLocation() {
UpdateAccessGrantsLocationRequest updateRequest = UpdateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("635f1139-1af2-4e43-8131-a4de006eb999")
.iamRoleArn("arn:aws:iam::777788889999:role/accessGrantsTestRole")
.build();
UpdateAccessGrantsLocationResponse updateResponse = s3Control.updateAccessGrantsLocation(updateRequest);
LOGGER.info("UpdateAccessGrantsLocationResponse: " + updateResponse);
}
```
Risposta:  

```
UpdateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=635f1139-1af2-4e43-8131-a4de006eb999,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:777788889999:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888,
LocationScope=s3://amzn-s3-demo-bucket/prefixB*,
IAMRoleArn=arn:aws:iam::777788889999:role/accessGrantsTestRole
)
```

------

# Eliminazione di una posizione registrata
<a name="access-grants-location-delete"></a>

Puoi eliminare la registrazione di una posizione da un'istanza Amazon S3 Access Grants. L'eliminazione della posizione ne annulla la registrazione dall'istanza S3 Access Grants. 

Prima di poter rimuovere una registrazione di una posizione da un'istanza S3 Access Grants, devi eliminare tutte le concessioni associate a questa posizione. Per informazioni sull'eliminazione delle concessioni, consulta [Elimina una concessione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant-delete.html). 

Puoi eliminare una posizione nella tua istanza S3 Access Grants utilizzando la console Amazon S3, la AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 e la. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-location-delete-console"></a>

**Per eliminare la registrazione di una posizione dalla tua istanza Amazon S3 Access Grants**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza.

1. Nella pagina dei dettagli dell'istanza, scegli la scheda **Posizioni**.

1. Trova la posizione che intendi aggiornare. Per filtrare l'elenco delle posizioni, usa la casella di ricerca.

1. Scegli il pulsante di opzione accanto alla posizione registrata che desideri eliminare.

1. Scegli **Annulla registrazione**.

1. Viene visualizzata una finestra di dialogo che avverte che questa azione non può essere annullata. Per eliminare la posizione, scegli **Annulla registrazione**.

## Utilizzando il AWS CLI
<a name="access-grants-location-delete-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Elimina la registrazione di una posizione**  

```
aws s3control delete-access-grants-location \
--account-id 111122223333 \
--access-grants-location-id  a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 
 // No response body
```

## Utilizzo della REST API
<a name="access-grants-location-delete-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per l'eliminazione di una posizione da un'istanza S3 Access Grants, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

## Utilizzando il AWS SDKs
<a name="access-grants-location-delete-using-sdk"></a>

Questa sezione fornisce un esempio di come eliminare una posizione utilizzando AWS SDKs.

Per utilizzare l’esempio seguente, sostituisci `user input placeholders` con le informazioni appropriate.

------
#### [ Java ]

**Example – Elimina la registrazione di una posizione**  

```
public void deleteAccessGrantsLocation() {
DeleteAccessGrantsLocationRequest deleteRequest = DeleteAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLE11111")
.build();
DeleteAccessGrantsLocationResponse deleteResponse = s3Control.deleteAccessGrantsLocation(deleteRequest);
LOGGER.info("DeleteAccessGrantsLocationResponse: " + deleteResponse);
}
```
Risposta:  

```
DeleteAccessGrantsLocationResponse()
```

------

# Operazioni con le concessioni in S3 Access Grants
<a name="access-grants-grant"></a>

Una *concessione* di accesso individuale in un'istanza S3 Access Grants consente a un'identità specifica, un responsabile AWS Identity and Access Management (IAM) o un utente o un gruppo in una directory aziendale, di accedere all'interno di una posizione registrata nell'istanza S3 Access Grants. Una posizione mappa i bucket o i prefissi a un ruolo IAM. S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee ai beneficiari. 

Dopo aver [registrato almeno una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) nell'istanza di S3 Access Grants, è possibile creare una concessione di accesso.

Il beneficiario può essere un utente o un ruolo IAM oppure un utente o un gruppo della directory. Un utente della directory è un utente della directory aziendale o di una fonte di identità esterna che è stato [associato all'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html). Per ulteriori informazioni, consulta [S3 Access Grants e identità delle directory aziendali](access-grants-directory-ids.md). Per creare una concessione per un utente o gruppo specifico della directory dal Centro identità IAM, trovare il GUID che il Centro identità IAM utilizza per identificare l'utente nel Centro identità IAM, ad esempio `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. Per ulteriori informazioni su come utilizzare il Centro identità IAM per visualizzare le informazioni sugli utenti, consulta [Visualizzazione delle assegnazioni di utenti e gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-view-assignments.html) nella *Guida all'utente AWS IAM Identity Center *. 

È possibile concedere l'accesso a un bucket, a un prefisso o a un oggetto. Un prefisso in Amazon S3 è una stringa di caratteri all'inizio del nome della chiave di un oggetto che viene utilizzata per organizzare gli oggetti all'interno di un bucket. Può essere una qualsiasi stringa di caratteri consentiti, ad esempio i nomi delle chiavi degli oggetti nel bucket che iniziano con il prefisso `engineering/`. 

**Topics**
+ [Creazione di concessioni](access-grants-grant-create.md)
+ [Visualizza una concessione](access-grants-grant-view.md)
+ [Eliminazione di una concessione](access-grants-grant-delete.md)

# Creazione di concessioni
<a name="access-grants-grant-create"></a>

Una *concessione* di accesso individuale in un'istanza S3 Access Grants consente a un'identità specifica, un principale AWS Identity and Access Management (IAM) o un utente o un gruppo in una directory aziendale, di accedere all'interno di una posizione registrata nella tua istanza S3 Access Grants. Una posizione mappa i bucket o i prefissi a un ruolo IAM. S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee ai beneficiari. 

Dopo aver [registrato almeno una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) nell'istanza di S3 Access Grants, è possibile creare una concessione di accesso.

Il beneficiario può essere un utente o un ruolo IAM oppure un utente o un gruppo della directory. Un utente della directory è un utente della directory aziendale o di una fonte di identità esterna che è stato [associato all'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html). Per ulteriori informazioni, consulta [S3 Access Grants e identità delle directory aziendali](access-grants-directory-ids.md). Per creare una concessione per un utente o gruppo specifico della directory dal Centro identità IAM, trovare il GUID che il Centro identità IAM utilizza per identificare l'utente nel Centro identità IAM, ad esempio `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. Per ulteriori informazioni su come utilizzare il Centro identità IAM per visualizzare le informazioni sugli utenti, consulta [Visualizzazione delle assegnazioni di utenti e gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-view-assignments.html) nella *Guida all'utente AWS IAM Identity Center *. 

È possibile concedere l'accesso a un bucket, a un prefisso o a un oggetto. Un prefisso in Amazon S3 è una stringa di caratteri all'inizio del nome della chiave di un oggetto che viene utilizzata per organizzare gli oggetti all'interno di un bucket. Può essere una qualsiasi stringa di caratteri consentiti, ad esempio i nomi delle chiavi degli oggetti nel bucket che iniziano con il prefisso `engineering/`. 

## Sottoprefisso
<a name="subprefix"></a>

Quando si concede l'accesso a una località registrata, è possibile utilizzare il campo `Subprefix` per restringere l'ambito di accesso a un sottoinsieme dell'ambito della località. Se la posizione registrata scelta per il grant è il percorso S3 predefinito (`s3://`), è necessario restringere l'ambito della concessione. Non è possibile creare una concessione di accesso per la posizione predefinita (`s3://`), che darebbe al beneficiario l'accesso a ogni bucket di Regione AWS. Invece, è necessario restringere l'ambito della concessione a uno dei seguenti punti:
+ Un bucket: `s3://bucket/*`
+ Un prefisso all'interno di un bucket: `s3://bucket/prefix*`
+ Un prefisso all'interno di un prefisso: `s3://bucket/prefixA/prefixB*`
+ Un oggetto: `s3://bucket/object-key-name`

Se si sta creando una concessione di accesso in cui la posizione registrata è un bucket, è possibile passare uno dei seguenti valori nel campo `Subprefix` per restringere l'ambito della concessione:
+ Un prefisso all'interno del bucket: `prefix*`
+ Un prefisso all'interno di un prefisso: `prefixA/prefixB*`
+ Un oggetto: `/object-key-name`

Dopo aver creato la concessione, l'ambito della concessione visualizzato nella console Amazon S3 o restituito nella risposta API o AWS Command Line Interface (AWS CLI) è il risultato della concatenazione del percorso della posizione con. `GrantScope` `Subprefix` Assicurati che questo percorso concatenato sia mappato correttamente al bucket, al prefisso o all'oggetto S3 a cui desideri concedere l'accesso.

**Nota**  
Se si desidera creare una concessione di accesso che garantisca l'accesso a un solo oggetto, è necessario specificare che il tipo di concessione è per un oggetto. Per fare questo in una chiamata API o in un comando CLI, passare il parametro `s3PrefixType` con il valore `Object`. Nella console Amazon S3, quando si crea la concessione, dopo aver selezionato una posizione, in **Ambito di concessione**, seleziona la casella di controllo **L'ambito di concessione è un oggetto**.
Non puoi creare una concessione a un bucket se il bucket non esiste ancora. Tuttavia, è possibile creare una concessione per un prefisso che ancora non esiste. 
Per il numero massimo di concessioni che è possibile creare nell'istanza S3 Access Grants, consulta [Limitazioni di S3 Access Grants](access-grants-limitations.md).

Puoi creare una concessione di accesso utilizzando la console Amazon S3 AWS CLI, l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-grant-create-console"></a>

**Per creare una concessione di accesso**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

   Se utilizzi un'istanza S3 Access Grants per la prima volta, assicurati di aver completato il [Passaggio 2: registra una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) e di aver eseguito il **Passaggio 3** della procedura guidata **Configurazione dell'istanza Access Grants**. Se hai già un'istanza S3 Access Grants, scegli **Visualizza dettagli**, quindi dalla scheda **Concessioni**, scegli **Crea concessione.**

   1. Nella sezione **Ambito della concessione**, seleziona o inserisci una posizione registrata. 

      Se hai selezionato la posizione `s3://` predefinita, utilizza la casella **Sottoprefisso** per restringere l'ambito della concessione di accesso. Per ulteriori informazioni, consulta [Sottoprefisso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html#subprefix). Se concedi l'accesso solo a un oggetto, seleziona **L'ambito della concessione è un oggetto**.

   1. In **Autorizzazioni e accesso**, seleziona il livello di **Autorizzazione**, ovvero **Lettura**, **Scrittura** o entrambi. 

      Quindi seleziona **Tipo di assegnatario**. Se hai aggiunto la tua directory aziendale al Centro identità IAM e hai associato questa istanza del Centro identità IAM all'istanza S3 Access Grants, puoi scegliere **Identità della directory dal Centro identità IAM**. Se scegli questa opzione, ottieni l'ID dell'utente o del gruppo dal Centro identità IAM e inseriscilo in questa sezione. 

      Se **Tipo di assegnatario** è un utente o un ruolo IAM, scegli **Principale IAM**. In **Tipo di principale IAM**, scegli **Utente** o **Ruolo**. Quindi, in **Utente principale IAM**, seleziona dall'elenco o inserisci l'ID dell'identità. 

   1. Per creare la concessione S3 Access Grants, seleziona **Avanti** o **Crea concessione**.

1. Se l'opzione **Avanti** o **Crea concessione** è disabilitata:

**Impossibile creare una concessione**
   + Potrebbe essere necessario [registrare prima una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) nell'istanza S3 Access Grants.
   + Potresti non disporre dell'autorizzazione `s3:CreateAccessGrant` per creare una concessione di accesso. Contatta l'amministratore dell'account. 

## Utilizzando il AWS CLI
<a name="access-grants-grant-create-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Gli esempi seguenti mostrano come creare una richiesta di concessione di accesso per un principale IAM e come creare una richiesta di concessione di accesso per un utente o un gruppo della directory aziendale. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Nota**  
Se stai creando una concessione di accesso che conceda l'accesso a un solo oggetto, includi il parametro `--s3-prefix-type Object` richiesto.

**Example Crea una richiesta di concessione di accesso per un principale IAM**  

```
aws s3control create-access-grant \
--account-id 111122223333 \
--access-grants-location-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \
--access-grants-location-configuration S3SubPrefix=prefixB* \
--permission READ \
--grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::123456789012:user/data-consumer-3
```

**Example Crea una risposta alla concessione di accesso**  

```
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00",
    "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "Grantee": {
        "GranteeType": "IAM",
        "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
    },
    "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "AccessGrantsLocationConfiguration": {
        "S3SubPrefix": "prefixB*"
    },
    "GrantScope": "s3://amzn-s3-demo-bucket/prefix*",
    "Permission": "READ"
}
```

**Creazione di una richiesta di autorizzazione di accesso per un utente o un gruppo di utenti della directory**  
Per creare una richiesta di concessione di accesso per un utente o un gruppo della directory, è necessario innanzitutto ottenere il GUID per l'utente o il gruppo della directory eseguendo uno dei seguenti comandi.

**Example Ottieni un GUID per un utente o un gruppo di utenti della directory**  
Puoi trovare il GUID di un utente IAM Identity Center tramite la console IAM Identity Center o utilizzando AWS CLI o AWS SDKs. Il comando seguente elenca gli utenti nell'istanza del Centro identità IAM specificata, con i relativi nomi e identificatori.  

```
aws identitystore list-users --identity-store-id d-1a2b3c4d1234 
```
Questo comando elenca i gruppi nell'istanza Centro identità IAM specificata.  

```
aws identitystore list-groups --identity-store-id d-1a2b3c4d1234
```

**Example Creazione di una concessione di accesso per un utente o un gruppo di directory**  
Questo comando è simile alla creazione di una concessione per utenti o ruoli IAM, tranne per il fatto che il tipo di assegnatario è `DIRECTORY_USER` o `DIRECTORY_GROUP` e l'identificatore dell'assegnatario è il GUID per l'utente o il gruppo di directory.  

```
aws s3control create-access-grant \
--account-id 123456789012 \
--access-grants-location-id default \
--access-grants-location-configuration S3SubPrefix="amzn-s3-demo-bucket/rafael/*" \
--permission READWRITE \
--grantee GranteeType=DIRECTORY_USER,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5 \
```

## Utilizzo della REST API
<a name="access-grants-grant-create-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la gestione delle concessioni di accesso, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [CreateAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html) 
+  [DeleteAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html) 
+  [GetAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html) 
+  [ListAccessGrants](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html)

## Utilizzando il AWS SDKs
<a name="access-grants-grant-create-using-sdk"></a>

Questa sezione fornisce esempi di come creare una concessione di accesso utilizzando AWS SDKs.

------
#### [ Java ]

Per utilizzare il seguente esempio, sostituisci `user input placeholders` con le tue informazioni.

**Nota**  
Se crei una concessione di accesso che conceda l'accesso a un solo oggetto, includi il parametro `.s3PrefixType(S3PrefixType.Object)` richiesto.

**Example Crea una risposta alla concessione di accesso**  

```
public void createAccessGrant() {
CreateAccessGrantRequest createRequest = CreateAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa")
.permission("READ")
.accessGrantsLocationConfiguration(AccessGrantsLocationConfiguration.builder().s3SubPrefix("prefixB*").build())
.grantee(Grantee.builder().granteeType("IAM").granteeIdentifier("arn:aws:iam::111122223333:user/data-consumer-3").build())
.build();
CreateAccessGrantResponse createResponse = s3Control.createAccessGrant(createRequest);
LOGGER.info("CreateAccessGrantResponse: " + createResponse);
}
```

**Example Crea una risposta alla concessione di accesso**  

```
CreateAccessGrantResponse(
CreatedAt=2023-06-07T05:20:26.330Z,
AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
AccessGrantArn=arn:aws:s3:us-east-2:444455556666:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
Grantee=Grantee(
GranteeType=IAM,
GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3
),
AccessGrantsLocationId=a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa,
AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration(
S3SubPrefix=prefixB*
),
GrantScope=s3://amzn-s3-demo-bucket/prefixB,
Permission=READ
)
```

------

# Visualizza una concessione
<a name="access-grants-grant-view"></a>

Puoi visualizzare i dettagli di una concessione di accesso nella tua istanza Amazon S3 Access Grants utilizzando la console Amazon S3, il AWS Command Line Interface (), l'API REST di Amazon S3 e AWS CLI il. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-grant-view-console"></a>

**Per visualizzare i dettagli di una concessione di accesso**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza.

1. Nella pagina Dettagli, scegli la scheda **Concessioni**.

1. Nella sezione **Concessioni**, trova la concessione di accesso che desideri visualizzare. Puoi utilizzare la casella di ricerca per filtrare l'elenco delle concessioni. 

## Utilizzando il AWS CLI
<a name="access-grants-grant-view-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le informazioni appropriate.

**Example – Ottieni i dettagli di una concessione di accesso**  

```
aws s3control get-access-grant \
--account-id 111122223333 \
--access-grant-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
```
Risposta:  

```
{
    "CreatedAt": "2023-05-31T18:41:34.663000+00:00",
    "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "Grantee": {
        "GranteeType": "IAM",
        "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
    },
    "Permission": "READ",
    "AccessGrantsLocationId": "12a6710f-5af8-41f5-b035-0bc795bf1a2b",
    "AccessGrantsLocationConfiguration": {
        "S3SubPrefix": "prefixB*"
    },
    "GrantScope": "s3://amzn-s3-demo-bucket/"
}
```

**Example – Elenca tutte le concessioni di accesso in un'istanza S3 Access Grants**  
Facoltativamente, puoi utilizzare i seguenti parametri per limitare i risultati a un prefisso S3 o a un'identità AWS Identity and Access Management (IAM):  
+ **Sottoprefisso**: `--grant-scope s3://bucket-name/prefix*`
+ **Identità IAM**: `--grantee-type IAM` e `--grantee-identifier arn:aws:iam::123456789000:role/accessGrantsConsumerRole`

```
aws s3control list-access-grants \
--account-id 111122223333
```
Risposta:  

```
{
    "AccessGrantsList": [{"CreatedAt": "2023-06-14T17:54:46.542000+00:00",
            "AccessGrantId": "dd8dd089-b224-4d82-95f6-975b4185bbaa",
            "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/dd8dd089-b224-4d82-95f6-975b4185bbaa",
            "Grantee": {
                "GranteeType": "IAM",
                "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
            },
            "Permission": "READ",
            "AccessGrantsLocationId": "23514a34-ea2e-4ddf-b425-d0d4bfcarda1",
            "GrantScope": "s3://amzn-s3-demo-bucket/prefixA*"
        },
        {"CreatedAt": "2023-06-24T17:54:46.542000+00:00",
            "AccessGrantId": "ee8ee089-b224-4d72-85f6-975b4185a1b2",
            "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/ee8ee089-b224-4d72-85f6-975b4185a1b2",
            "Grantee": {
                "GranteeType": "IAM",
                "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-9"
            },
            "Permission": "READ",
            "AccessGrantsLocationId": "12414a34-ea2e-4ddf-b425-d0d4bfcacao0",
            "GrantScope": "s3://amzn-s3-demo-bucket/prefixB*"
        },

    ]
}
```

## Utilizzo della REST API
<a name="access-grants-grant-view-rest-api"></a>

Puoi utilizzare le operazioni API di Amazon S3 per visualizzare i dettagli di una concessione di accesso ed elencare tutte le concessioni di accesso in un'istanza S3 Access Grants. Per informazioni sul supporto REST API per la gestione delle concessioni di accesso, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html) 

## Utilizzando il AWS SDKs
<a name="access-grants-grant-view-using-sdk"></a>

Questa sezione fornisce esempi di come ottenere i dettagli di una concessione di accesso utilizzando AWS SDKs.

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]



**Example – Ottieni i dettagli di una concessione di accesso**  

```
public void getAccessGrant() {
GetAccessGrantRequest getRequest = GetAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantId("a1b2c3d4-5678-90ab-cdef-EXAMPLE22222")
.build();
GetAccessGrantResponse getResponse = s3Control.getAccessGrant(getRequest);
LOGGER.info("GetAccessGrantResponse: " + getResponse);
}
```
Risposta:  

```
GetAccessGrantResponse(
CreatedAt=2023-06-07T05:20:26.330Z,
AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE22222,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant-fd3a5086-42f7-4b34-9fad-472e2942c70e,
Grantee=Grantee(
GranteeType=IAM,
GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3
),
Permission=READ,
AccessGrantsLocationId=12a6710f-5af8-41f5-b035-0bc795bf1a2b,
AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration(
S3SubPrefix=prefixB*
),
GrantScope=s3://amzn-s3-demo-bucket/ 
)
```

**Example – Elenca tutte le concessioni di accesso in un'istanza S3 Access Grants**  
Facoltativamente, puoi utilizzare questi parametri per limitare i risultati a un prefisso S3 o un'identità IAM:  
+ **Ambito**: `GrantScope=s3://bucket-name/prefix*`
+ **Assegnatario**: `GranteeType=IAM` e `GranteeIdentifier= arn:aws:iam::111122223333:role/accessGrantsConsumerRole`

```
public void listAccessGrants() {
ListAccessGrantsRequest listRequest = ListAccessGrantsRequest.builder()
.accountId("111122223333")
.build();
ListAccessGrantsResponse listResponse = s3Control.listAccessGrants(listRequest);
LOGGER.info("ListAccessGrantsResponse: " + listResponse);
}
```
Risposta:  

```
ListAccessGrantsResponse(
AccessGrantsList=[
ListAccessGrantEntry(
CreatedAt=2023-06-14T17:54:46.540z,
AccessGrantId=dd8dd089-b224-4d82-95f6-975b4185bbaa,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/dd8dd089-b224-4d82-95f6-975b4185bbaa,
Grantee=Grantee(
GranteeType=IAM, GranteeIdentifier= arn:aws:iam::111122223333:user/data-consumer-3
),
Permission=READ,
AccessGrantsLocationId=23514a34-ea2e-4ddf-b425-d0d4bfcarda1,
GrantScope=s3://amzn-s3-demo-bucket/prefixA 
),
ListAccessGrantEntry(
CreatedAt=2023-06-24T17:54:46.540Z,
AccessGrantId=ee8ee089-b224-4d72-85f6-975b4185a1b2,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/ee8ee089-b224-4d72-85f6-975b4185a1b2,
Grantee=Grantee(
GranteeType=IAM, GranteeIdentifier= arn:aws:iam::111122223333:user/data-consumer-9
),
Permission=READ,
AccessGrantsLocationId=12414a34-ea2e-4ddf-b425-d0d4bfcacao0,
GrantScope=s3://amzn-s3-demo-bucket/prefixB* 
)
]
)
```

------

# Eliminazione di una concessione
<a name="access-grants-grant-delete"></a>

Puoi eliminare un'istanza di Amazon S3 Access Grants da una nel tuo account. L'eliminazione di una concessione di accesso non può essere annullata. Dopo aver eliminato una concessione di accesso, l'assegnatario non avrà più accesso ai tuoi dati Amazon S3.

Puoi eliminare una concessione di accesso utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e. AWS SDKs

## Utilizzo della console S3
<a name="access-grants-grant-delete-console"></a>

**Per eliminare un'autorizzazione di accesso**

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. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

1. Scegli **Visualizza dettagli** per l'istanza.

1. Nella pagina Dettagli, scegli la scheda **Concessioni**. 

1. Cerca la concessione che intendi eliminare. Quando trovi la concessione, scegli il pulsante di opzione accanto a essa. 

1. Scegli **Elimina**. Viene visualizzata una finestra di dialogo che avverte che questa azione non può essere annullata. Scegli nuovamente **Elimina** per eliminare la concessione. 

## Utilizzando il AWS CLI
<a name="access-grants-grant-delete-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Eliminazione di una concessione di accesso**  

```
aws s3control delete-access-grant \
--account-id 111122223333 \
--access-grant-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 

// No response body
```

## Utilizzo della REST API
<a name="access-grants-grant-delete-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la gestione delle concessioni di accesso, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

## Usando il AWS SDKs
<a name="access-grants-grant-delete-using-sdk"></a>

Questa sezione fornisce esempi di come eliminare una concessione di accesso utilizzando AWS SDKs. Per utilizzare l’esempio seguente, sostituisci `user input placeholders` con le informazioni appropriate.

------
#### [ Java ]

**Example – Eliminazione di una concessione di accesso**  

```
public void deleteAccessGrant() {
DeleteAccessGrantRequest deleteRequest = DeleteAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantId("a1b2c3d4-5678-90ab-cdef-EXAMPLE11111")
.build();
DeleteAccessGrantResponse deleteResponse = s3Control.deleteAccessGrant(deleteRequest);
LOGGER.info("DeleteAccessGrantResponse: " + deleteResponse);
}
```
Risposta:  

```
DeleteAccessGrantResponse()
```

------

# Ottenere i dati S3 utilizzando i grant di accesso
<a name="access-grants-data"></a>

I beneficiari che hanno ottenuto l'accesso ai dati S3 tramite S3 Access Grants devono richiedere le credenziali temporanee a S3 Access Grants, che utilizzano per accedere ai dati S3. Per ulteriori informazioni, consulta [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md). I beneficiari utilizzano quindi le credenziali temporanee per eseguire azioni S3 consentite sui dati S3. Per ulteriori informazioni, consulta [Accedere ai dati S3 utilizzando le credenziali fornite da S3 Access Grants](access-grants-get-data.md). I beneficiari possono facoltativamente richiedere un elenco delle loro autorizzazioni di accesso per un anno Account AWS prima di richiedere queste credenziali. Per ulteriori informazioni, consulta [Elenco dei permessi di accesso del chiamante](access-grants-list-grants.md). 

**Topics**
+ [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md)
+ [Accedere ai dati S3 utilizzando le credenziali fornite da S3 Access Grants](access-grants-get-data.md)
+ [Elenco dei permessi di accesso del chiamante](access-grants-list-grants.md)

# Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants
<a name="access-grants-credentials"></a>

Dopo aver [creato una concessione di accesso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html) utilizzando S3 Access Grants, gli assegnatari possono richiedere le credenziali per accedere ai dati S3 di cui dispongono delle autorizzazioni. I beneficiari possono essere responsabili AWS Identity and Access Management (IAM), identità dell'elenco aziendale o applicazioni autorizzate. 

Un'applicazione o Servizio AWS possono utilizzare l'operazione `GetDataAccess` API S3 Access Grants per chiedere a S3 Access Grants l'accesso ai dati S3 per conto di un beneficiario. `GetDataAccess`verifica innanzitutto di aver concesso a questa identità l'accesso ai dati. Quindi, S3 Access Grants utilizza l'operazione [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) per ottenere un token credenziale temporaneo e lo invia al richiedente. Questo token di credenziali temporaneo è un token AWS Security Token Service (AWS STS).

La richiesta `GetDataAccess` deve includere il parametro `target`, che specifica l'ambito dei dati S3 a cui si applicano le credenziali temporanee. Questo ambito `target` può essere lo stesso dell’ambito della concessione o di un sottoinsieme di tale ambito, ma l’ambito `target` deve rientrare nell’ambito della concessione accordata all’assegnatario. La richiesta deve inoltre specificare il parametro `permission` per indicare il livello di autorizzazione per le credenziali temporanee, `READ`, `WRITE` o `READWRITE`.

**Privilegio**  
Il richiedente può specificare il livello di privilegio del token temporaneo nella richiesta di credenziali. Utilizzando il parametro `privilege`, il richiedente può ridurre o ingrandire l'ambito di accesso delle credenziali temporanee entro i limiti dell'ambito della concessione. Il valore predefinito del parametro `privilege` è `Default`, il che significa che l'ambito di destinazione della credenziale restituita è l'ambito della concessione originale. L'altro valore possibile per `privilege` è `Minimal`. Se l'ambito `target` viene ridotto rispetto all'ambito della concessione originale, la credenziale temporanea viene ridimensionata per corrispondere all'ambito `target`, purché l'ambito `target` rientri nell'ambito della concessione. 

La tabella seguente descrive in dettaglio l'effetto del parametro `privilege` su due concessioni. Una concessione ha l'ambito `S3://amzn-s3-demo-bucket1/bob/*`, che include l'intero prefisso `bob/` nel bucket `amzn-s3-demo-bucket1`. Una concessione ha l'ambito `S3://amzn-s3-demo-bucket1/bob/reports/*`, che include l'intero prefisso `bob/reports/` nel bucket `amzn-s3-demo-bucket1`. 


|  Ambito della concessione  |  Ambito richiesto  |  Privilegio  |  Ambito restituito  |  Effetto  | 
| --- | --- | --- | --- | --- | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/\$1 | Default  | amzn-s3-demo-bucket1/bob/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/` nel bucket `amzn-s3-demo-bucket1`.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/  | Minimal  | amzn-s3-demo-bucket1/bob/  |  Senza un carattere jolly \$1 dopo il nome del prefisso `bob/`, il richiedente ha accesso solo all'oggetto denominato `bob/` nel bucket `amzn-s3-demo-bucket1`. Non è comune avere un oggetto del genere. Il richiedente non ha accesso a nessun altro oggetto, compresi quelli con nomi chiave che iniziano con il prefisso `bob/`.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1  | Minimal  | amzn-s3-demo-bucket1/bob/images/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/images/*` nel bucket `amzn-s3-demo-bucket1`.  | 
| S3://amzn-s3-demo-bucket1/bob/reports/\$1 | amzn-s3-demo-bucket1/bob/reports/file.txt  | Default  | amzn-s3-demo-bucket1/bob/reports/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/reports` nel bucket `amzn-s3-demo-bucket1`, che è l'ambito della concessione corrispondente.  | 
| S3://amzn-s3-demo-bucket1/bob/reports/\$1 | amzn-s3-demo-bucket1/bob/reports/file.txt  | Minimal  | amzn-s3-demo-bucket1/bob/reports/file.txt  |  Il richiedente ha accesso solo all'oggetto con il nome della chiave `bob/reports/file.txt` nel bucket `amzn-s3-demo-bucket1`. Il richiedente non ha accesso a nessun altro oggetto.   | 

**Identità delle directory**  
`GetDataAccess` considera tutte le identità coinvolte in una richiesta quando corrispondono alle concessioni adeguate. Per le identità delle directory aziendali, `GetDataAccess` restituisce anche le concessioni dell’identità IAM utilizzata per la sessione con riconoscimento dell’identità. Per ulteriori informazioni sulle sessioni con riconoscimento dell’identità, consulta [Concessione delle autorizzazioni per l’utilizzo di sessioni di console con riconoscimento dell’identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html) nella *Guida per l’utente di AWS Identity and Access Management *. `GetDataAccess` genera credenziali limitando l’ambito alla concessione più restrittiva, come illustrato nella tabella seguente:


|  Ambito di concessione per l’identità IAM |  Ambito di concessione per l’identità delle directory |  Ambito richiesto  |  Ambito restituito  |  Privilegio  |  Effetto  | 
| --- | --- | --- | --- | --- | --- | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/\$1  | Default |  Il richiedente ha accesso a tutti gli oggetti i cui nomi di chiave iniziano con il prefisso *bob/* come parte della concessione per il ruolo IAM, ma è limitato ai prefissi *bob/images/* come parte della concessione per l’identità delle directory. Sia il ruolo IAM sia l’identità delle directory forniscono l’accesso all’ambito richiesto, vale a dire `bob/images/image1.jpeg`, ma l’identità delle directory ha una concessione più restrittiva. Pertanto, l’ambito restituito è limitato alla concessione più restrittiva per l’identità delle directory.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | Minimal |  Poiché il privilegio è impostato su `Minimal`, anche se l’identità ha accesso a un ambito più ampio, viene restituito solo l’ambito richiesto `bob/images/image1.jpeg`.  | 
| S3://amzn-s3-demo-bucket1/bob/images/\$1 | amzn-s3-demo-bucket1/bob/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/\$1  | Default |  Il richiedente ha accesso a tutti gli oggetti i cui nomi di chiave iniziano con il prefisso *bob/* come parte della concessione per l’identità delle directory, ma è limitato ai prefissi *bob/images/* come parte della concessione per il ruolo IAM. Sia il ruolo IAM sia l’identità delle directory forniscono l’accesso all’ambito richiesto, vale a dire `bob/images/image1.jpeg`, ma il ruolo IAM ha una concessione più restrittiva. Pertanto, l’ambito restituito è limitato alla concessione più restrittiva per il ruolo IAM.  | 
| S3://amzn-s3-demo-bucket1/bob/images/\$1 | amzn-s3-demo-bucket1/bob/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | Minimal |  Poiché il privilegio è impostato su `Minimal`, anche se l’identità ha accesso a un ambito più ampio, viene restituito solo l’ambito richiesto `bob/images/image1.jpeg`.  | 

**Durata**  
Il parametro `durationSeconds` imposta la durata della credenziale temporanea, in secondi. Il valore predefinito è `3600` secondi (1 ora), ma il richiedente (l'assegnatario) può specificare un intervallo da `900` secondi (15 minuti) a `43200` secondi (12 ore). Se l'assegnatario richiede un valore superiore a questo valore massimo, la richiesta ha esito negativo. 

**Nota**  
Nella richiesta di un token temporaneo, se la posizione è un oggetto, imposta il valore del parametro `targetType` nella richiesta a `Object`. Questo parametro è obbligatorio solo se la posizione è un oggetto e il livello di privilegio è `Minimal`. Se la posizione è un bucket o un prefisso, non devi specificare questo parametro.

**Esempi**  
Puoi richiedere credenziali temporanee utilizzando AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e il. AWS SDKs Consulta questi esempi.

Per ulteriori informazioni, consulta il *riferimento [GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)all'API di Amazon Simple Storage Service*.

## Usando il AWS CLI
<a name="access-grants-credentials-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Richiesta di credenziali temporanee**  
Richiesta:  

```
aws s3control get-data-access \
--account-id 111122223333 \
--target s3://amzn-s3-demo-bucket/prefixA* \
--permission READ \
--privilege Default \
--region us-east-2
```
Risposta:  

```
{
"Credentials": {
"AccessKeyId": "Example-key-id",
"SecretAccessKey": "Example-access-key",
"SessionToken": "Example-session-token",
"Expiration": "2023-06-14T18:56:45+00:00"},
"MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**",
"Grantee": {
    "GranteeType": "IAM",
    "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name"
 }
}
```

## Utilizzo della REST API
<a name="access-grants-credentials-rest-api"></a>

Per informazioni sul supporto dell'API REST di Amazon S3 per la richiesta di credenziali temporanee da S3 Access Grants, consulta il riferimento all'API di *Amazon [GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)*Simple Storage Service.

## Utilizzando il AWS SDKs
<a name="access-grants-credentials-using-sdk"></a>

Questa sezione fornisce un esempio di come i beneficiari richiedono credenziali temporanee a S3 Access Grants utilizzando il. AWS SDKs

------
#### [ Java ]

Il seguente esempio di codice restituisce le credenziali temporanee utilizzate dall'assegnatario per accedere ai tuoi dati S3. Per utilizzare questo esempio di codice, sostituisci `user input placeholders` con le tue informazioni.

**Example Ottenimento di credenziali temporanee**  
Richiesta:  

```
public void getDataAccess() {
GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder()
.accountId("111122223333")
.permission(Permission.READ)
.privilege(Privilege.MINIMAL)
.target("s3://amzn-s3-demo-bucket/prefixA*")
.build();
GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest);
LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse);
}
```
Risposta:  

```
GetDataAccessResponse(
Credentials=Credentials(
AccessKeyId="Example-access-key-id",
SecretAccessKey="Example-secret-access-key",
SessionToken="Example-session-token",
Expiration=2023-06-07T06:55:24Z
))
```

------

# Accedere ai dati S3 utilizzando le credenziali fornite da S3 Access Grants
<a name="access-grants-get-data"></a>

Dopo aver [ottenuto le credenziali temporanee](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-credentials.html) tramite la concessione di accesso, un assegnatario può utilizzare tali credenziali per chiamare le operazioni API di Amazon S3 per accedere ai tuoi dati. 

I beneficiari possono accedere ai dati S3 utilizzando AWS Command Line Interface (AWS CLI), the e l'API AWS SDKs REST di Amazon S3. Inoltre, puoi usare i plugin AWS [Python](https://github.com/aws/boto3-s3-access-grants-plugin) e [Java](https://github.com/aws/aws-s3-accessgrants-plugin-java-v2) per chiamare S3 Access Grants

## Usando il AWS CLI
<a name="access-grants-get-data-cli"></a>

Dopo aver ottenuto le credenziali temporanee da S3 Access Grants, l'assegnatario può configurare un profilo con tali credenziali per richiamare i dati. 

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*.

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Configura un profilo**  

```
aws configure set aws_access_key_id "$accessKey" --profile access-grants-consumer-access-profile
aws configure set aws_secret_access_key "$secretKey" --profile access-grants-consumer-access-profile
aws configure set aws_session_token "$sessionToken" --profile access-grants-consumer-access-profile
```

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Ottieni i dati S3**  
Il beneficiario può utilizzare il [https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html) AWS CLI comando per accedere ai dati. Il beneficiario può anche utilizzare [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html), e altri comandi S3. AWS CLI   

```
aws s3api get-object \
--bucket amzn-s3-demo-bucket1 \
--key myprefix \
--region us-east-2 \
--profile access-grants-consumer-access-profile
```

## Usando il AWS SDKs
<a name="access-grants-get-data-using-sdk"></a>

Questa sezione fornisce esempi di come i beneficiari possono accedere ai tuoi dati S3 utilizzando il. AWS SDKs

------
#### [ Java ]

Il seguente esempio di codice Java recupera un oggetto da un bucket S3. Per istruzioni su come creare e testare un campione funzionante, consulta [Nozioni di base](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html) nella *Guida per gli sviluppatori di AWS SDK per Java *.

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.ResponseHeaderOverrides;
import com.amazonaws.services.s3.model.S3Object;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class GetObject2 {

    public static void main(String[] args) throws IOException {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String key = "*** Object key ***";

        S3Object fullObject = null, objectPortion = null, headerOverrideObject = null;
        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withRegion(clientRegion)
                    .withCredentials(new ProfileCredentialsProvider())
                    .build();

            // Get an object and print its contents.
            System.out.println("Downloading an object");
            fullObject = s3Client.getObject(new GetObjectRequest(bucketName, key));
            System.out.println("Content-Type: " + fullObject.getObjectMetadata().getContentType());
            System.out.println("Content: ");
            displayTextInputStream(fullObject.getObjectContent());

            // Get a range of bytes from an object and print the bytes.
            GetObjectRequest rangeObjectRequest = new GetObjectRequest(bucketName, key)
                    .withRange(0, 9);
            objectPortion = s3Client.getObject(rangeObjectRequest);
            System.out.println("Printing bytes retrieved.");
            displayTextInputStream(objectPortion.getObjectContent());

            // Get an entire object, overriding the specified response headers, and print
            // the object's content.
            ResponseHeaderOverrides headerOverrides = new ResponseHeaderOverrides()
                    .withCacheControl("No-cache")
                    .withContentDisposition("attachment; filename=example.txt");
            GetObjectRequest getObjectRequestHeaderOverride = new GetObjectRequest(bucketName, key)
                    .withResponseHeaders(headerOverrides);
            headerOverrideObject = s3Client.getObject(getObjectRequestHeaderOverride);
            displayTextInputStream(headerOverrideObject.getObjectContent());
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it, so it returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        } finally {
            // To ensure that the network connection doesn't remain open, close any open
            // input streams.
            if (fullObject != null) {
                fullObject.close();
            }
            if (objectPortion != null) {
                objectPortion.close();
            }
            if (headerOverrideObject != null) {
                headerOverrideObject.close();
            }
        }
    }

    private static void displayTextInputStream(InputStream input) throws IOException {
        // Read the text input stream one line at a time and display each line.
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        System.out.println();
    }
}
```

------

## Azioni S3 supportate in S3 Access Grants
<a name="access-grants-s3-actions"></a>

Un beneficiario può utilizzare la credenziale temporanea fornita da S3 Access Grants per eseguire azioni S3 sui dati S3 a cui ha accesso. Di seguito è riportato un elenco di azioni S3 consentite che un beneficiario può eseguire. Le azioni consentite dipendono dal livello di autorizzazione concesso nella concessione di accesso, `READ`, `WRITE`, o `READWRITE`. 

**Nota**  
Oltre alle autorizzazioni Amazon S3 elencate di seguito, Amazon S3 può richiamare l'autorizzazione AWS Key Management Service (AWS KMS) [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) () o l'autorizzazione (`kms:decrypt`)`READ`. AWS KMS [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)`kms:generateDataKey``WRITE` Queste autorizzazioni non consentono l'accesso diretto alla chiave. AWS KMS 


****  

| Azione S3 IAM | Azione e documento API | Autorizzazione S3 Access Grants | Risorsa S3 | 
| --- | --- | --- | --- | 
| s3:GetObject | [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) | READ | Oggetto | 
| s3:GetObjectVersion | [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) | READ | Oggetto | 
| s3:GetObjectAcl | [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) | READ | Oggetto | 
| s3:GetObjectVersionAcl | [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) | READ | Oggetto | 
| s3:ListMultipartUploads | [ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) | READ | Oggetto | 
| s3:PutObject | [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html), [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html), [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) | WRITE | Oggetto | 
| s3:PutObjectAcl | [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) | WRITE | Oggetto | 
| s3:PutObjectVersionAcl | [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) | WRITE | Oggetto | 
| s3:DeleteObject | [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) | WRITE | Oggetto | 
| s3:DeleteObjectVersion | [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) | WRITE | Oggetto | 
| s3:AbortMultipartUpload | [AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) | WRITE | Oggetto | 
| s3:ListBucket | [HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html), [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), [ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) | READ | Bucket | 
| s3:ListBucketVersions | [ListObjectVersions](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html) | READ | Bucket | 
| s3:ListBucketMultipartUploads | [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) | READ | Bucket | 

# Elenco dei permessi di accesso del chiamante
<a name="access-grants-list-grants"></a>

I proprietari di dati S3 possono utilizzare S3 Access Grants per creare concessioni di accesso per le identità AWS Identity and Access Management (IAM) o per le identità degli elenchi aziendali. AWS IAM Identity Center Le identità IAM e le identità della directory del Centro identità IAM possono a loro volta utilizzare l'API `ListCallerAccessGrants` per elencare tutti i bucket Amazon S3, i prefissi e gli oggetti a cui possono accedere, come definito dai rispettivi S3 Access Grants. Utilizza questa API per scoprire tutti i dati S3 a cui un'identità IAM o di directory può accedere tramite S3 Access Grants. 

È possibile utilizzare questa funzionalità per creare applicazioni che mostrano i dati accessibili a utenti finali specifici. Ad esempio, lo AWS Storage Browser per S3, un componente dell'interfaccia utente open source utilizzato dai clienti per accedere ai bucket S3, utilizza questa funzionalità per presentare agli utenti finali i dati a cui hanno accesso in Amazon S3, in base agli S3 Access Grants. Un altro esempio è la creazione di un'applicazione per la navigazione, il caricamento o il download di dati in Amazon S3: è possibile utilizzare questa funzione per costruire una struttura ad albero nell'applicazione che l'utente finale può poi sfogliare. 

**Nota**  
Per le identità delle directory aziendali, quando si elencano le concessioni di accesso del chiamante, S3 Access Grants restituisce le concessioni dell’identità IAM utilizzata per la sessione con riconoscimento dell’identità. Per ulteriori informazioni sulle sessioni con riconoscimento dell’identità, consulta [Concessione delle autorizzazioni per l’utilizzo di sessioni di console con riconoscimento dell’identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html) nella *Guida per l’utente di AWS Identity and Access Management *.

Il beneficiario, che sia un'identità IAM o un'identità di directory aziendale, può ottenere un elenco delle proprie concessioni di accesso utilizzando AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e il. AWS SDKs

## Utilizzando il AWS CLI
<a name="access-grants-list-grants-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Elenca i permessi di accesso di un chiamante**  
Richiesta:  

```
aws s3control list-caller-access-grants \
--account-id 111122223333 \
--region us-east-2
--max-results 5
```
Risposta:  

```
{
	"NextToken": "6J9S...",
	"CallerAccessGrantsList": [
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix1/*",
			"ApplicationArn": "NA"
		},
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix2/*",
			"ApplicationArn": "ALL"
		},
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix3/*",
			"ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"
		}
	]
}
```

**Example Elenca i permessi di accesso di un chiamante per un bucket**  
È possibile restringere l'ambito dei risultati utilizzando il parametro `grantscope`.  
Richiesta:  

```
aws s3control list-caller-access-grants \
--account-id 111122223333 \
--region us-east-2
--grant-scope "s3://amzn-s3-demo-bucket""
--max-results 1000
```
Risposta:  

```
{
	"NextToken": "6J9S...",
	"CallerAccessGrantsList": [
		{
			"Permission": "READ",
			"GrantScope": "s3://amzn-s3-demo-bucket*",
			"ApplicationArn": "ALL"
		},
		{
			"Permission": "READ",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/*",
			"ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"
		}
	]
}
```

## Utilizzo della REST API
<a name="access-grants-list-grants-rest-api"></a>

Per informazioni sul supporto dell'API REST di Amazon S3 per ottenere un elenco delle concessioni di accesso del chiamante all'API, consulta *Amazon [ListCallerAccessGrants](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html)Simple Storage* Service API Reference.

## Usando il AWS SDKs
<a name="access-grants-list-grants-using-sdk"></a>

Questa sezione fornisce un esempio di come i beneficiari richiedono credenziali temporanee a S3 Access Grants utilizzando il. AWS SDKs

------
#### [ Java ]

Il seguente esempio di codice restituisce le concessioni di accesso del chiamante API ai dati S3 di un determinato utente. Account AWS Per utilizzare questo esempio di codice, sostituisci `user input placeholders` con le tue informazioni.

**Example Elenca i permessi di accesso di un chiamante**  
Richiesta:  

```
Public void ListCallerAccessGrants() {
	ListCallerAccessGrantsRequest listRequest = ListCallerAccessGrantsRequest.builder()
				.withMaxResults(1000)
				.withGrantScope("s3://")
				.accountId("111122223333");
	ListCallerAccessGrantsResponse listResponse = s3control.listCallerAccessGrants(listRequest);
	LOGGER.info("ListCallerAccessGrantsResponse: " + listResponse);
	}
```
Risposta:  

```
ListCallerAccessGrantsResponse(
CallerAccessGrantsList=[
	ListCallerAccessGrantsEntry(
		S3Prefix=s3://amzn-s3-demo-bucket/prefix1/,
		Permission=READ,
		ApplicationArn=ALL
	)
])
```

------

# Accesso multi-account S3 Access Grants
<a name="access-grants-cross-accounts"></a>

Con S3 Access Grants, è possibile concedere l'accesso ai dati di Amazon S3 a quanto segue: 
+ AWS Identity and Access Management identità (IAM) all'interno del tuo account
+ identità IAM in altri account AWS 
+ Utenti o gruppi di elenchi nella tua istanza AWS IAM Identity Center 

Innanzitutto, configurare l'accesso multi-account per l'altro account. Ciò include la concessione dell'accesso all'istanza S3 Access Grants utilizzando una policy di risorse. Quindi, concedere l'accesso ai dati S3 (bucket, prefissi o oggetti) utilizzando le concessioni. 

Dopo aver configurato l'accesso multi-account, l'altro account può richiedere credenziali di accesso temporanee ai dati Amazon S3 da S3 Access Grants. L'immagine seguente mostra il flusso di utenti per l'accesso S3 multi-account tramite S3 Access Grants:

![\[Flusso di utenti multi-account S3 Access Grants\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/access-grants-cross-account.png)


1. Gli utenti o le applicazioni di un secondo account (B) richiedono le credenziali all'istanza S3 Access Grants del tuo account (A), dove sono memorizzati i dati Amazon S3. Per ulteriori informazioni, consulta [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md).

1. L'istanza S3 Access Grants dell'account (A) restituisce le credenziali temporanee se esiste una concessione che dà al secondo account l'accesso ai dati Amazon S3. Per ulteriori informazioni sulle concessioni di accesso, consulta [Operazioni con le concessioni in S3 Access Grants](access-grants-grant.md).

1. Gli utenti o le applicazioni del secondo account (B) utilizzano le credenziali dei fornitori S3 Access Grants per accedere ai dati S3 del tuo account (A).

**Configurazione dell'accesso multi-account a S3 Access Grants**  
Per concedere l'accesso S3 multi-account tramite S3 Access Grants, procedere come segue:
+ **Fase 1:** Configurare un'istanza S3 Access Grants nel proprio account, ad esempio l'account ID `111122223333`, dove vengono archiviati i dati S3.
+ **Fase 2:** configurare la policy delle risorse per l'istanza S3 Access Grants nell'account `111122223333` per consentire l'accesso al secondo account, ad esempio l'ID account `444455556666`.
+ **Fase 3:** Configurare le autorizzazioni IAM per il Principale IAM nel secondo account `444455556666` per richiedere le credenziali dall'istanza S3 Access Grants nell'account `111122223333`.
+ **Fase 4:** creare una concessione nell'account `111122223333` che dia al principale IAM del secondo account `444455556666` l'accesso ad alcuni dei dati S3 dell'account `111122223333`.

## Fase 1: Configurare un'istanza S3 Access Grants nel proprio account
<a name="access-grants-cross-accounts-configure-1"></a>

Innanzitutto, è necessario disporre di un'istanza S3 Access Grants nel proprio account `111122223333` per gestire l'accesso ai dati Amazon S3. È necessario creare un'istanza di S3 Access Grants in ciascuna Regione AWS in cui sono memorizzati i dati S3 che si desidera condividere. Se condividi dati in più di uno Regione AWS, ripeti ciascuno di questi passaggi di configurazione per ciascuno Regione AWS. Se hai già un'istanza S3 Access Grants nel luogo in Regione AWS cui sono archiviati i dati S3, procedi al passaggio successivo. Se non è stata configurata un'istanza S3 Access Grants, consulta [Operazioni con le istanze S3 Access Grants](access-grants-instance.md) per completare questo passaggio. 

## Fase 2: Configurare la policy delle risorse per l'istanza S3 Access Grants in modo da concedere l'accesso multi-account
<a name="access-grants-cross-accounts-configure-2"></a>

Dopo aver creato un'istanza S3 Access Grants nell'account `111122223333` per l'accesso multi-account, configurare la policy basata sulle risorse per l'istanza S3 Access Grants nell'account `111122223333` per concedere l'accesso multi-account. L'istanza S3 Access Grants supporta da sola le policy basate sulle risorse. Con la corretta policy basata sulle risorse, puoi concedere l'accesso alla tua istanza S3 Access Grants a utenti AWS Identity and Access Management (IAM) o ruoli Account AWS di altri utenti. L'accesso multi-account concede solo queste autorizzazioni (azioni):
+ `s3:GetAccessGrantsInstanceForPrefix` - l'utente, il ruolo o l'applicazione possono recuperare l'istanza S3 Access Grants che contiene un particolare prefisso. 
+ `s3:ListAccessGrants`
+ `s3:ListAccessLocations`
+ `s3:ListCallerAccessGrants`
+ `s3:GetDataAccess` - l'utente, il ruolo o l'applicazione possono richiedere credenziali temporanee in base all'accesso concesso tramite S3 Access Grants. Usa queste credenziali per accedere ai dati S3 a cui ti è stato concesso l'accesso. 

Puoi scegliere quali di queste autorizzazioni includere nella policy della risorsa. Questa policy di risorse sull'istanza S3 Access Grants è una normale policy basata sulle risorse e supporta tutto ciò che il [linguaggio delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) supporta. Nella stessa policy, è possibile concedere l'accesso a identità IAM specifiche nell'account `111122223333`, ad esempio, utilizzando la condizione `aws:PrincipalArn`, ma non è necessario farlo con S3 Access Grants. Invece, all'interno dell'istanza S3 Access Grants, è possibile creare concessioni per le singole identità IAM del proprio account e per l'altro account. Gestendo ogni concessione di accesso tramite S3 Access Grants, è possibile scalare le autorizzazioni.

Se si utilizza già [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) (AWS RAM), è possibile utilizzarlo per condividere le risorse [https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-s3](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-s3) con altri account o all’interno dell’organizzazione. Per ulteriori informazioni, consulta [Lavorare con risorse condivise AWS](https://docs.aws.amazon.com/ram/latest/userguide/working-with.html). Se non la utilizzi AWS RAM, puoi anche aggiungere la politica delle risorse utilizzando le operazioni dell'API S3 Access Grants o il AWS Command Line Interface ()AWS CLI. 

### Utilizzo della console S3
<a name="access-grants-cross-accounts-console"></a>

Ti consigliamo di utilizzare la console AWS Resource Access Manager (AWS RAM) per condividere `s3:AccessGrants` le tue risorse con altri account o all'interno della tua organizzazione. Per condividere S3 Access Grants multi-account, procedi come segue:

**Per configurare la policy delle risorse dell'istanza S3 Access Grants:**

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. Seleziona il Regione AWS dal Regione AWS selettore.

1. Dal riquadro di navigazione a sinistra, seleziona **concessioni di accesso**.

1. Nella pagina dell'istanza Access Grants, nella sezione **Istanza in questo account**, seleziona **Condividi istanza**. Questo ti reindirizzerà alla AWS RAM console.

1. Seleziona **Crea condivisione risorse**.

1. Segui i AWS RAM passaggi per creare la condivisione di risorse. Per ulteriori informazioni, vedere [Creazione di una condivisione di risorse in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html).

### Usare il AWS CLI
<a name="access-grants-cross-accounts-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

È possibile aggiungere la policy delle risorse utilizzando il comando CLI `put-access-grants-instance-resource-policy`.

Se si vuole concedere l'accesso multi-account per l'istanza S3 Access Grants nell'account `111122223333` al secondo account `444455556666`, la policy delle risorse per l'istanza S3 Access Grants nell'account `111122223333` deve dare al secondo account `444455556666` il permesso di eseguire le seguenti azioni: 
+ `s3:ListAccessGrants`
+ `s3:ListAccessGrantsLocations`
+ `s3:GetDataAccess`
+ `s3:GetAccessGrantsInstanceForPrefix`

Nella policy delle risorse dell'istanza S3 Access Grants, specificare l'ARN dell'istanza S3 Access Grants come `Resource`, e il secondo account `444455556666` come `Principal`. Per utilizzare l’esempio seguente, sostituisci *user input placeholders* con le informazioni appropriate.

```
{
"Version": "2012-10-17",		 	 	 
"Statement": [
{
	"Effect": "Allow", 
	"Principal": {
	"AWS": "444455556666"
}, 
	"Action": [
		"s3:ListAccessGrants",
		"s3:ListAccessGrantsLocations",
		"s3:GetDataAccess",
		"s3:GetAccessGrantsInstanceForPrefix"
	],
	"Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
} ]
}
```

Per aggiungere o aggiornare la policy delle risorse dell'istanza S3 Access Grants, utilizzare il comando seguente. Quando si utilizza il seguente esempio di comando, sostituisci `user input placeholders` con le tue informazioni.

**Example Aggiungere o aggiornare la policy delle risorse dell'istanza S3 Access Grants**  

```
	aws s3control put-access-grants-instance-resource-policy \
	--account-id 111122223333 \
	--policy file://resourcePolicy.json \
	--region us-east-2
	{
		"Policy": "{\n 
		  \"Version\": \"2012-10-17\",\n 
		  \"Statement\": [{\n  
			\"Effect\": \"Allow\",\n
			\"Principal\": {\n
			  \"AWS\": \"444455556666\"\n
			},\n  
			\"Action\": [\n
			  \"s3:ListAccessGrants\",\n
			  \"s3:ListAccessGrantsLocations\",\n
			  \"s3:GetDataAccess\",\n
			  \"s3:GetAccessGrantsInstanceForPrefix\",\n
			  \"s3:ListCallerAccessGrants"\n
			],\n
			\"Resource\": \"arn:aws:s3:us-east-2:111122223333:access-grants/default\"\n
		   }\n  
		  ]\n
		  }\n",
		"CreatedAt": "2023-06-16T00:07:47.473000+00:00"
	}
```

**Example Ottenere una policy per le risorse S3 Access Grants**  
È inoltre possibile utilizzare la CLI per ottenere o eliminare una policy di risorse per un'istanza S3 Access Grants.  
Per ottenere una policy di risorse S3 Access Grants, utilizzare il seguente comando di esempio. Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.  

```
aws s3control get-access-grants-instance-resource-policy \
--account-id 111122223333 \
--region us-east-2

{
"Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:root\"},\"Action\":[\"s3:ListAccessGrants\",\"s3:ListAccessGrantsLocations\",\"s3:GetDataAccess\",\"s3:GetAccessGrantsInstanceForPrefix\",\"s3:ListCallerAccessGrants\"],\"Resource\":\"arn:aws:
s3:us-east-2:111122223333:access-grants/default\"}]}",
"CreatedAt": "2023-06-16T00:07:47.473000+00:00"
}
```

**Example Eliminare una policy di risorse S3 Access Grants**  
Per eliminare una policy di risorse S3 Access Grants, utilizzare il seguente esempio di comando. Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.  

```
aws s3control delete-access-grants-instance-resource-policy \
--account-id 111122223333 \
--region us-east-2

// No response body
```

### Utilizzo della REST API
<a name="access-grants-cross-accounts-rest-api"></a>

È possibile aggiungere la politica delle risorse utilizzando l'[PutAccessGrantsInstanceResourcePolicy API](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html).

Se si vuole concedere l'accesso multi-account per l'istanza S3 Access Grants nell'account `111122223333` al secondo account `444455556666`, la policy delle risorse per l'istanza S3 Access Grants nell'account `111122223333` deve dare al secondo account `444455556666` il permesso di eseguire le seguenti azioni: 
+ `s3:ListAccessGrants`
+ `s3:ListAccessGrantsLocations`
+ `s3:GetDataAccess`
+ `s3:GetAccessGrantsInstanceForPrefix`

Nella policy delle risorse dell'istanza S3 Access Grants, specificare l'ARN dell'istanza S3 Access Grants come `Resource`, e il secondo account `444455556666` come `Principal`. Per utilizzare l’esempio seguente, sostituisci *user input placeholders* con le informazioni appropriate.

```
{
"Version": "2012-10-17",		 	 	 
"Statement": [
{
	"Effect": "Allow", 
	"Principal": {
	"AWS": "444455556666"
}, 
	"Action": [
		"s3:ListAccessGrants",
		"s3:ListAccessGrantsLocations",
		"s3:GetDataAccess",
		"s3:GetAccessGrantsInstanceForPrefix"
	],
	"Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
} ]
}
```

È quindi possibile utilizzare l'[PutAccessGrantsInstanceResourcePolicy API](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html) per configurare la politica.

Per informazioni sul supporto della REST API per aggiornare, ottenere o eliminare una policy di risorse per un'istanza S3 Access Grants, consulta le seguenti sezioni della *guida di riferimento API di Amazon Simple Storage Service*:
+  [PutAccessGrantsInstanceResourcePolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html) 
+  [GetAccessGrantsInstanceResourcePolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html) 
+  [DeleteAccessGrantsInstanceResourcePolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstanceResourcePolicy.html) 

### Utilizzando il AWS SDKs
<a name="access-grants-cross-accounts-using-sdk"></a>

Questa sezione fornisce esempi AWS SDK su come configurare la politica delle risorse di S3 Access Grants per concedere a un secondo AWS account l'accesso ad alcuni dei tuoi dati S3. 

------
#### [ Java ]

Aggiungi, aggiorna, ottieni o elimina una policy della risorsa per gestire l'accesso multi-account alla tua istanza S3 Access Grants. 

**Example Aggiungere o aggiornare una policy per le risorse dell'istanza S3 Access Grants**  
Se si vuole concedere l'accesso multi-account per l'istanza S3 Access Grants nell'account `111122223333` al secondo account `444455556666`, la policy delle risorse per l'istanza S3 Access Grants nell'account `111122223333` deve dare al secondo account `444455556666` il permesso di eseguire le seguenti azioni:   
+ `s3:ListAccessGrants`
+ `s3:ListAccessGrantsLocations`
+ `s3:GetDataAccess`
+ `s3:GetAccessGrantsInstanceForPrefix`
Nella policy delle risorse dell'istanza S3 Access Grants, specificare l'ARN dell'istanza S3 Access Grants come `Resource`, e il secondo account `444455556666` come `Principal`. Per utilizzare l’esempio seguente, sostituisci *user input placeholders* con le informazioni appropriate.  

```
{
"Version": "2012-10-17",		 	 	 
"Statement": [
{
	"Effect": "Allow", 
	"Principal": {
	"AWS": "444455556666"
}, 
	"Action": [
		"s3:ListAccessGrants",
		"s3:ListAccessGrantsLocations",
		"s3:GetDataAccess",
		"s3:GetAccessGrantsInstanceForPrefix"
	],
	"Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
} ]
}
```
Per aggiungere o aggiornare una policy di risorse dell'istanza S3 Access Grants, utilizzare il seguente esempio di codice:  

```
public void putAccessGrantsInstanceResourcePolicy() {
	PutAccessGrantsInstanceResourcePolicyRequest putRequest = PutAccessGrantsInstanceResourcePolicyRequest.builder()
	.accountId(111122223333)
	.policy(RESOURCE_POLICY)
	.build();
	PutAccessGrantsInstanceResourcePolicyResponse putResponse = s3Control.putAccessGrantsInstanceResourcePolicy(putRequest);
	LOGGER.info("PutAccessGrantsInstanceResourcePolicyResponse: " + putResponse);
	}
```
Risposta:  

```
PutAccessGrantsInstanceResourcePolicyResponse(
	Policy={
	"Version": "2012-10-17",		 	 	 
	"Statement": [{
	"Effect": "Allow",
	"Principal": {
	"AWS": "444455556666"
	},
	"Action": [
	"s3:ListAccessGrants",
	"s3:ListAccessGrantsLocations",
	"s3:GetDataAccess",
	"s3:GetAccessGrantsInstanceForPrefix",
	"s3:ListCallerAccessGrants"
	],
	"Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
	}]
	}
	)
```

**Example Ottenere una policy per le risorse S3 Access Grants**  
Per ottenere una policy di risorse S3 Access Grants, utilizzare il seguente esempio di codice. Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.  

```
public void getAccessGrantsInstanceResourcePolicy() {
	GetAccessGrantsInstanceResourcePolicyRequest getRequest = GetAccessGrantsInstanceResourcePolicyRequest.builder()
	.accountId(111122223333)
	.build();
	GetAccessGrantsInstanceResourcePolicyResponse getResponse = s3Control.getAccessGrantsInstanceResourcePolicy(getRequest);
	LOGGER.info("GetAccessGrantsInstanceResourcePolicyResponse: " + getResponse);
	}
```
Risposta:  

```
GetAccessGrantsInstanceResourcePolicyResponse(
	Policy={"Version": "2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::444455556666:root"},"Action":["s3:ListAccessGrants","s3:ListAccessGrantsLocations","s3:GetDataAccess","s3:GetAccessGrantsInstanceForPrefix","s3:ListCallerAccessGrants"],"Resource":"arn:aws:s3:us-east-2:111122223333:access-grants/default"}]},
	CreatedAt=2023-06-15T22:54:44.319Z
	)
```

**Example Eliminare una policy di risorse S3 Access Grants**  
Per eliminare una policy di risorse S3 Access Grants, utilizzare il seguente esempio di codice. Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.  

```
public void deleteAccessGrantsInstanceResourcePolicy() {
	DeleteAccessGrantsInstanceResourcePolicyRequest deleteRequest = DeleteAccessGrantsInstanceResourcePolicyRequest.builder()
	.accountId(111122223333)
	.build();
	DeleteAccessGrantsInstanceResourcePolicyResponse deleteResponse = s3Control.putAccessGrantsInstanceResourcePolicy(deleteRequest);
	LOGGER.info("DeleteAccessGrantsInstanceResourcePolicyResponse: " + deleteResponse);
	}
```
Risposta:  

```
DeleteAccessGrantsInstanceResourcePolicyResponse()
```

------

## Fase 3: concedere alle identità IAM di un secondo account l'autorizzazione a chiamare l'istanza S3 Access Grants del proprio account
<a name="access-grants-cross-accounts-configure-3"></a>

Dopo che il proprietario dei dati di Amazon S3 ha configurato la policy multi-account per l'istanza S3 Access Grants nell'account `111122223333`, il proprietario del secondo account `444455556666` deve creare una policy basata sull'identità per i suoi utenti o ruoli IAM e deve concedere loro l'accesso all'istanza S3 Access Grants. Nella policy basata sull'identità, includere una o più delle seguenti azioni, a seconda di quanto concesso nella policy delle risorse dell'istanza S3 Access Grants e delle autorizzazioni che si desidera concedere:
+ `s3:ListAccessGrants`
+ `s3:ListAccessGrantsLocations`
+ `s3:GetDataAccess`
+ `s3:GetAccessGrantsInstanceForPrefix`
+ `s3:ListCallerAccessGrants`

Seguendo il [modello di accesso multi-account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html), gli utenti o i ruoli IAM del secondo account `444455556666` devono avere esplicitamente una o più di queste autorizzazioni. Ad esempio, concedere l'autorizzazione `s3:GetDataAccess` in modo che l'utente o il ruolo IAM possa chiamare l'istanza S3 Access Grants nell'account `111122223333` per richiedere le credenziali. 

Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

```
{
	"Version": "2012-10-17",		 	 	 
	"Statement": [
	{
		"Effect": "Allow", 
		"Action": [
			"s3:GetDataAccess",
		],
			"Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
		} 
	]
}
```

Per informazioni sulla modifica delle policy IAM basate sull'identità, consulta [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida a AWS Identity and Access Management *.

## Fase 4: creare una concessione nell'istanza S3 Access Grants del proprio account, che dia all'identità IAM del secondo account l'accesso ad alcuni dei dati S3
<a name="access-grants-cross-accounts-configure-4"></a>

Per l'ultima fase di configurazione, è possibile creare una concessione nell'istanza S3 Access Grants dell'account 111122223333 che dia accesso all'identità IAM del secondo account 444455556666 ad alcuni dei dati S3 dell'account. Puoi farlo utilizzando la console Amazon S3, la CLI, l'API e. SDKs Per ulteriori informazioni, consulta [Creazione di concessioni](access-grants-grant-create.md). 

Nella concessione, specifica l' AWS ARN dell'identità IAM del secondo account e specifica a quale posizione nei dati S3 (un bucket, un prefisso o un oggetto) a cui concedi l'accesso. Questa posizione deve essere già registrata con l'istanza S3 Access Grants. Per ulteriori informazioni, consulta [Registrazione di una posizione](access-grants-location-register.md). È possibile specificare facoltativamente un sottoprefisso. Ad esempio, se la posizione a cui si concede l'accesso è un bucket e si vuole limitare ulteriormente l'accesso a un oggetto specifico di quel bucket, si deve passare il nome della chiave dell'oggetto nel campo `S3SubPrefix`. Oppure, se si vuole limitare l'accesso agli oggetti del bucket con nomi di chiavi che iniziano con un prefisso specifico, come `2024-03-research-results/`, trasmetti `S3SubPrefix=2024-03-research-results/`. 

Di seguito è riportato un esempio di comando CLI per la creazione di una concessione di accesso per un'identità del secondo account. Per ulteriori informazioni, consulta [Creazione di concessioni](access-grants-grant-create.md). Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

```
aws s3control create-access-grant \
--account-id 111122223333 \
--access-grants-location-id default \
--access-grants-location-configuration S3SubPrefix=prefixA* \
--permission READ \
--grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::444455556666:role/data-consumer-1
```

Dopo aver configurato l'accesso multi-account, l'utente o il ruolo del secondo account può eseguire le seguenti operazioni: 
+ Chiama `ListAccessGrantsInstances` per elencare le istanze S3 Access Grants condivise con esso attraverso AWS RAM. Per ulteriori informazioni, consulta [Ottenimento dei dettagli di un'istanza S3 Access Grants](access-grants-instance-view.md).
+ Richiede credenziali temporanee da S3 Access Grants. Per ulteriori informazioni su come effettuare queste richieste, consulta [Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants](access-grants-credentials.md).

# Gestione dei tag per S3 Access Grants
<a name="access-grants-tagging"></a>

I tag in Amazon S3 Access Grants hanno caratteristiche simili ai [tag degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) in Amazon S3. Ogni tag è una coppia chiave-valore. Le risorse in S3 Access Grants alle quali puoi aggiungere tag sono [istanze](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance.html), [posizioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) e [concessioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html) di S3 Access Grants. 

**Nota**  
L'assegnazione di tag in S3 Access Grants utilizza operazioni API diverse rispetto all'assegnazione di tag agli oggetti. S3 Access Grants utilizza le operazioni API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html) in cui una risorsa può essere una posizione registrata, una concessione di accesso o un’istanza S3 Access Grants.

Analogamente ai [tag degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html), si applicano le seguenti limitazioni:
+ Puoi aggiungere tag alle nuove risorse S3 Access Grants al momento della loro creazione oppure puoi aggiungere tag alle risorse esistenti.
+ Puoi associare fino a un massimo di 10 tag a ciascuna risorsa. Se alla stessa risorsa sono associati più tag, questi devono avere chiavi di tag univoche.
+ Una chiave di tag può contenere fino a 128 caratteri Unicode e i valori dei tag possono contenere fino a 256 caratteri Unicode. I tag sono rappresentati internamente in UTF-16. In UTF-16, i caratteri utilizzano 1 o 2 posizioni carattere.
+ Per chiavi e valori viene fatta distinzione tra maiuscole e minuscole.

Per ulteriori informazioni sulle restrizioni sui tag, consulta [Restrizioni sui tag definiti dall'utente](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) nella *Guida per l'utente di AWS Billing *.

Puoi taggare le risorse in S3 Access Grants utilizzando AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 o il. AWS SDKs

## Usando il AWS CLI
<a name="access-grants-tagging-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Puoi aggiungere tag a una risorsa S3 Access Grants quando la crei o dopo averla creata. Di seguito sono riportati esempi che mostrano come aggiungere tag a un'istanza S3 Access Grants o rimuoverli da essa. Puoi eseguire operazioni simili per le posizioni registrate e le concessioni di accesso. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example – Crea un'istanza S3 Access Grants con tag**  

```
aws s3control create-access-grants-instance \
 --account-id 111122223333 \
 --profile access-grants-profile \
 --region us-east-2 \
 --tags Key=tagKey1,Value=tagValue1
```
Risposta:  

```
 {
    "CreatedAt": "2023-10-25T01:09:46.719000+00:00",
    "AccessGrantsInstanceId": "default",
    "AccessGrantsInstanceArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default"
}
```

**Example – Aggiungi un tag a un'istanza S3 Access Grants già creata**  

```
aws s3control tag-resource \
--account-id 111122223333 \
--resource-arn "arn:aws:s3:us-east-2:111122223333:access-grants/default" \
--profile access-grants-profile \
--region us-east-2 \
--tags Key=tagKey2,Value=tagValue2
```

**Example – Elenca i tag per l'istanza S3 Access Grants**  

```
aws s3control list-tags-for-resource \
--account-id 111122223333 \
--resource-arn "arn:aws:s3:us-east-2:111122223333:access-grants/default" \
--profile access-grants-profile \
--region us-east-2
```
Risposta:  

```
{
    "Tags": [
        {
            "Key": "tagKey1",
            "Value": "tagValue1"
        },
        {
            "Key": "tagKey2",
            "Value": "tagValue2"
        }
    ]
}
```

**Example – Rimuovi tag dall'istanza S3 Access Grants**  

```
aws s3control untag-resource \
 --account-id 111122223333 \
 --resource-arn "arn:aws:s3:us-east-2:111122223333:access-grants/default" \
 --profile access-grants-profile \
 --region us-east-2 \
 --tag-keys "tagKey2"
```

## Utilizzo della REST API
<a name="access-grants-tagging-rest-api"></a>

Puoi utilizzare l'API Amazon S3 per aggiungere o rimuovere i tag oppure per elencare i tag per una posizione registrata, una concessione di accesso o un'istanza S3 Access Grants. Per informazioni sul supporto REST API di Amazon S3 per la gestione dei tag S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)

# Limitazioni di S3 Access Grants
<a name="access-grants-limitations"></a>

[S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) presenta le seguenti limitazioni: 

**Nota**  
Se il tuo caso d'uso supera queste limitazioni, [contatta l' AWS assistenza](https://aws.amazon.com/contact-us/?cmpid=docs_headercta_contactus) per richiedere limiti più elevati.

 **Istanza S3 Access Grants**   
Puoi creare **1 istanza S3 Access Grants per account**. Regione AWS Consulta [Creazione di un'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html).

 **Posizione di S3 Access Grants**   
Puoi registrare **1.000 posizioni S3 Access Grants** per istanza S3 Access Grants. Consulta [Registrazione di una posizione S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html). 

 **Grant**   
Puoi creare solo **100.000 concessioni** per istanza S3 Access Grants. Consulta [Creazione di una concessione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html).

## S3 Access Grants Regioni AWS
<a name="access-grants-limitations-regions"></a>

 S3 Access Grants è attualmente disponibile nelle seguenti versioni: Regioni AWS


| Regione AWS codice | Regione AWS nome | 
| --- | --- | 
| us-east-1 | Stati Uniti orientali (Virginia settentrionale) | 
| us-east-2 | Stati Uniti orientali (Ohio) | 
| us-west-1 | Stati Uniti occidentali (California settentrionale) | 
| us-west-2 | Stati Uniti occidentali (Oregon) | 
| af-south-1 | Africa (Città del Capo) | 
| ap-east-1 | Asia Pacifico (Hong Kong) | 
| ap-east-2 | Asia Pacifico (Taipei) | 
| ap-northeast-1 | Asia Pacifico (Tokyo) | 
| ap-northeast-2 | Asia Pacifico (Seoul) | 
| ap-northeast-3 | Asia Pacifico (Osaka) | 
| ap-south-1 | Asia Pacifico (Mumbai) | 
| ap-south-2 | Asia Pacifico (Hyderabad) | 
| ap-southeast-1 | Asia Pacifico (Singapore) | 
| ap-southeast-2 | Asia Pacifico (Sydney) | 
| ap-southeast-3 | Asia Pacifico (Giacarta) | 
| ap-southeast-4 | Asia Pacifico (Melbourne) | 
| ap-southeast-6 | Asia Pacifico (Nuova Zelanda) | 
| ap-southeast-7 | Asia Pacifico (Thailandia) | 
| ca-central-1 | Canada (Centrale) | 
| ca-west-1 | Canada occidentale (Calgary) | 
| eu-central-1 | Europa (Francoforte) | 
| eu-central-2 | Europa (Zurigo) | 
| eu-north-1 | Europa (Stoccolma) | 
| eu-south-1 | Europa (Milano) | 
| eu-south-2 | Europa (Spagna) | 
| eu-west-1 | Europa (Irlanda) | 
| eu-west-2 | Europa (Londra) | 
| eu-west-3 | Europa (Parigi) | 
| il-central-1 | Israele (Tel Aviv) | 
| me-central-1 | Medio Oriente (Emirati Arabi Uniti) | 
| me-south-1 | Medio Oriente (Bahrein) | 
| mx-central-1 | Messico (centrale) | 
| sa-east-1 | Sud America (San Paolo) | 
| us-gov-east-1 | AWS GovCloud (Stati Uniti orientali) | 
| us-gov-west-1 | AWS GovCloud (Stati Uniti occidentali) | 

# Integrazioni con S3 Access Grants
<a name="access-grants-integrations"></a>

S3 Access Grants può essere utilizzato con i seguenti AWS servizi e funzionalità. Questa pagina verrà aggiornata non appena saranno disponibili nuove integrazioni. 

**Suggerimento**  
Questo [AWS workshop per S3 Access Grants](https://catalog.us-east-1.prod.workshops.aws/workshops/77b0af63-6ad2-4c94-bfc0-270eb9358c7a/en-US/0-getting-started) illustra come utilizzare S3 Access Grants con utenti AWS Identity and Access Management (IAM), utenti IAM Identity Center, Amazon EMR e. AWS Transfer Family

 **Amazon Athena**   
[Utilizzo di gruppi di processo Athena con Centro identità IAM abilitato](https://docs.aws.amazon.com/athena/latest/ug/workgroups-identity-center.html)

 **Amazon EMR**   
[Avvio di un cluster Amazon EMR con S3 Access Grants](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html)

 **Amazon EMR su EKS**   
[Avvio di un cluster Amazon EMR su EKS con S3 Access Grants](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/access-grants.html)

 **Applicazione Amazon EMR serverless**   
[Avvio di un'applicazione Amazon EMR serverless con S3 Access Grants](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/access-grants.html)

 **Amazon Redshift**   
[Integrazione di Amazon Redshift con Amazon S3 Access Grants](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-sso-s3idc.html)

 **Amazon SageMaker AI Studio**   
[Aggiungere dati Amazon S3 ad Amazon SageMaker AI Unified Studio](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/adding-existing-s3-data.html)  
Utilizzando S3 Access Grants in Amazon SageMaker AI Unified Studio, puoi condividere i tuoi dati Amazon S3 in più progetti. Per consentire la concessione dell’accesso ai dati tramite S3 Access Grants, è necessaria un’istanza S3 Access Grants. Amazon SageMaker AI Unified Studio utilizzerà un'istanza S3 Access Grants se una è già disponibile o può creare un'istanza. Innanzitutto, si aggiungono i dati di Amazon S3 e poi si pubblicano nel catalogo o si condividono direttamente con i consumatori.  
[Utilizzo di Amazon S3 Access Grants con Amazon SageMaker AI Studio e il plug-in SDK for Python (Boto3)](https://aws.amazon.com/about-aws/whats-new/2024/07/amazon-s3-access-grants-integrate-sagemaker-studio/)  
L'uso di S3 Access Grants nei notebook Amazon SageMaker AI Studio ora è più semplice quando si utilizza il plug-in SDK for Python (Boto3). Imposta preventivamente le concessioni di accesso per i principali IAM e gli utenti delle directory. AWS IAM Identity Center Sebbene Amazon SageMaker AI Studio non supporti nativamente gli utenti delle directory dei provider di identità, puoi scrivere codice Python personalizzato utilizzando il plug-in che consente a queste identità di accedere ai dati S3 tramite S3 Access Grants. L'accesso ai dati avviene con l'aiuto del plug-in e non tramite Amazon SageMaker AI.

 **AWS Glue**   
[Amazon S3 Access Grants con AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/security-s3-access-grants.html)

 **AWS IAM Identity Center**   
[Propagazione delle identità attendibili tra le applicazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html)

 **AWS Transfer Family**   
[Configura Amazon S3 Access Grants](https://docs.aws.amazon.com/transfer/latest/userguide/webapp-access-grant.html) per AWS Transfer Family

 **Storage Browser per S3**   
[Gestione dell'accesso ai dati in scala](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setup-storagebrowser.html#setup-storagebrowser-method3) con Storage Browser per S3

 **Framework Python open source**   
[Amazon S3 Access Grants ora si integra con i framework Python open source](https://aws.amazon.com/about-aws/whats-new/2024/07/amazon-s3-access-grants-integrate-open-source-python/)

# Gestire l'accesso con ACLs
<a name="acls"></a>

 Le liste di controllo degli accessi (ACLs) sono una delle opzioni basate sulle risorse che puoi utilizzare per gestire l'accesso ai tuoi bucket e oggetti. È possibile utilizzare ACLs per concedere autorizzazioni di lettura/scrittura di base ad altri. Account AWS Esistono dei limiti alla gestione delle autorizzazioni tramite. ACLs

Ad esempio, puoi concedere autorizzazioni solo ad altri Account AWS; non puoi concedere autorizzazioni agli utenti del tuo account. Non puoi concedere autorizzazioni condizionali, né puoi negare esplicitamente le autorizzazioni. ACLs sono adatti per scenari specifici. Ad esempio, se il proprietario di un bucket consente Account AWS ad altri di caricare oggetti, le autorizzazioni per questi oggetti possono essere gestite utilizzando l'ACL dell'oggetto solo dal proprietario dell' Account AWS oggetto.

S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e ne gestisce l'accesso esclusivamente utilizzando le politiche di gestione degli accessi.

 La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**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 forzata del proprietario del Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice di errore. `AccessControlListNotSupported` Le richieste di lettura ACLs sono ancora supportate.

Per ulteriori informazioni in merito ACLs, consulta i seguenti argomenti.

**Topics**
+ [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md)
+ [Configurazione ACLs](managing-acls.md)
+ [Esempi di politiche per ACLs](example-bucket-policies-condition-keys.md)

# Panoramica delle liste di controllo accessi (ACL)
<a name="acl-overview"></a>

Le liste di controllo degli accessi di Amazon S3 (ACLs) consentono di gestire l'accesso a bucket e oggetti. A ogni bucket e oggetto è allegata una ACL come sottorisorsa. Definisce a quali Account AWS gruppi è concesso 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 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e ne gestisce l'accesso esclusivamente utilizzando le politiche di gestione degli accessi.

 La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**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 forzata del proprietario del Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice di errore. `AccessControlListNotSupported` Le richieste di lettura ACLs 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):

**Example**  

```
 1. <?xml version="1.0" encoding="UTF-8"?>
 2. <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
 3.   <Owner>
 4.     <ID>*** Owner-Canonical-User-ID ***</ID>
 5.   </Owner>
 6.   <AccessControlList>
 7.     <Grant>
 8.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 9.                xsi:type="Canonical User">
10.         <ID>*** Owner-Canonical-User-ID ***</ID>
11.       </Grantee>
12.       <Permission>FULL_CONTROL</Permission>
13.     </Grant>
14.   </AccessControlList>
15. </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 [Trovare un ID utente Account AWS canonico](#finding-canonical-id). L'`Grant`elemento identifica il beneficiario (un gruppo 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.

**Topics**
+ [Che cosa si intende per assegnatario?](#specifying-grantee)
+ [Quali autorizzazioni è possibile concedere?](#permissions)
+ [Valori `aclRequired` per le richieste di Amazon S3](#aclrequired-s3)
+ [ACL di esempio](#sample-acl)
+ [ACL predefinita](#canned-acl)

## Che cosa si intende per assegnatario?
<a name="specifying-grantee"></a>

Quando si concedono i diritti di accesso, si specifica ogni assegnatario come coppia `type="value"` in cui `type` è uno dei seguenti:
+ `id`— Se il valore specificato è l'ID utente canonico di un Account AWS
+ `uri`: se si concedono autorizzazioni a un gruppo predefinito

**avvertimento**  
Quando concedi ad altri Account AWS l'accesso alle tue risorse, tieni presente che Account AWS possono delegare le proprie autorizzazioni agli utenti tramite i propri 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) nella *Guida per l'utente di IAM*. 

### Trovare un ID utente Account AWS canonico
<a name="finding-canonical-id"></a>

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](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) nella *Guida di riferimento per la gestione dell'account AWS *.

Puoi anche cercare l'ID utente canonico di un utente Account AWS leggendo l'ACL di un bucket o di un oggetto a cui dispone delle autorizzazioni di accesso. Account AWS Quando a un individuo Account AWS vengono concesse le autorizzazioni tramite una richiesta di concessione, viene aggiunta una voce di autorizzazione 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](access-policy-language-overview.md#about-resource-owner).

### Gruppi predefiniti di Amazon S3
<a name="specifying-grantee-predefined-groups"></a>

Amazon S3 include un set di gruppi predefiniti. Quando concedi l'accesso tramite account a un gruppo, specifichi uno degli Amazon URIs 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 tutto. Account AWS**L'autorizzazione di accesso a questo gruppo consente Account AWS a chiunque di accedere alla risorsa.** Tuttavia, tutte le richieste devono essere firmate (autenticate).
**avvertimento**  
Quando concedi l'accesso al **gruppo Authenticated Users**, qualsiasi utente AWS autenticato al mondo può accedere alla tua 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_ACP` o `FULL_CONTROL`. Ad esempio, sebbene le autorizzazioni `WRITE` non consentano ai non proprietari di sovrascrivere o eliminare oggetti esistenti, le autorizzazioni `WRITE` consentono 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?](#permissions).
+ ****Gruppo Log Delivery**** – Rappresentato da `http://acs.amazonaws.com/groups/s3/LogDelivery`.

  L'autorizzazione `WRITE` per 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](ServerLogs.md)) per il bucket.

**Nota**  
Quando si utilizza ACLs, un beneficiario può essere uno Account AWS o uno dei gruppi Amazon S3 predefiniti. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

## Quali autorizzazioni è possibile concedere?
<a name="permissions"></a>

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 ACLs](managing-acls.md).


| 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\$1ACP | Consente all'assegnatario di leggere l'ACL del bucket | Consente all'assegnatario di leggere l'ACL dell'oggetto | 
| WRITE\$1ACP | Consente all'assegnatario di scrivere l'ACL del bucket interessato | Consente all'assegnatario di scrivere l'ACL dell'oggetto interessato | 
| FULL\$1CONTROL | Consente al beneficiario le autorizzazioni READ, WRITE, READ\$1ACP e WRITE\$1ACP sul bucket | Consente al beneficiario le autorizzazioni READ, READ\$1ACP e WRITE\$1ACP 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)](#acl-overview) prima di concedere autorizzazioni.

### Mappatura delle autorizzazioni ACL e delle autorizzazioni della policy di accesso
<a name="acl-access-policy-permission-mapping"></a>

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](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions)). 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. Si utilizzano ACLs principalmente per concedere autorizzazioni di base, simili alle read/write autorizzazioni del file system. Per ulteriori informazioni su quando utilizzare una lista ACL, consulta [Identity and Access Management per Amazon S3](security-iam.md).

Per ulteriori informazioni sulle autorizzazioni ACL nella console di Amazon S3, consulta [Configurazione ACLs](managing-acls.md).


| 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 |  `s3:PutObject` Il proprietario del bucket può creare, sovrascrivere ed eliminare qualsiasi oggetto nel bucket e il proprietario dell'oggetto ha `FULL_CONTROL` sull'oggetto. Inoltre, quando l'assegnatario è il proprietario del bucket, la concessione dell'autorizzazione `WRITE` nell'ACL di un bucket consente l'esecuzione dell'operazione `s3:DeleteObjectVersion` su qualsiasi versione del bucket.   | Non applicabile. | 
| READ\$1ACP | s3:GetBucketAcl  | s3:GetObjectAcl e s3:GetObjectVersionAcl | 
| WRITE\$1ACP | s3:PutBucketAcl | s3:PutObjectAcl e s3:PutObjectVersionAcl | 
| FULL\$1CONTROL | Equivale alla concessione delle autorizzazioni ACL READ, WRITE, READ\$1ACP e WRITE\$1ACP. 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\$1ACP e WRITE\$1ACP. Di conseguenza, questa autorizzazione ACL è mappata su una combinazione delle autorizzazioni corrispondenti della policy d'accesso predefinita. | 

### Chiavi di condizione
<a name="acl-specific-condition-keys"></a>

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 seguenti chiavi di contesto corrispondono a. ACLs È 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](#canned-acl).

Per policy di esempio con intestazioni specifiche delle liste ACL, consulta [Concessione di s3: PutObject autorizzazione con una condizione che richiede al proprietario del bucket di ottenere il pieno controllo](example-bucket-policies-condition-keys.md#grant-putobject-conditionally-1). Per un elenco completo delle chiavi di condizione specifiche per Amazon S3, consulta [ Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) 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](using-with-s3-policy-actions.md).

## Valori `aclRequired` per le richieste di Amazon S3
<a name="aclrequired-s3"></a>

Per identificare le richieste Amazon S3 che richiedono ACLs l'autorizzazione, puoi utilizzare il `aclRequired` valore nei log di accesso al server Amazon S3 oppure. AWS CloudTrail Il `aclRequired` valore visualizzato nei CloudTrail nostri log di accesso al server di Amazon S3 dipende dalle operazioni richiamate e da determinate informazioni sul richiedente, sul proprietario dell'oggetto e sul proprietario del bucket. Se non è ACLs necessario, o se stai impostando l'ACL `bucket-owner-full-control` predefinito o se le richieste sono consentite dalla tua policy bucket, la stringa di `aclRequired` valore è "`-`" nei log di accesso al server di Amazon S3 ed è assente in. CloudTrail

Le tabelle seguenti elencano `aclRequired` i valori previsti nei CloudTrail nostri log di accesso al server Amazon S3 per le varie operazioni API di Amazon S3. Puoi utilizzare queste informazioni per capire da cosa dipende ACLs l'autorizzazione delle operazioni di Amazon S3. 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 (\$1) 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 per`aclRequired`. CloudTrail 


| Nome operazione | Richiedente | Proprietario dell'oggetto. | Proprietario del bucket  | La policy di bucket garantisce l'accesso | `aclRequired` value | 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) | \$1 | Non applicabile | \$1 | 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 | \$1 | \$1 | \$1 | Sì o No | Sì | Richiesta di autorizzazioni ACL | 
| PutBucketAcl | \$1 | Non applicabile | \$1 | 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` value | 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) | \$1 | Non applicabile | \$1 | 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 | \$1 | \$1 | \$1 | Sì o No | Sì | Richiesta di autorizzazioni ACL | 

## ACL di esempio
<a name="sample-acl"></a>

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. Inoltre, l'ACL mostra come vengono concesse le autorizzazioni su una risorsa a due Account AWS, identificati da un ID utente canonico, e a due dei gruppi Amazon S3 predefiniti discussi nella sezione precedente.

**Example**  

```
 1. <?xml version="1.0" encoding="UTF-8"?>
 2. <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
 3.   <Owner>
 4.     <ID>Owner-canonical-user-ID</ID>
 5.   </Owner>
 6.   <AccessControlList>
 7.     <Grant>
 8.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
 9.         <ID>Owner-canonical-user-ID</ID>
10.       </Grantee>
11.       <Permission>FULL_CONTROL</Permission>
12.     </Grant>
13.     
14.     <Grant>
15.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
16.         <ID>user1-canonical-user-ID</ID>
17.       </Grantee>
18.       <Permission>WRITE</Permission>
19.     </Grant>
20. 
21.     <Grant>
22.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
23.         <ID>user2-canonical-user-ID</ID>
24.       </Grantee>
25.       <Permission>READ</Permission>
26.     </Grant>
27. 
28.     <Grant>
29.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
30.         <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> 
31.       </Grantee>
32.       <Permission>READ</Permission>
33.     </Grant>
34.     <Grant>
35.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
36.         <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI>
37.       </Grantee>
38.       <Permission>WRITE</Permission>
39.     </Grant>
40. 
41.   </AccessControlList>
42. </AccessControlPolicy>
```

## ACL predefinita
<a name="canned-acl"></a>

*Amazon S3 supporta una serie di sovvenzioni predefinite, note come predefinite. ACLs* Ogni ACL predefinita ha un insieme predefinito di assegnatari e autorizzazioni. La tabella seguente elenca il set di sovvenzioni predefinite ACLs e le sovvenzioni predefinite associate. 


| ACL predefinita | Si applica a | Autorizzazioni aggiunte a un'ACL | 
| --- | --- | --- | 
| private | Bucket e oggetto | Il proprietario ottiene il FULL\$1CONTROL. Nessun altro ha diritti di accesso (impostazione predefinita). | 
| public-read | Bucket e oggetto | Il proprietario ottiene il FULL\$1CONTROL. Il gruppo AllUsers (consulta [Che cosa si intende per assegnatario?](#specifying-grantee)) ottiene l'accesso READ.  | 
| public-read-write | Bucket e oggetto | Il proprietario ottiene il FULL\$1CONTROL. 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\$1CONTROL. 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\$1CONTROL. Il gruppo AuthenticatedUsers ottiene l'accesso READ. | 
| bucket-owner-read | Oggetto | Il proprietario dell'oggetto ottiene il FULL\$1CONTROL. 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\$1CONTROL 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\$1ACP sul bucket. Per ulteriori informazioni sui log, consulta ([Registrazione delle richieste con registrazione dell'accesso al server](ServerLogs.md)). | 

**Nota**  
È possibile specificare solo una di queste opzioni predefinite nella richiesta ACLs .

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. 

# Configurazione ACLs
<a name="managing-acls"></a>

Questa sezione spiega come gestire le autorizzazioni di accesso per i bucket e gli oggetti S3 utilizzando gli elenchi di controllo degli accessi (). ACLs Puoi aggiungere concessioni all'ACL della tua risorsa utilizzando l'API Console di gestione AWS, ( AWS Command Line Interface CLI), REST o. AWS SDKs

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 Account AWS utenti o a gruppi predefiniti. L'utente o il gruppo a cui si concedono le autorizzazioni è denominato *assegnatario*. Per impostazione predefinita, il proprietario, che è colui Account AWS che ha creato il bucket, dispone delle autorizzazioni complete.

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 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare sia per controllare la proprietà degli oggetti caricati nel tuo bucket sia per disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e ne gestisce l'accesso esclusivamente utilizzando le politiche di gestione degli accessi.

 La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**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 forzata del proprietario del Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice di errore. `AccessControlListNotSupported` Le richieste di lettura ACLs sono ancora supportate.

**avvertimento**  
Si consiglia vivamente di 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](acl-overview.md#specifying-grantee-predefined-groups).

## Utilizzo della console S3 per impostare le autorizzazioni ACL per un bucket
<a name="set-bucket-permissions"></a>

La console mostra le concessioni di accesso combinate per gli assegnatari duplicati. Per visualizzare l'elenco completo di ACLs, usa l'API REST di Amazon S3 o. AWS CLI AWS SDKs

Nella tabella seguente vengono illustrate le autorizzazioni ACL che è possibile configurare per i bucket nella console di Amazon S3.


**Autorizzazioni ACL della console di Amazon S3 per i bucket**  

| 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\$1ACP | Consente all'assegnatario di leggere l'ACL del bucket. | 
| ACL del bucket – Scrittura | WRITE\$1ACP | 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\$1ACP | 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)](acl-overview.md).

**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 forzata del proprietario di Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il `AccessControlListNotSupported` codice di errore. Le richieste di lettura ACLs sono ancora supportate.

**Come impostare le autorizzazioni ACL per un 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. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell'elenco **Buckets (Bucket)** scegliere il nome del bucket per cui impostare le autorizzazioni.

1. Seleziona **Autorizzazioni**.

1. 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 consegna 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 devi concedere l'accesso in scrittura, puoi utilizzare l'API AWS CLI AWS SDKs, o REST. 

**ACL del bucket**
   + **Read**: consente all'assegnatario di leggere l'ACL del bucket.
   + **Write**: consente all'assegnatario di scrivere l'ACL del bucket interessato.

1. Per modificare le autorizzazioni del proprietario del bucket, oltre a **Bucket owner (tuo Account AWS)**, deseleziona o seleziona una delle seguenti autorizzazioni ACL:
   + **Oggetti** – **Elenco** o **scrittura**
   + **ACL del bucket** – **Lettura** o **scrittura**

   Il *proprietario* si riferisce a Utente root dell'account AWS, non a un utente IAM. AWS Identity and Access Management Per ulteriori informazioni sull'utente root, consulta [Utente root dell'account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) nella *Guida per l'utente di IAM*.

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

1. Per concedere o annullare le autorizzazioni a chiunque disponga di un gruppo Account AWS, oltre al **gruppo Authenticated Users (chiunque disponga di un Account AWS)**, deseleziona o seleziona una delle seguenti autorizzazioni ACL:
   + **Oggetti** – **Elenco**
   + **ACL del bucket** – **Lettura**

1. 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](enable-server-access-logging.md).

1. Per concedere l'accesso a un altro utente, procedi come segue Account AWS:

   1. Scegli **Aggiungi assegnatario**.

   1. Nella casella **Assegnatario**, inserisci l'ID canonico dell'altro Account AWS.

   1. Seleziona una delle seguenti autorizzazioni ACL:
      + **Oggetti** – **Elenco** o **scrittura**
      + **ACL del bucket** – **Lettura** o **scrittura**
**avvertimento**  
Quando concedi ad altri Account AWS l'accesso alle tue risorse, tieni presente che Account AWS possono delegare le proprie autorizzazioni agli utenti tramite i rispettivi 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) nella *Guida per l'utente di IAM*. 

1. **Per rimuovere l'accesso a un altro utente Account AWS, in **Accesso per altri Account AWS**, scegli Rimuovi.**

1. Per salvare le modifiche, scegliere **Save changes (Salva modifiche)**.

## Utilizzo della console S3 per impostare le autorizzazioni ACL per un oggetto
<a name="set-object-permissions"></a>

La console mostra le concessioni di accesso combinate per gli assegnatari duplicati. Per visualizzare l'elenco completo di ACLs, usa l'API REST di Amazon S3 o. AWS CLI AWS SDKs Nella tabella seguente vengono illustrate le autorizzazioni ACL che è possibile configurare per gli oggetti nella console di Amazon S3.


**Autorizzazioni ACL della console di Amazon S3 per gli oggetti**  

| 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\$1ACP | Consente all'assegnatario di leggere l'ACL dell'oggetto. | 
| ACL dell'oggetto - Scrittura | WRITE\$1ACP | Consente all'assegnatario di scrivere l'ACL dell'oggetto interessato | 

Per ulteriori informazioni sulle autorizzazioni ACL, consulta [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md).

**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 forzata del proprietario di Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il `AccessControlListNotSupported` codice di errore. Le richieste di lettura ACLs sono ancora supportate.

**Come impostare le autorizzazioni ACL per 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)** scegliere il nome del bucket contenente l'oggetto.

1. Nell'elenco **Oggetti**, scegli il nome dell'oggetto per il quale si desidera impostare le autorizzazioni.

1. Seleziona **Autorizzazioni**.

1. 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 devi concedere l'accesso in scrittura, puoi utilizzare l'API AWS CLI AWS SDKs, o REST. 

1. È possibile gestire le autorizzazioni di accesso all'oggetto per i seguenti tipi di accesso: 

   1. 

**Accesso per il proprietario dell'oggetto**

      Il *proprietario* si riferisce all' Utente root dell'account AWS utente AWS Identity and Access Management IAM e non a un utente. Per ulteriori informazioni sull'utente root, consulta [Utente root dell'account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) nella *Guida per l'utente di IAM*.

      Per modificare le autorizzazioni di accesso agli oggetti del proprietario, in **Accesso per il proprietario dell'oggetto**, scegli **Il tuo AWS account (proprietario)**.

      Selezionare le caselle di controllo per le autorizzazioni da modificare, quindi selezionare **Save (Salva)**.

   1. 

**Accesso per altri Account AWS**

      Per concedere le autorizzazioni a un AWS utente di un altro utente Account AWS, in **Accesso per altri Account AWS**, scegli **Aggiungi account**. Nel campo **Inserisci un ID**, inserisci l'ID canonico dell' AWS utente a cui desideri concedere le autorizzazioni relative all'oggetto. [Per informazioni sulla ricerca di un ID canonico, consulta I tuoi identificatori nel. Account AWS*Riferimenti generali di Amazon Web Services*](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) È 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. 

   1. 

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

## Utilizzando il AWS SDKs
<a name="acl-using-sdk"></a>

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 forzata del proprietario di Bucket abilitata, le richieste di impostazione degli elenchi di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice `AccessControlListNotSupported` di errore. Le richieste di lettura ACLs sono ancora supportate.

------
#### [ Java ]

Questa sezione fornisce esempi di come configurare le autorizzazioni relative alla lista di controllo degli accessi (ACL) per i bucket e gli oggetti. Il primo esempio crea un bucket con un'ACL predefinita (consulta [ACL predefinita](acl-overview.md#canned-acl)), crea una lista di autorizzazioni personalizzate e poi sostituisce l'ACL predefinita con l'ACL contenente le autorizzazioni personalizzate. Il secondo esempio mostra come modificare un'ACL utilizzando il metodo `AccessControlList.grantPermission()`.

**Example Creare un bucket e specificare una ACL predefinita che concede l'autorizzazione al gruppo di recapito log S3**  
Questo esempio crea un bucket. Nella richiesta, l'esempio specifica un'ACL predefinita che concede al Gruppo Log Delivery l'autorizzazione di scrittura dei log sul bucket.   

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.io.IOException;
import java.util.ArrayList;

public class CreateBucketWithACL {

    public static void main(String[] args) throws IOException {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String userEmailForReadPermission = "*** user@example.com ***";

        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withRegion(clientRegion)
                    .build();

            // Create a bucket with a canned ACL. This ACL will be replaced by the
            // setBucketAcl()
            // calls below. It is included here for demonstration purposes.
            CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName, clientRegion.getName())
                    .withCannedAcl(CannedAccessControlList.LogDeliveryWrite);
            s3Client.createBucket(createBucketRequest);

            // Create a collection of grants to add to the bucket.
            ArrayList<Grant> grantCollection = new ArrayList<Grant>();

            // Grant the account owner full control.
            Grant grant1 = new Grant(new CanonicalGrantee(s3Client.getS3AccountOwner().getId()),
                    Permission.FullControl);
            grantCollection.add(grant1);

            // Grant the LogDelivery group permission to write to the bucket.
            Grant grant2 = new Grant(GroupGrantee.LogDelivery, Permission.Write);
            grantCollection.add(grant2);

            // Save grants by replacing all current ACL grants with the two we just created.
            AccessControlList bucketAcl = new AccessControlList();
            bucketAcl.grantAllPermissions(grantCollection.toArray(new Grant[0]));
            s3Client.setBucketAcl(bucketName, bucketAcl);

            // Retrieve the bucket's ACL, add another grant, and then save the new ACL.
            AccessControlList newBucketAcl = s3Client.getBucketAcl(bucketName);
            Grant grant3 = new Grant(new EmailAddressGrantee(userEmailForReadPermission), Permission.Read);
            newBucketAcl.grantAllPermissions(grant3);
            s3Client.setBucketAcl(bucketName, newBucketAcl);
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it and returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }
}
```

**Example Aggiornamento di un'ACL su un oggetto esistente**  
Questo esempio aggiorna l'ACL su un oggetto. L'esempio esegue le seguenti operazioni:   
+ Recupera l'ACL di un oggetto
+ Elimina l'ACL rimuovendo tutte le autorizzazioni esistenti
+ Aggiunge due autorizzazioni: accesso completo al proprietario e WRITE\$1ACP (consulta [Quali autorizzazioni è possibile concedere?](acl-overview.md#permissions)) per un utente identificato tramite un indirizzo email
+ Salva l'ACL sull'oggetto

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.CanonicalGrantee;
import com.amazonaws.services.s3.model.EmailAddressGrantee;
import com.amazonaws.services.s3.model.Permission;

import java.io.IOException;

public class ModifyACLExistingObject {

    public static void main(String[] args) throws IOException {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String keyName = "*** Key name ***";
        String emailGrantee = "*** user@example.com ***";

        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withCredentials(new ProfileCredentialsProvider())
                    .withRegion(clientRegion)
                    .build();

            // Get the existing object ACL that we want to modify.
            AccessControlList acl = s3Client.getObjectAcl(bucketName, keyName);

            // Clear the existing list of grants.
            acl.getGrantsAsList().clear();

            // Grant a sample set of permissions, using the existing ACL owner for Full
            // Control permissions.
            acl.grantPermission(new CanonicalGrantee(acl.getOwner().getId()), Permission.FullControl);
            acl.grantPermission(new EmailAddressGrantee(emailGrantee), Permission.WriteAcp);

            // Save the modified ACL back to the object.
            s3Client.setObjectAcl(bucketName, keyName, acl);
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it, so it returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }
}
```

------
#### [ .NET ]

**Example Creare un bucket e specificare una ACL predefinita che concede l'autorizzazione al gruppo di recapito log S3**  
Questo esempio C\$1 crea un bucket. Nella richiesta, il codice specifica anche un'ACL predefinita che concede al Gruppo Log Delivery le autorizzazioni di scrittura dei log sul bucket.  
 Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class ManagingBucketACLTest
    {
        private const string newBucketName = "*** bucket name ***"; 
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            CreateBucketUseCannedACLAsync().Wait();
        }

        private static async Task CreateBucketUseCannedACLAsync()
        {
            try
            {
                // Add bucket (specify canned ACL).
                PutBucketRequest putBucketRequest = new PutBucketRequest()
                {
                    BucketName = newBucketName,
                    BucketRegion = S3Region.EUW1, // S3Region.US,
                                                  // Add canned ACL.
                    CannedACL = S3CannedACL.LogDeliveryWrite
                };
                PutBucketResponse putBucketResponse = await client.PutBucketAsync(putBucketRequest);

                // Retrieve bucket ACL.
                GetACLResponse getACLResponse = await client.GetACLAsync(new GetACLRequest
                {
                    BucketName = newBucketName
                });
            }
            catch (AmazonS3Exception amazonS3Exception)
            {
                Console.WriteLine("S3 error occurred. Exception: " + amazonS3Exception.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.ToString());
            }
        }
    }
}
```

**Example Aggiornamento di un'ACL su un oggetto esistente**  
Questo esempio C\$1 aggiorna l'ACL su un oggetto esistente. L'esempio esegue le seguenti operazioni:  
+ Recupera l'ACL di un oggetto.
+ Elimina l'ACL rimuovendo tutte le autorizzazioni esistenti.
+ Aggiunge due autorizzazioni: accesso completo al proprietario e WRITE\$1ACP per un utente identificato tramite un indirizzo email.
+ Salva l'ACL inviando una richiesta `PutAcl`.
Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class ManagingObjectACLTest
    {
        private const string bucketName = "*** bucket name ***"; 
        private const string keyName = "*** object key name ***"; 
        private const string emailAddress = "*** email address ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;
        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            TestObjectACLTestAsync().Wait();
        }
        private static async Task TestObjectACLTestAsync()
        {
            try
            {
                    // Retrieve the ACL for the object.
                    GetACLResponse aclResponse = await client.GetACLAsync(new GetACLRequest
                    {
                        BucketName = bucketName,
                        Key = keyName
                    });

                    S3AccessControlList acl = aclResponse.AccessControlList;

                    // Retrieve the owner (we use this to re-add permissions after we clear the ACL).
                    Owner owner = acl.Owner;

                    // Clear existing grants.
                    acl.Grants.Clear();

                    // Add a grant to reset the owner's full permission (the previous clear statement removed all permissions).
                    S3Grant fullControlGrant = new S3Grant
                    {
                        Grantee = new S3Grantee { CanonicalUser = owner.Id },
                        Permission = S3Permission.FULL_CONTROL
                        
                    };

                    // Describe the grant for the permission using an email address.
                    S3Grant grantUsingEmail = new S3Grant
                    {
                        Grantee = new S3Grantee { EmailAddress = emailAddress },
                        Permission = S3Permission.WRITE_ACP
                    };
                    acl.Grants.AddRange(new List<S3Grant> { fullControlGrant, grantUsingEmail });
 
                    // Set a new ACL.
                    PutACLResponse response = await client.PutACLAsync(new PutACLRequest
                    {
                        BucketName = bucketName,
                        Key = keyName,
                        AccessControlList = acl
                    });
            }
            catch (AmazonS3Exception amazonS3Exception)
            {
                Console.WriteLine("An AmazonS3Exception was thrown. Exception: " + amazonS3Exception.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.ToString());
            }
        }
    }
}
```

------

## Utilizzo della REST API
<a name="acl-using-rest-api"></a>

Amazon S3 ti APIs consente di impostare un ACL quando crei un bucket o un oggetto. Amazon S3 fornisce anche un'API per impostare una lista ACL in un bucket o un oggetto esistente. Questi APIs forniscono i seguenti metodi 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 dell'API REST per la gestione ACLs, consulta le seguenti sezioni nel *riferimento all'API di Amazon Simple Storage Service*:
+  [GetBucketAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETacl.html) 
+  [PutBucketAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) 
+  [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html) 
+  [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html) 
+  [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) 
+  [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html) 
+  [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html) 
+  [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html) 

**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 forzata del proprietario di Bucket abilitata, le richieste di impostazione delle liste di controllo degli accessi (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice `AccessControlListNotSupported` di errore. Le richieste di lettura ACLs sono ancora supportate.

### Intestazioni di richiesta specifiche della lista di controllo degli accessi (ACL)
<a name="acl-headers-rest-api"></a>

È 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 autorizzazioni a singoli Account AWS o a gruppi predefiniti definiti da 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)](acl-overview.md).

Con questa operazione, puoi concedere le autorizzazioni di accesso utilizzando uno dei due metodi seguenti:
+ **ACL preimpostato (`x-amz-acl`)**: Amazon S3 supporta un set di ACL predefiniti, noti ACLs come predefiniti. ACLs Ogni ACL predefinita ha un insieme predefinito di assegnatari e autorizzazioni. Per ulteriori informazioni, consulta [ACL predefinita](acl-overview.md#canned-acl).
+ **Autorizzazioni di accesso: per concedere esplicitamente le autorizzazioni** di accesso a gruppi o specifici Account AWS , utilizza le seguenti intestazioni. 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)](acl-overview.md). 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-controllo

## Usando il AWS CLI
<a name="using-acl-cli"></a>

Per ulteriori informazioni sulla gestione dell' ACLs utilizzo di AWS CLI, vedere [put-bucket-acl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-acl.html)nel *AWS CLI Command Reference*.

**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 forzata del proprietario di Bucket abilitata, le richieste di impostazione degli elenchi di controllo di accesso (ACLs) o di aggiornamento hanno ACLs esito negativo e restituiscono il codice `AccessControlListNotSupported` di errore. Le richieste di lettura ACLs sono ancora supportate.

# Esempi di politiche per ACLs
<a name="example-bucket-policies-condition-keys"></a>

È possibile utilizzare le chiavi di condizione nelle policy dei bucket per controllare l'accesso ad Amazon S3.

**Topics**
+ [Concessione di s3: PutObject autorizzazione con una condizione che richiede al proprietario del bucket di ottenere il pieno controllo](#grant-putobject-conditionally-1)
+ [Concessione di s3: PutObject autorizzazione con una condizione nell'intestazione x-amz-acl](#example-acl-header)

## Concessione di s3: PutObject autorizzazione con una condizione che richiede al proprietario del bucket di ottenere il pieno controllo
<a name="grant-putobject-conditionally-1"></a>

L'operazione [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) permette intestazioni specifiche della lista di controllo degli accessi (ACL) che è possibile utilizzare per concedere autorizzazioni basate sulle liste ACL. Utilizzando queste chiavi, il proprietario del bucket può impostare una condizione per richiedere determinate autorizzazioni di accesso specifiche quando l'utente carica un oggetto. 

Si supponga che l'Account A sia proprietario di un bucket e che l'amministratore dell'account voglia assegnare a Dave, un utente dell'Account B, le autorizzazioni per caricare oggetti. Per default, gli oggetti che carica Dave sono di proprietà dell'Account B e l'Account A non dispone di autorizzazioni su tali oggetti. Dato che il proprietario del bucket paga i conti, vuole avere le autorizzazioni complete sugli oggetti che carica Dave. L'amministratore dell'Account A può farlo assegnando l'autorizzazione `s3:PutObject` a Dave, con la condizione che la richiesta includa intestazioni specifiche della lista di controllo accessi in modo da garantire esplicitamente l'autorizzazione completa o utilizzare una lista di controllo accessi predefinita. Per ulteriori informazioni, consulta [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html).

### Richiedi l'intestazione x-amz-full-control
<a name="require-x-amz-full-control"></a>

È possibile richiedere l'intestazione `x-amz-full-control` nella richiesta con autorizzazione al controllo completo al proprietario del bucket. La seguente policy di bucket assegna l'autorizzazione `s3:PutObject` all'utente Dave con la condizione di utilizzare la chiave di condizione `s3:x-amz-grant-full-control` che prevede che la richiesta includa l'intestazione `x-amz-full-control`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Dave"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::awsexamplebucket1/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-grant-full-control": "id=AccountA-CanonicalUserID"
                }
            }
        }
    ]
}
```

------

**Nota**  
Questo esempio riguarda l'autorizzazione tra account. Tuttavia, se Dave (che sta ottenendo l'autorizzazione) appartiene al proprietario del Account AWS bucket, questa autorizzazione condizionata non è necessaria. Questo perché l'account padre a cui Dave appartiene è proprietario degli oggetti caricati dall'utente.

**Aggiunta del rifiuto esplicito**  
La precedente policy di bucket assegna l'autorizzazione condizionale all'utente Dave nell'Account B. Quando questa policy è attiva, per Dave è possibile ottenere la stessa autorizzazione senza alcuna condizione tramite qualche altra policy. Ad esempio, Dave può appartenere a un gruppo a cui viene assegnata l'autorizzazione `s3:PutObject` senza alcuna condizione. Per evitare questi espedienti riguardo alle autorizzazioni, è possibile scrivere una policy di accesso più rigida aggiungendo un rifiuto esplicito. In questo esempio, all'utente Dave viene esplicitamente rifiutata l'autorizzazione a eseguire caricamenti se non include le intestazioni necessarie nella richiesta che assegnano le autorizzazioni complete al proprietario del bucket. Il rifiuto esplicito sovrascrive sempre qualsiasi altra autorizzazione assegnata. Di seguito è illustrato un esempio della policy di accesso modificata con il rifiuto esplicito aggiunto.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::awsexamplebucket1/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-grant-full-control": "id=AccountA-CanonicalUserID"
                }
            }
        },
        {
            "Sid": "statement2",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::awsexamplebucket1/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-grant-full-control": "id=AccountA-CanonicalUserID"
                }
            }
        }
    ]
}
```

------

**Prova la politica con AWS CLI**  
Se ne hai due Account AWS, puoi testare la politica usando AWS Command Line Interface (AWS CLI). Allegate la policy e utilizzate le credenziali di Dave per testare l'autorizzazione utilizzando il seguente AWS CLI `put-object` comando. Le credenziali di Dave vengono fornite aggiungendo il parametro `--profile`. L'autorizzazione al controllo completo al proprietario del bucket viene assegnata aggiungendo il parametro `--grant-full-control`. *Per ulteriori informazioni sulla configurazione e l'utilizzo di AWS CLI, consulta [Developing with Amazon S3 using the AWS CLI nel Amazon S3 API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Reference.* 

```
aws s3api put-object --bucket examplebucket --key HappyFace.jpg --body c:\HappyFace.jpg --grant-full-control id="AccountA-CanonicalUserID" --profile AccountBUserProfile
```

### Richiedi l'intestazione x-amz-acl
<a name="require-x-amz-acl-header"></a>

È possibile richiedere l'intestazione `x-amz-acl` con una lista di controllo degli accessi predefinita che assegna l'autorizzazione al controllo completo al proprietario del bucket. Per richiedere l'intestazione `x-amz-acl` nella richiesta, è possibile sostituire la coppia chiave-valore nel blocco `Condition` e specificare la chiave di condizione `s3:x-amz-acl` come mostrato nell'esempio seguente.

```
"Condition": {
    "StringEquals": {
        "s3:x-amz-acl": "bucket-owner-full-control"
    }
}
```

Per verificare l'autorizzazione utilizzando il AWS CLI, è necessario specificare il `--acl` parametro. AWS CLI Quindi aggiunge l'`x-amz-acl`intestazione quando invia la richiesta.

```
aws s3api put-object --bucket examplebucket --key HappyFace.jpg --body c:\HappyFace.jpg --acl "bucket-owner-full-control" --profile AccountBadmin
```

## Concessione di s3: PutObject autorizzazione con una condizione nell'intestazione x-amz-acl
<a name="example-acl-header"></a>

La seguente policy sui bucket concede l'`s3:PutObject`autorizzazione per due persone Account AWS se la richiesta include l'`x-amz-acl`intestazione che rende l'oggetto leggibile pubblicamente. Il blocco `Condition` utilizza la condizione `StringEquals` ed è dotato di una coppia chiave-valore, `"s3:x-amz-acl":["public-read"]`, per la valutazione. Nella coppia chiave-valore, la `s3:x-amz-acl` è una chiave specifica di Amazon S3, come indicato dal prefisso `s3:`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AddCannedAcl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:root",
                    "arn:aws:iam::111122223333:root"
                ]
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::awsexamplebucket1/*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": [
                        "public-read"
                    ]
                }
            }
        }
    ]
}
```

------

**Importante**  
Non tutte le condizioni hanno significato per tutte le operazioni. Ha senso, ad esempio, includere una condizione `s3:LocationConstraint` in una policy che concede l'autorizzazione `s3:CreateBucket` di Amazon S3. Non ha tuttavia senso includere questa condizione in una policy che concede l'autorizzazione `s3:GetObject`. Amazon S3 può verificare la presenza di errori semantici di questo tipo che riguardano condizioni specifiche di Amazon S3. Se tuttavia stai creando una policy per un utente o un ruolo IAM e includi una condizione di Amazon S3 che non è valida sotto il profilo semantico, non viene segnalato alcun errore perché IAM non può convalidare le condizioni di Amazon S3. 

# Blocco dell'accesso pubblico allo storage Amazon S3
<a name="access-control-block-public-access"></a>

La funzionalità Amazon S3 Block Public Access fornisce impostazioni per punti di accesso, bucket, account e ti aiuta AWS Organizations a gestire l'accesso pubblico alle risorse Amazon S3. Per impostazione predefinita, nuovi bucket, access point e oggetti non consentono l'accesso pubblico. Tuttavia, gli utenti possono modificare le policy di bucket, le policy di access point o le autorizzazioni degli oggetti per consentire l'accesso pubblico. Le impostazioni di blocco dell'accesso pubblico in S3 sostituiscono le policy e le autorizzazioni, in modo da limitare l'accesso pubblico a queste risorse. 

Con S3 Block Public Access, gli amministratori dell'organizzazione, gli amministratori degli account e i proprietari di bucket possono configurare facilmente controlli centralizzati per limitare l'accesso pubblico alle proprie risorse Amazon S3, che vengono applicati indipendentemente dal modo in cui le risorse vengono create.

Puoi gestire le impostazioni di Block Public Access a più livelli: a livello di organizzazione (utilizzo AWS Organizations), a livello di account e a livello di bucket e punto di accesso. Per istruzioni sulla configurazione dell'accesso pubblico ai blocchi, consulta [Configurazione del blocco dell'accesso pubblico](#configuring-block-public-access).

Quando Amazon S3 riceve una richiesta di accesso a un bucket o a un oggetto, determina se per il bucket o l'account del proprietario del bucket è applicata un'impostazione di blocco dell'accesso pubblico. Se l'account fa parte di una policy AWS Organizations con Block Public Access, Amazon S3 verifica anche le impostazioni a livello di organizzazione. Se la richiesta è stata effettuata tramite un punto di accesso, Amazon S3 controlla anche la presenza di impostazioni di blocco dell'accesso pubblico per il punto di accesso. Se è presente un'impostazione di blocco dell'accesso pubblico che vieta l'accesso richiesto, Amazon S3 rifiuta la richiesta. 

Il blocco dell'accesso pubblico di Amazon S3 comprende quattro impostazioni. Queste impostazioni sono indipendenti e possono essere usate in qualunque combinazione. Ogni impostazione può essere applicata a un punto di accesso, a un bucket o a un intero Account AWS. A livello di organizzazione, tutte e quattro le impostazioni vengono applicate insieme come politica unificata: non è possibile selezionare le singole impostazioni in modo granulare. Se le impostazioni di blocco dell'accesso pubblico per il punto di accesso, il bucket o l'account differiscono, Amazon S3 applica la combinazione più restrittiva di punto di accesso, bucket e account. Le impostazioni a livello di account ereditano automaticamente le politiche a livello di organizzazione quando presenti e S3 adotta la politica più restrittiva tra le impostazioni a livello di bucket e quelle effettive a livello di account. Ad esempio, se la tua organizzazione ha una politica di blocco dell'accesso pubblico abilitata, ma in un bucket specifico l'opzione Block Public Access è disabilitata a livello di bucket, il bucket sarà comunque protetto perché S3 applica le impostazioni più restrittive a livello di organizzazione/account. Al contrario, se la politica dell'organizzazione è disabilitata ma per un bucket è abilitata l'opzione Block Public Access, quel bucket rimane protetto dalle relative impostazioni a livello di bucket. 

Quando Amazon S3 valuta se un'operazione è vietata da un'impostazione di blocco dell'accesso pubblico, rifiuta qualsiasi richiesta che violi una politica dell'organizzazione (che applica l'impostazione BPA dell'account) o un punto di accesso, un bucket o un'impostazione dell'account.

**Importante**  
L'accesso pubblico è concesso a bucket e oggetti tramite liste di controllo degli accessi (ACLs), politiche dei punti di accesso, politiche dei bucket o altro. Per garantire che l'accesso pubblico sia bloccato per tutti gli access point, i bucket e gli oggetti di Amazon S3, ti consigliamo di attivare tutte e quattro le impostazioni per bloccare l'accesso pubblico per l'account. Per le organizzazioni che gestiscono più account, prendi in considerazione l'utilizzo di politiche di accesso pubblico a blocchi a livello di organizzazione per il controllo centralizzato. Inoltre, ti consigliamo di attivare tutte e quattro le impostazioni per ogni bucket per conformarti al controllo Security Foundational AWS Security Best Practices S3.8 di Security. Queste impostazioni bloccano l'accesso pubblico per tutti i bucket e access point correnti e futuri.   
Prima di applicare queste impostazioni, verifica che le applicazioni funzionino correttamente senza accesso pubblico. Se è richiesto un certo livello di accesso pubblico ai bucket o agli oggetti, ad esempio per ospitare un sito Web statico come descritto in [Hosting di un sito Web statico tramite Amazon S3](WebsiteHosting.md), puoi personalizzare le impostazioni individuali in funzione dei casi d'uso di storage.  
L'attivazione di Block Public Access aiuta a proteggere le risorse impedendo che l'accesso pubblico venga concesso tramite le politiche delle risorse o le liste di controllo degli accessi (ACLs) direttamente allegate alle risorse S3. Oltre ad abilitare l’opzione Blocca accesso pubblico, controlla attentamente le seguenti policy per verificare che non forniscano l’accesso pubblico:  
Politiche basate sull'identità collegate ai AWS principali associati (ad esempio, ruoli IAM)
Politiche basate sulle risorse collegate alle AWS risorse associate (ad esempio, chiavi (KMS)) AWS Key Management Service 

**Nota**  
È possibile abilitare le impostazioni di blocco dell'accesso pubblico solo per organizzazioni, punti di accesso, bucket e. Account AWS Amazon S3 non supporta le impostazioni di blocco dell'accesso pubblico per i singoli oggetti.
Quando applichi le impostazioni di blocco dell'accesso pubblico a un account, le impostazioni si applicano a tutti a Regioni AWS livello globale. Le impostazioni possono non diventare effettive in tutte le regioni immediatamente o allo stesso momento, ma vengono infine propagate in tutte le regioni.
Quando si applicano politiche di accesso pubblico a blocchi a livello di organizzazione, queste si propagano automaticamente agli account dei membri selezionati e sostituiscono le impostazioni a livello di account.

**Topics**
+ [Impostazioni di blocco dell'accesso pubblico](#access-control-block-public-access-options)
+ [Gestione dell'accesso pubblico a blocchi a livello di organizzazione](#access-control-block-public-access-organization-level)
+ [Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso](#access-control-block-public-access-examples-access-point)
+ [Significato di "pubblico"](#access-control-block-public-access-policy-status)
+ [Utilizzo di IAM Access Analyzer per S3 per esaminare i bucket pubblici](#access-analyzer-public-info)
+ [Permissions](#access-control-block-public-access-permissions)
+ [Configurazione del blocco dell'accesso pubblico](#configuring-block-public-access)
+ [Configurazione delle impostazioni di blocco dell'accesso pubblico per l'account](configuring-block-public-access-account.md)
+ [Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3](configuring-block-public-access-bucket.md)

## Impostazioni di blocco dell'accesso pubblico
<a name="access-control-block-public-access-options"></a>

Il blocco dell'accesso pubblico in S3 comprende quattro impostazioni. È possibile applicare queste impostazioni in qualsiasi combinazione a singoli access point, bucket o a interi account Account AWS. A livello di organizzazione, è possibile abilitare o disabilitare tutte e quattro le impostazioni contemporaneamente solo utilizzando un approccio «tutte» o «nessuna»: il controllo granulare sulle singole impostazioni non è disponibile. Se applichi un'impostazione a un account, l'impostazione viene applicata a tutti i bucket e gli access point di proprietà dell'account. Le impostazioni a livello di account ereditano automaticamente le politiche dell'organizzazione, se presenti. Analogamente, se applichi un'impostazione a un bucket, questa si applica a tutti gli access point associati al bucket.

L'ereditarietà e l'applicazione delle politiche funzionano come segue:
+ Le politiche a livello di organizzazione si applicano automaticamente agli account dei membri, applicando tutte le impostazioni esistenti a livello di account
+ Le impostazioni a livello di account ereditano le politiche dell'organizzazione se presenti o utilizzano le impostazioni configurate localmente quando non esistono criteri organizzativi
+ Le impostazioni a livello di bucket funzionano in modo indipendente ma sono soggette a restrizioni di applicazione. S3 applica la combinazione più restrittiva a tutti i livelli applicabili: impostazioni a livello di organizzazione/account e a livello di bucket. Ciò significa che un bucket eredita la protezione di base dal suo account (che può essere gestito dall'organizzazione), ma S3 applicherà la configurazione più restrittiva tra le impostazioni del bucket e le impostazioni effettive dell'account.

La tabella seguente contiene le impostazioni disponibili.


| Nome | Descrizione | 
| --- | --- | 
| BlockPublicAcls |  Se questa opzione è impostata su `TRUE`, produce il comportamento seguente: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/access-control-block-public-access.html) Quando questa impostazione è impostata su`TRUE`, le operazioni specificate hanno esito negativo (indipendentemente dal fatto che vengano eseguite tramite l'API REST o). AWS CLI AWS SDKs Tuttavia, le politiche esistenti, ACLs i bucket e gli oggetti non vengono modificati. Questa impostazione consente di proteggere dall'accesso pubblico e al contempo di controllare, perfezionare o modificare in altro modo le politiche esistenti, i bucket e ACLs gli oggetti.  I punti di accesso non sono ACLs associati a essi. Se applicata a un punto di accesso, questa impostazione funge da passthrough al bucket sottostante. Se in un punto di accesso è attivata questa impostazione, le richieste effettuate tramite il punto di accesso si comportano come se il bucket sottostante avesse abilitato questa impostazione, indipendentemente dal fatto che il bucket abbia o meno effettivamente abilitato questa impostazione.   | 
| IgnorePublicAcls |  L'impostazione di questa opzione `TRUE` fa sì che Amazon S3 ignori tutto il pubblico ACLs su un bucket e tutti gli oggetti in esso contenuti. Questa impostazione consente di bloccare in modo sicuro l'accesso pubblico concesso da, ACLs pur continuando a consentire `PutObject` le chiamate che includono un ACL pubblico (al contrario`BlockPublicAcls`, che rifiuta `PutObject` le chiamate che includono un ACL pubblico). L'attivazione di questa impostazione non influisce sulla persistenza di quelle esistenti ACLs e non impedisce l'impostazione di un nuovo pubblico ACLs .  I punti di accesso non sono ACLs associati a essi. Se applicata a un punto di accesso, questa impostazione funge da passthrough al bucket sottostante. Se in un punto di accesso è attivata questa impostazione, le richieste effettuate tramite il punto di accesso si comportano come se il bucket sottostante avesse abilitato questa impostazione, indipendentemente dal fatto che il bucket abbia o meno effettivamente abilitato questa impostazione.   | 
| BlockPublicPolicy |  L’impostazione di questa opzione su `TRUE` per un bucket fa sì che Amazon S3 rifiuti le chiamate a `PutBucketPolicy` se la policy di bucket specificata consente l’accesso pubblico. Impostando questa opzione su `TRUE` per un bucket, Amazon S3 rifiuta le chiamate a `PutAccessPointPolicy` per tutti i punti di accesso dello stesso account del bucket se la policy specificata consente l’accesso pubblico.  Impostando questa opzione su `TRUE` per un punto di accesso, Amazon S3 rifiuta le chiamate a `PutAccessPointPolicy` e `PutBucketPolicy` effettuate attraverso il punto di accesso se la policy specificata (per il punto di accesso o il bucket sottostante) consente l’accesso pubblico. Puoi utilizzare questa impostazione per permettere agli utenti di gestire policy di bucket e punti di accesso impedendo loro di condividere pubblicamente il bucket o gli oggetti che contiene. L'abilitazione di questa impostazione non influisce sulle policy di access point o di bucket esistenti.  Per usare questa impostazione in modo efficace, consigliamo di applicarla a livello di *account*. Una policy del bucket può consentire agli utenti di modificare le impostazioni di blocco dell'accesso pubblico di un bucket. Gli utenti autorizzati a modificare la policy del bucket potrebbero inserire una policy che permette loro di disabilitare le impostazioni di blocco dell'accesso pubblico per il bucket. Se questa impostazione è abilitata per l'intero account anziché per un bucket specifico, Amazon S3 blocca le policy pubbliche anche se un utente modifica la policy del bucket per disabilitare l'impostazione.   | 
| RestrictPublicBuckets |  L'impostazione di questa opzione in modo da `TRUE` limitare l'accesso a un punto di accesso o a un bucket con criteri pubblici solo ai responsabili del AWS servizio e agli utenti autorizzati all'interno dell'account del proprietario del bucket e dell'account del proprietario del punto di accesso. Questa impostazione blocca tutti gli accessi tra account al punto di accesso o al bucket (ad eccezione dei responsabili del AWS servizio), pur consentendo agli utenti all'interno dell'account di gestire il punto di accesso o il bucket. L'abilitazione di questa impostazione non influisce sulle policy dell'access point o del bucket esistenti, eccetto che per il fatto che Amazon S3 blocca l'accesso pubblico e multiaccount derivato da qualsiasi policy dell'access point o del bucket pubblica, inclusa la delega non pubblica ad account specifici.  | 

**Importante**  
Le chiamate a `GetBucketAcl` e `GetObjectAcl` restituiscono sempre le autorizzazioni valide necessarie per il bucket o l’oggetto specificato. Ad esempio, supponiamo che un bucket sia associato a una lista di controllo accessi che concede l'accesso pubblico, ma che per il bucket sia anche abilitata l'impostazione `IgnorePublicAcls`. In questo caso, `GetBucketAcl` restituisce una lista ACL che riflette le autorizzazioni di accesso applicate da Amazon S3, anziché la lista ACL effettiva associata al bucket.
Le impostazioni di blocco dell'accesso pubblico non alterano le politiche esistenti o. ACLs La rimozione di una di queste impostazioni fa sì che un bucket o un oggetto con una policy o una lista di controllo accessi pubblica torni pubblicamente accessibile. 

## Gestione dell'accesso pubblico a blocchi a livello di organizzazione
<a name="access-control-block-public-access-organization-level"></a>

L'accesso pubblico a blocchi a livello di organizzazione utilizza AWS Organizations policy per gestire centralmente i controlli degli accessi pubblici S3 in tutta l'organizzazione. Se abilitate, queste politiche si applicano automaticamente agli account selezionati e sostituiscono le impostazioni a livello di account individuali.

*Per ulteriori informazioni sul blocco dell'accesso pubblico a livello di organizzazione, consulta la [policy di S3](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html) nella guida per l'utente.AWS Organizations *

## Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso
<a name="access-control-block-public-access-examples-access-point"></a>

Per eseguire operazioni di blocco dell'accesso pubblico su un punto di accesso, utilizza il AWS CLI servizio`s3control`. 

**Importante**  
Non è possibile modificare le impostazioni del blocco dell’accesso pubblico per un punto di accesso dopo la sua creazione. È possibile specificare le impostazioni di blocco dell’accesso pubblico per un punto di accesso solo durante la creazione del punto di accesso.

## Significato di "pubblico"
<a name="access-control-block-public-access-policy-status"></a>

### ACLs
<a name="public-acls"></a>

Amazon S3 considera pubblica una lista ACL di un bucket o di un oggetto se questa concede qualsiasi autorizzazione a membri dei gruppi predefiniti `AllUsers` e `AuthenticatedUsers`. Per ulteriori informazioni sui gruppi predefiniti, consulta [Gruppi predefiniti di Amazon S3](acl-overview.md#specifying-grantee-predefined-groups).

### Policy di bucket
<a name="public-bucket-policies"></a>

Quando valuta la policy di un bucket, Amazon S3 inizia presumendo che la policy sia pubblica. Quindi valuta la policy per determinare se si qualifica come non pubblica. Per essere considerata non pubblica, una policy di bucket deve concedere l'accesso solo a valori fissi (valori che non contengono caratteri jolly o [una variabile di policy AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)) di uno o più degli elementi seguenti:
+ Un AWS responsabile, un utente, un ruolo o un responsabile del servizio `aws:PrincipalOrgID` (ad es.
+ Un set di blocchi di routing interdominio senza classi (CIDR) tramite `aws:SourceIp`. Per ulteriori informazioni sui CIDR, consulta [RFC 4632](http://www.rfc-editor.org/rfc/rfc4632.txt) nel sito Web RFC Editor.
**Nota**  
Le policy di bucket che concedono l'accesso in base alla chiave di condizione `aws:SourceIp` con intervalli IP molto ampi (ad esempio 0.0.0.0/1) vengono considerate "pubbliche". Ciò include valori più ampi di `/8` for IPv4 e `/32` for IPv6 (esclusi gli intervalli RFC1918 privati). Il blocco dell’accesso pubblico rifiuta queste policy “pubbliche” e impedisce l’accesso multi-account ai bucket che già utilizzano queste policy “pubbliche”.
+ `aws:SourceArn`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:SourceOwner`
+ `aws:SourceAccount`
+ `aws:userid`, al di fuori del modello "`AROLEID:*`"
+ `s3:DataAccessPointArn`
**Nota**  
Se utilizzato in una policy di bucket, questo valore può contenere un carattere jolly per il nome del punto di accesso senza rendere pubblica la policy, purché l’ID dell’account sia corretto. Ad esempio, consentendo l'accesso a `arn:aws:s3:us-west-2:123456789012:accesspoint/*` si consente l'accesso a qualsiasi access point associato all'account `123456789012` nella regione `us-west-2`, senza rendere pubblica la policy di bucket. Questo comportamento è diverso per le policy del punto di accesso. Per ulteriori informazioni, consulta [Access point](#access-control-block-public-access-policy-status-access-points).
+ `s3:DataAccessPointAccount`

Per ulteriori informazioni sulle policy di bucket, consulta [Policy dei bucket per Amazon S3](bucket-policies.md).

**Nota**  
Quando si utilizzano [chiavi di contesto multivalore](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html), è necessario utilizzare gli operatori `ForAllValues` o `ForAnyValue`.

**Example : policy di bucket pubbliche**  
In queste regole le policy di esempio seguenti sono considerate pubbliche.  

```
{
		"Principal": "*", 
		"Resource": "*", 
		"Action": "s3:PutObject", 
		"Effect": "Allow" 
	}
```

```
{
		"Principal": "*", 
		"Resource": "*", 
		"Action": "s3:PutObject", 
		"Effect": "Allow", 
		"Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}}
	}
```
Queste policy possono essere modificate in non pubbliche includendo una delle chiavi di condizione elencate in precedenza, usando un valore fisso. Ad esempio, l'ultima policy indicata sopra può essere modificata in non pubblica impostando `aws:SourceVpc` su un valore fisso, come mostrato di seguito.  

```
{
		"Principal": "*", 
		"Resource": "*", 
		"Action": "s3:PutObject", 
		"Effect": "Allow", 
		"Condition": {"StringEquals": {"aws:SourceVpc": "vpc-91237329"}}
	}
```

### Questo esempio mostra in che modo Amazon S3 valuta una policy di bucket che contiene concessioni di accesso sia pubblico sia non pubblico.
<a name="access-control-block-public-access-policy-example"></a>

Questo esempio mostra in che modo Amazon S3 valuta una policy del bucket che contiene concessioni di accesso sia pubblico sia non pubblico.

Supponiamo che un bucket sia associato a una policy che concede l'accesso a un set di entità principali fisse. In base alle regole descritte in precedenza, questa policy non è pubblica. Di conseguenza, se abiliti l'impostazione `RestrictPublicBuckets`, la policy continua a essere valida come indicato, perché `RestrictPublicBuckets` si applica solo ai bucket associati a policy pubbliche. Tuttavia, se aggiungi un'istruzione pubblica alla policy, `RestrictPublicBuckets` ha effetto sul bucket. Consente l'accesso al bucket solo ai responsabili del AWS servizio e agli utenti autorizzati dell'account del proprietario del bucket.

Ad esempio, supponiamo che un bucket di proprietà di "Account-1" sia associato a una policy che contiene gli elementi seguenti:

1. Una dichiarazione che concede l'accesso a AWS CloudTrail (che è un servizio principale) AWS 

1. Un'istruzione che concede l'accesso all'account "Account-2"

1. Un'istruzione che concede l'accesso al pubblico, ad esempio specificando `"Principal": "*"` senza `Condition` limitante

Questa policy viene qualificata come pubblica a causa della terza istruzione. Con questa politica in vigore e `RestrictPublicBuckets` abilitata, Amazon S3 consente l'accesso solo da. CloudTrail Anche se l'istruzione 2 non è pubblica, Amazon S3 disabilita l'accesso da parte di "Account-2". Il motivo è che l'istruzione 3 rende pubblica l'intera policy, quindi viene applicata l'impostazione `RestrictPublicBuckets`. Di conseguenza, Amazon S3 disabilita l'accesso multiaccount, anche se la policy delega l'accesso a un account specifico, ovvero "Account-2". Se tuttavia rimuovi l'istruzione 3 dalla policy, questa non si qualifica più come pubblica e l'impostazione `RestrictPublicBuckets` non viene più applicata. Di conseguenza, "Account-2" riottiene l'accesso al bucket, anche se lasci abilitata l'impostazione `RestrictPublicBuckets`.

### Access point
<a name="access-control-block-public-access-policy-status-access-points"></a>

Amazon S3 valuta le impostazioni di blocco dell'accesso pubblico in modo leggermente diverso per gli access point rispetto ai bucket. Le regole applicate da Amazon S3 per determinare quando una policy di un access point è pubblica sono generalmente le stesse per gli access point e per i bucket, ad eccezione delle seguenti situazioni:
+ Un access point con un'origine di rete VPC è sempre considerato non pubblico, indipendentemente dal contenuto della policy di access point.
+ Una policy di access point che concede l'accesso a un set di access point utilizzando `s3:DataAccessPointArn` è considerata pubblica. Tieni presente che questo comportamento è diverso rispetto alle policy di bucket. Ad esempio, una policy di bucket che concede l'accesso ai valori di `s3:DataAccessPointArn` che corrispondono a `arn:aws:s3:us-west-2:123456789012:accesspoint/*` è considerata pubblica. Tuttavia, la stessa istruzione in una policy di access point renderebbe pubblico l'access point.

## Utilizzo di IAM Access Analyzer per S3 per esaminare i bucket pubblici
<a name="access-analyzer-public-info"></a>

Puoi utilizzare IAM Access Analyzer per S3 per esaminare i bucket con policy relative a bucket ACLs, bucket o access point che garantiscono l'accesso pubblico. IAM Access Analyzer for S3 ti avvisa della presenza di bucket configurati per consentire l'accesso a chiunque su Internet o altro, anche all'esterno dell'organizzazione. Account AWS Account AWS Per ogni bucket pubblico o condiviso, vengono visualizzati risultati che riportano l'origine e il livello di accesso pubblico o condiviso. 

In IAM Access Analyzer per S3, è possibile bloccare tutti gli accessi pubblici a un bucket con un solo clic. Inoltre, puoi eseguire il drill-down nelle impostazioni relative alle autorizzazioni a livello di bucket per configurare i livelli di accesso granulari. Per casi d'uso specifici e verificati che richiedono l'accesso pubblico o condiviso, puoi confermare e registrare l'intenzione del bucket di rimanere pubblico o condiviso archiviando i risultati per il bucket.

In rari casi, la valutazione dello strumento di analisi degli accessi IAM per S3 e del blocco dell’accesso pubblico Amazon S3 potrebbe differire a seconda che un bucket sia pubblico o meno. Questo comportamento si verifica perché il blocco dell’accesso pubblico Amazon S3 esegue la convalida dell’esistenza delle azioni oltre a valutare l’accesso pubblico. Supponi che la policy di bucket contenga un’istruzione `Action` che consenta l’accesso pubblico a un’azione non supportata da Amazon S3 (ad esempio, `s3:NotASupportedAction`). In questo caso, il blocco dell’accesso pubblico Amazon S3 valuta il bucket come pubblico perché una tale istruzione potrebbe potenzialmente renderlo pubblico se l’azione verrà successivamente supportata. Nei casi in cui il blocco dell’accesso pubblico Amazon S3 e lo strumento di analisi degli accessi AWS IAM per S3 differiscono nelle rispettive valutazioni, è consigliabile esaminare la policy di bucket e rimuovere eventuali azioni non supportate.

Per ulteriori informazioni su IAM Access Analyzer per S3, consultare [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](access-analyzer.md).

## Permissions
<a name="access-control-block-public-access-permissions"></a>

Per utilizzare le caratteristiche di blocco dell'accesso pubblico di Amazon S3, sono necessarie le autorizzazioni seguenti.


| Operazione | Autorizzazioni richieste | 
| --- | --- | 
| Operazione GET per lo stato della policy di bucket | s3:GetBucketPolicyStatus | 
| Operazione GET per le impostazioni di blocco dell’accesso pubblico del bucket | s3:GetBucketPublicAccessBlock | 
| Operazione PUT per le impostazioni di blocco dell’accesso pubblico del bucket | s3:PutBucketPublicAccessBlock | 
| Operazione DELETE per le impostazioni di blocco dell’accesso pubblico del bucket | s3:PutBucketPublicAccessBlock | 
| Operazione GET per le impostazioni di blocco dell’accesso pubblico dell’account | s3:GetAccountPublicAccessBlock | 
| Operazione PUT per le impostazioni di blocco dell’accesso pubblico dell’account | s3:PutAccountPublicAccessBlock | 
| Operazione DELETE per le impostazioni di blocco dell’accesso pubblico dell’account | s3:PutAccountPublicAccessBlock | 
| Operazione PUT per le impostazioni di blocco dell’accesso pubblico del punto di accesso | s3:CreateAccessPoint | 

**Nota**  
Per le operazioni `DELETE` sono necessarie le stesse autorizzazioni necessarie per le operazioni `PUT`. Non esistono autorizzazioni separate per le operazioni `DELETE`.

## Configurazione del blocco dell'accesso pubblico
<a name="configuring-block-public-access"></a>

Per ulteriori informazioni sulla configurazione dell'accesso pubblico a blocchi per i tuoi Account AWS, i tuoi bucket Amazon S3 e i tuoi access point, consulta i seguenti argomenti:
+ [Configurazione delle impostazioni di blocco dell'accesso pubblico per l'account](configuring-block-public-access-account.md)
+ [Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3](configuring-block-public-access-bucket.md)
+ [Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso](#access-control-block-public-access-examples-access-point)

# Configurazione delle impostazioni di blocco dell'accesso pubblico per l'account
<a name="configuring-block-public-access-account"></a>

**Importante**  
Se il tuo account è gestito da una politica di accesso pubblico a blocchi a livello di organizzazione, non puoi modificare queste impostazioni a livello di account. Le politiche a livello di organizzazione hanno la precedenza sulle configurazioni a livello di account. [https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html)

Amazon S3 Block Public Access fornisce impostazioni per punti di accesso, bucket, organizzazioni e account per aiutarti a gestire l'accesso pubblico alle risorse Amazon S3. Per impostazione predefinita, nuovi bucket, punti di accesso e oggetti non consentono l'accesso pubblico. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

**Nota**  
Le impostazioni a livello di account sostituiscono le impostazioni sui singoli oggetti. Se si configura l'account per bloccare l'accesso pubblico, le eventuali impostazioni di accesso pubblico effettuate su singoli oggetti all'interno dell'account verranno sovrascritte. Quando le politiche a livello di organizzazione sono attive, le impostazioni a livello di account ereditano automaticamente la politica dell'organizzazione e non possono essere modificate direttamente.

Puoi utilizzare la console S3 e l'API REST per configurare le impostazioni di accesso pubblico a blocco per tutti i bucket del tuo account quando non sono gestiti dai criteri dell'organizzazione. AWS CLI AWS SDKs Per ulteriori informazioni, consulta le sezioni seguenti.

Per configurare le impostazioni di accesso pubblico di blocco per i bucket, consulta [Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3](configuring-block-public-access-bucket.md). Per ulteriori informazioni sui punti di accesso, consulta [Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso](access-control-block-public-access.md#access-control-block-public-access-examples-access-point).

## Utilizzo della console S3
<a name="block-public-access-account"></a>

Il blocco dell'accesso pubblico di Amazon S3 impedisce l'applicazione di qualsiasi impostazione che consente l'accesso pubblico ai dati all'interno di bucket S3. In questa sezione viene descritto come modificare le impostazioni di blocco dell'accesso pubblico per tutti i bucket S3 nell' Account AWS. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

**Per modificare le impostazioni di accesso pubblico a blocchi per tutti i bucket S3 in un Account AWS**

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. Scegli **Impostazioni account per blocco dell'accesso pubblico**.

1. Scegli **Modifica** per modificare le impostazioni di blocco dell'accesso pubblico per tutti i bucket nell' Account AWS.

1. Scegliere le impostazione da modificare, quindi selezionare **Save changes (Salva modifiche)**.

1. Quando viene richiesta la conferma, immettere **confirm**. Quindi scegli **Confirm (Conferma)** per salvare le modifiche.

Se ricevi un messaggio di errore che dice: «Questo account non consente modifiche alle impostazioni di S3 Block Public Access a livello di account a causa di una politica di accesso pubblico a blocchi S3 a livello di account in vigore», il tuo account è gestito in base a politiche a livello di organizzazione. Contatta l'amministratore dell'organizzazione per modificare queste impostazioni.

## Utilizzando il AWS CLI
<a name="access-control-block-public-access-examples-cli"></a>

È possibile utilizzare il blocco dell'accesso pubblico di Amazon S3 tramite la AWS CLI. Per ulteriori informazioni sulla configurazione e l'utilizzo di AWS CLI, vedi [Cos'è il AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 

**Account**
+ Per eseguire operazioni di blocco dell'accesso pubblico su un account, usa il servizio `s3control` di AWS CLI . Le operazioni a livello di account che usano questo servizio sono:
  + `PutPublicAccessBlock` (per un account)
  + `GetPublicAccessBlock` (per un account)
  + `DeletePublicAccessBlock` (per un account)

**Nota**  
`PutPublicAccessBlock`e `DeletePublicAccessBlock` le operazioni restituiranno un errore «Accesso negato» quando l'account è gestito da politiche a livello di organizzazione. `GetPublicAccessBlock`Le operazioni a livello di account restituiranno la politica applicata a livello di organizzazione, se presente.

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-public-access-block.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-public-access-block.html) nella *Guida di riferimento della AWS CLI *.

## Utilizzando il AWS SDKs
<a name="access-control-block-public-access-examples-sdk"></a>

------
#### [ Java ]

Gli esempi seguenti mostrano come utilizzare Amazon S3 Block Public Access con AWS SDK per Java per inserire una configurazione di blocco di accesso pubblico su un account Amazon S3.

**Nota**  
`PutPublicAccessBlock`e `DeletePublicAccessBlock` le operazioni falliranno con un errore «Accesso negato» se l'account è gestito da politiche a livello di organizzazione.

```
AWSS3ControlClientBuilder controlClientBuilder = AWSS3ControlClientBuilder.standard();
controlClientBuilder.setRegion(<region>);
controlClientBuilder.setCredentials(<credentials>);
					
AWSS3Control client = controlClientBuilder.build();
client.putPublicAccessBlock(new PutPublicAccessBlockRequest()
		.withAccountId(<account-id>)
		.withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration()
				.withIgnorePublicAcls(<value>)
				.withBlockPublicAcls(<value>)
				.withBlockPublicPolicy(<value>)
				.withRestrictPublicBuckets(<value>)));
```

**Importante**  
Questo esempio si applica solo alle operazioni a livello di account, che usano la classe client `AWSS3Control`. Per le operazioni a livello di bucket, consulta l'esempio precedente.

------
#### [ Other SDKs ]

Per informazioni sull'utilizzo dell'altro AWS SDKs, consulta [Sviluppo con Amazon S3 utilizzando il riferimento AWS SDKs all'API](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) di riferimento di *Amazon S3*.

------

## Utilizzo della REST API
<a name="access-control-block-public-access-examples-api"></a>

Per informazioni sull'utilizzo di Amazon S3 Block Public Access tramite REST APIs, consulta i seguenti argomenti nel riferimento all'*API di Amazon Simple Storage Service*.
+ Operazioni a livello di account
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)- Fallisce quando l'account è gestito dalle politiche dell'organizzazione
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html)- Restituisce una configurazione efficace, comprese le politiche dell'organizzazione.
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)- Fallisce quando l'account è gestito dalle politiche dell'organizzazione.

Per le operazioni limitate, verrà visualizzato il seguente messaggio di errore: «Questo account non consente modifiche alle impostazioni di accesso pubblico a livello di account di S3 Block Public Access a livello di account a causa di una politica organizzativa di S3 Block Public Access in vigore».

# Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3
<a name="configuring-block-public-access-bucket"></a>

Amazon S3 Block Public Access fornisce impostazioni per punti di accesso, bucket, organizzazioni e account per aiutarti a gestire l'accesso pubblico alle risorse Amazon S3. Per impostazione predefinita, nuovi bucket, punti di accesso e oggetti non consentono l'accesso pubblico. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

**Nota**  
Le impostazioni Block Public Access a livello di bucket funzionano insieme alle politiche a livello di organizzazione e account. S3 applica l'impostazione più restrittiva tra le configurazioni a livello di bucket e quelle effettive a livello di account (che possono essere applicate dalle politiche dell'organizzazione, se presenti).

Puoi utilizzare la console S3 e l'API REST per concedere l' AWS CLI accesso AWS SDKs pubblico a uno o più bucket. È anche possibile bloccare l'accesso pubblico a bucket che sono già pubblici. Per ulteriori informazioni, consulta le sezioni seguenti.

Per configurare le impostazioni Blocco dell'accesso pubblico per ogni bucket dell'account, consultare [Configurazione delle impostazioni di blocco dell'accesso pubblico per l'account](configuring-block-public-access-account.md). *Per la gestione centralizzata a livello di organizzazione, consulta la policy di [S3](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html) nella guida per l'utente.AWS Organizations *

Per informazioni sulla configurazione dell'accesso pubblico a blocchi per i punti di accesso, consulta [Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso](access-control-block-public-access.md#access-control-block-public-access-examples-access-point).

# Utilizzo della console S3
<a name="block-public-access-bucket"></a>

Il blocco dell'accesso pubblico Amazon S3 impedisce l'applicazione di qualsiasi impostazione che consente l'accesso pubblico ai dati all'interno dei bucket S3. In questa sezione viene descritto come modificare le impostazioni di blocco dell'accesso pubblico per uno o più bucket S3. Per informazioni sul blocco dell'accesso pubblico tramite AWS CLI AWS SDKs, e Amazon S3 REST APIs, consulta. [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md)

Puoi vedere se il bucket è accessibile pubblicamente nella colonna **Analizzatore di accesso IAM** dell’elenco **Bucket**. Per ulteriori informazioni, consulta [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](access-analyzer.md).

Se viene visualizzato un `Error` quando si elencano i bucket e le relative impostazioni di accesso pubblico, si potrebbe non disporre delle autorizzazioni richieste. Assicurarsi di disporre delle seguenti autorizzazioni aggiunte alla policy utente o del ruolo:

```
s3:GetAccountPublicAccessBlock
s3:GetBucketPublicAccessBlock
s3:GetBucketPolicyStatus
s3:GetBucketLocation
s3:GetBucketAcl
s3:ListAccessPoints
s3:ListAllMyBuckets
```

In alcuni rari casi, le richieste possono anche non riuscire a causa di un'interruzione della Regione AWS .

**Per modificare le impostazioni di blocco dell'accesso pubblico Amazon S3 per un singolo bucket S3**

Segui questa procedura se è necessario modificare le impostazioni di accesso pubblico per un singolo bucket S3.

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 name (Nome bucket)**, scegliere il nome del bucket desiderato.

1. Seleziona **Autorizzazioni**.

1. Scegli **Modifica** accanto a **Blocco dell’accesso pubblico (impostazioni del bucket)** per modificare le impostazioni di accesso pubblico per il bucket. Per maggiori informazioni sulle quattro impostazioni di blocco dell'accesso pubblico di Amazon S3, consulta [Impostazioni di blocco dell'accesso pubblico](access-control-block-public-access.md#access-control-block-public-access-options).

1. Scegli una delle impostazioni, quindi scegli **Salva le modifiche**.

1. Quando viene richiesta la conferma, immettere **confirm**. Quindi scegli **Confirm (Conferma)** per salvare le modifiche.

**Importante**  
Anche se disabiliti le impostazioni di Block Public Access a livello di bucket, il tuo bucket potrebbe comunque essere protetto da politiche a livello di account o di organizzazione. S3 applica sempre la combinazione di impostazioni più restrittiva a tutti i livelli.

È possibile modificare le impostazioni di blocco dell’accesso pubblico Amazon S3 anche al momento della creazione di un bucket. Per ulteriori informazioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

## Utilizzando il AWS CLI
<a name="configuring-block-public-access-bucket-cli"></a>

Per bloccare l'accesso pubblico su un bucket o eliminare il blocco di accesso pubblico, utilizza il AWS CLI servizio`s3api`. Le operazioni a livello di bucket che usano questo servizio sono:
+ `PutPublicAccessBlock` (per un bucket)
+ `GetPublicAccessBlock` (per un bucket)
+ `DeletePublicAccessBlock` (per un bucket)
+ `GetBucketPolicyStatus`

Per ulteriori informazioni ed esempi, consulta l'esempio [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html) in *Riferimento ai comandi della AWS CLI *.

**Nota**  
Queste operazioni a livello di bucket non sono limitate dalle politiche a livello di organizzazione. Tuttavia, l'effettivo comportamento di accesso pubblico sarà comunque regolato dalla combinazione più restrittiva di impostazioni di bucket, account e organizzazione. Per ulteriori informazioni sulla gerarchia e sulle interazioni tra politiche, vedere. [Utilizzo della console S3](block-public-access-bucket.md)

## Usando il AWS SDKs
<a name="configuring-block-public-access-bucket-sdk"></a>

------
#### [ Java ]

```
AmazonS3 client = AmazonS3ClientBuilder.standard()
	  .withCredentials(<credentials>)
	  .build();

client.setPublicAccessBlock(new SetPublicAccessBlockRequest()
		.withBucketName(<bucket-name>)
		.withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration()
				.withBlockPublicAcls(<value>)
				.withIgnorePublicAcls(<value>)
				.withBlockPublicPolicy(<value>)
				.withRestrictPublicBuckets(<value>)));
```

**Importante**  
Questo esempio si applica solo alle operazioni a livello di bucket, che usano la classe client `AmazonS3`. Per le operazioni a livello di account, consulta l'esempio seguente.

------
#### [ Other SDKs ]

Per informazioni sull'utilizzo dell'altro AWS SDKs, consulta [Sviluppo con Amazon S3 utilizzando il riferimento AWS SDKs all'API](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) di riferimento di *Amazon S3*.

------

## Utilizzo della REST API
<a name="configuring-block-public-access-bucket-api"></a>

Per informazioni sull'utilizzo di Amazon S3 Block Public Access tramite REST APIs, consulta i seguenti argomenti nel riferimento all'*API di Amazon Simple Storage Service*.
+ Operazioni a livello di bucket
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)

# Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3
<a name="access-analyzer"></a>

IAM Access Analyzer for S3 fornisce risultati di accesso esterni per i bucket S3 per uso generico configurati per consentire l'accesso a chiunque su Internet (pubblico) o altro Account AWS, anche Account AWS all'esterno dell'organizzazione. Per ogni bucket condiviso pubblicamente o con altri Account AWS, ricevi informazioni sulla fonte e sul livello di accesso condiviso. Ad esempio, IAM Access Analyzer per S3 potrebbe mostrare che un bucket dispone di accesso in lettura o scrittura fornito tramite una lista di controllo degli accessi (ACL) del bucket, una policy del bucket, una policy del punto di accesso multi-regione o una policy del punto di accesso. Con questi risultati puoi intraprendere azioni correttive immediate e precise per ripristinare l'accesso del bucket desiderato. 

La console Amazon S3 presenta un **riepilogo degli accessi esterni** nella console S3 accanto all’elenco dei bucket per uso generico. Nel riepilogo, puoi fare clic sui risultati attivi di ciascuno per Regione AWS visualizzarne i dettagli nella pagina IAM Access Analyzer for S3. Gli esiti degli accessi esterni nel **riepilogo degli accessi esterni** vengono aggiornati automaticamente ogni 24 ore.

Quando si esamina un bucket che consente l’accesso pubblico, nella pagina Strumento di analisi degli accessi IAM per S3 è possibile bloccare tutti gli accessi pubblici al bucket con un solo clic. È consigliabile bloccare l’accesso pubblico ai bucket, a meno che non sia necessario per supportare un caso d’uso specifico. Prima di bloccare tutti gli accessi pubblici, assicurati che le applicazioni continuino a funzionare correttamente senza accesso pubblico. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

Inoltre, puoi eseguire il drill-down nelle impostazioni relative alle autorizzazioni a livello di bucket per configurare i livelli di accesso granulari. Per casi d'uso specifici e verificati che richiedono l'accesso pubblico, ad esempio host di siti Web, download pubblici, condivisione tra account, puoi confermare e registrare l'intenzione del bucket di rimanere pubblico o condiviso archiviando i risultati per il bucket. Puoi consultare e modificare le configurazioni relative al bucket in qualsiasi momento. È inoltre possibile scaricare i risultati in un report CSV per scopi di verifica.

IAM Access Analyzer per S3 è disponibile senza costi aggiuntivi nella console di Amazon S3. IAM Access Analyzer per S3 è basato su AWS Identity and Access Management (IAM) IAM Access Analyzer. Per utilizzare lo strumento di analisi degli accessi IAM per S3 nella console Amazon S3, è necessario accedere alla console IAM e abilitare lo strumento di analisi degli accessi IAM su base regionale.

Per ulteriori informazioni su IAM Access Analyzer, consulta [Cos'è IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) nella *Guida all'utente IAM*. Per ulteriori informazioni su IAM Access Analyzer per S3, rivedi le sezioni seguenti.

**Importante**  
IAM Access Analyzer for S3 richiede un analizzatore a livello di account in ogni ambiente in cui sono presenti bucket. Regione AWS Per utilizzare IAM Access Analyzer per S3, è necessario visitare IAM Access Analyzer e creare un analizzatore che abbia un account come zona di attendibilità. Per ulteriori informazioni, consultare [Abilitazione di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) nella *Guida per l'utente di IAM*.
IAM Access Analyzer per S3 non analizza la policy dei punti di accesso associata ai punti di accesso multi-account. Questo comportamento si verifica perché il punto di accesso e la relativa policy sono al di fuori della zona di attendibilità, ovvero l'account. I bucket che delegano l'accesso a un punto di accesso multi-account sono elencati in **Buckets with public access** (Bucket con accesso pubblico) se non hai applicato l'impostazione `RestrictPublicBuckets` di Blocco dell'accesso pubblico Amazon S3 al bucket o all'account. Quando applichi l'impostazione di `RestrictPublicBuckets` blocco dell'accesso pubblico, il bucket viene riportato in Bucket con accesso da altri, inclusi quelli di **terze parti. Account AWS Account AWS**
Quando una policy del bucket o un'ACL bucket viene aggiunta o modificata, IAM Access Analyzer genera e aggiorna i risultati in base alla modifica entro 30 minuti. I risultati relativi alle impostazioni di Blocco dell'accesso pubblico Amazon S3 a livello di account potrebbero non essere generati o aggiornati per un massimo di 6 ore dopo la modifica delle impostazioni. I risultati relativi ai punti di accesso multi-regione potrebbero non essere generati o aggiornati per un massimo di sei ore dopo la creazione o l'eliminazione del punto di accesso multi-regione o della modifica della policy.

**Topics**
+ [Revisione del riepilogo globale delle policy che forniscono l’accesso esterno ai bucket](#external-access-summary)
+ [Informazioni fornite dallo strumento di analisi degli accessi IAM per S3](#access-analyzer-information-s3)
+ [Blocco di tutti gli accessi pubblici](#blocking-public-access-access-analyzer)
+ [Revisione e modifica dell'accesso al bucket](#changing-bucket-access)
+ [Archiviazione dei risultati del bucket](#archiving-buckets)
+ [Attivazione di un risultato di bucket archiviato](#activating-buckets)
+ [Visualizzazione dei dettagli del risultato](#viewing-finding-details)
+ [Download di un report IAM Access Analyzer per S3](#downloading-bucket-report-s3)

## Revisione del riepilogo globale delle policy che forniscono l’accesso esterno ai bucket
<a name="external-access-summary"></a>

È possibile utilizzare il **riepilogo degli accessi esterni** per visualizzare un riepilogo globale delle policy che forniscono l’accesso esterno ai bucket dell’ Account AWS direttamente dalla console S3. Questo riepilogo ti aiuta a identificare i bucket generici di Amazon S3 in quelli Regione AWS che consentono l'accesso pubblico o l'accesso da altri Account AWS senza dover esaminare le policy di ciascuno di essi. Regione AWS 

### Abilitazione del riepilogo degli accessi esterni e dello strumento di analisi degli accessi IAM per S3
<a name="enabling-access-analyzer"></a>

Per utilizzare il **riepilogo degli accessi esterni** e lo strumento di analisi degli accessi IAM per S3, è necessario completare le seguenti fasi.

1. Concedere le autorizzazioni richieste. Per ulteriori informazioni, consultare [Autorizzazioni necessarie per utilizzare IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-permissions) nella *Guida per l'utente di IAM*.

1. Visita IAM per creare un analizzatore a livello di account per ogni regione in cui desideri utilizzare IAM Access Analyzer.

   Puoi farlo creando un analizzatore con un account come zona di fiducia nella console IAM o utilizzando o. AWS CLI AWS SDKs Per ulteriori informazioni, consultare [Abilitazione di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) nella *Guida per l'utente di IAM*.

### Visualizzazione dei bucket che consentono l’accesso esterno
<a name="external-access-summary-view"></a>

Il **riepilogo degli accessi esterni** mostra gli esiti e gli errori relativi all’accesso esterno forniti dallo strumento di analisi degli accessi IAM per S3 per i bucket per uso generico. Gli esiti archiviati e quelli relativi agli accessi non utilizzati non sono inclusi nel riepilogo, ma possono essere visualizzati nella console IAM o nello strumenti di analisi degli accessi IAM per S3. Per ulteriori informazioni, consulta [Visualizza la dashboard degli esiti dello strumenti di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-dashboard.html) nella Guida per l’utente IAM.

**Nota**  
Il **riepilogo dell'accesso esterno** include solo i risultati degli analizzatori di accesso esterno per ciascuna delle aziende Account AWS, non per la propria organizzazione. AWS 

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Bucket per uso generico**.

1. Espandi il **riepilogo degli accessi esterni**. La console mostra gli esiti degli accessi multi-account e pubblici attivi.
**Nota**  
Se S3 riscontra un problema durante il caricamento dei dettagli dei bucket, aggiorna l’elenco dei bucket per uso generico o visualizza gli esiti nello strumento di analisi degli accessi IAM per S3. Per ulteriori informazioni, consulta [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](#access-analyzer).

1. Per visualizzare un elenco di risultati o errori relativi a un Regione AWS, scegli il link alla regione. La pagina Strumento di analisi degli accessi IAM per S3 mostra i nomi dei bucket a cui è possibile accedere pubblicamente o da altri Account AWS. Per ulteriori informazioni, consulta [Informazioni fornite dallo strumento di analisi degli accessi IAM per S3](#access-analyzer-information-s3).

### Aggiornamento dei controlli degli accessi per i bucket che consentono l’accesso esterno
<a name="external-access-summary-update-controls"></a>

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Bucket per uso generico**.

1. Espandi il **riepilogo degli accessi esterni**. La console mostra gli esiti attivi per i bucket a cui è possibile accedere pubblicamente o da altri Account AWS.
**Nota**  
Se S3 riscontra un problema durante il caricamento dei dettagli dei bucket, aggiorna l’elenco dei bucket per uso generico o visualizza gli esiti nello strumento di analisi degli accessi IAM per S3. Per ulteriori informazioni, consulta [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](#access-analyzer).

1. Per visualizzare un elenco di risultati o errori relativi a un Regione AWS, scegli il link alla regione. Lo strumento di analisi degli accessi IAM per S3 mostra gli esiti attivi per i bucket a cui è possibile accedere pubblicamente o da altri Account AWS.
**Nota**  
Gli esiti degli accessi esterni nel **riepilogo degli accessi esterni** vengono aggiornati automaticamente ogni 24 ore.

1. Per bloccare tutti gli accessi pubblici a un bucket, consulta [Blocco di tutti gli accessi pubblici](#blocking-public-access-access-analyzer). Per modificare l’accesso al bucket, consulta [Revisione e modifica dell'accesso al bucket](#changing-bucket-access).

## Informazioni fornite dallo strumento di analisi degli accessi IAM per S3
<a name="access-analyzer-information-s3"></a>

IAM Access Analyzer per S3 fornisce risultati per i bucket a cui è possibile accedere al di fuori di Account AWS. I bucket elencati in **Esiti degli accessi pubblici** sono accessibili da chiunque su Internet. Se IAM Access Analyzer per S3 identifica i bucket pubblici, nella parte superiore della pagina viene visualizzato un avviso che indica il numero di bucket pubblici nella regione. I bucket elencati nella **sezione Risultati relativi agli accessi tra account** vengono condivisi a determinate condizioni con altri utenti Account AWS, inclusi gli account esterni all'organizzazione. 

Per ogni bucket, IAM Access Analyzer for S3 fornisce le seguenti informazioni:
+ **Nome bucket**
+ **Condiviso tramite**: come il bucket viene condiviso, ovvero tramite una policy di bucket, una ACL di bucket, una policy del punto di accesso multi-regione o una policy del punto di accesso. I punti di accesso multiregionali e i punti di accesso multi-account sono riportati sotto i punti di accesso. Un bucket può essere condiviso tramite entrambe le policy e. ACLs Per trovare e rivedere l'origine dell'accesso al bucket, puoi utilizzare le informazioni contenute in questa colonna come punto di partenza per intraprendere azioni correttive immediate e precise. 
+ **Status (Stato)** - Lo stato del rilevamento del bucket. IAM Access Analyzer per S3 visualizza i risultati per tutti i bucket pubblici e condivisi. 
  + **Active (Attivo)**- Il risultato non è stato esaminato. 
  + **Archived (Archiviato)** - Il risultato è stato esaminato e confermato come previsto. 
  + **Tutti** ‐ Tutti i risultati relativi ai bucket pubblici o condivisi con altri Account AWS, anche Account AWS al di fuori dell'organizzazione.
+ **Access level (Livello di accesso)** - Autorizzazioni di accesso concesse per il bucket:
  + **List (Elenco)** - Elencare le risorse.
  + **Read (Lettura)** - Leggere ma non modificare gli attributi e i contenuti delle risorse.
  + **Write (Scrittura)** - Creare, eliminare o modificare le risorse.
  + **Permissions (Autorizzazioni)** - Concedere o modificare le autorizzazioni a livello di risorsa.
  + **Tagging (Tag)** - Aggiornare i tag associati alla risorsa.
+ **Responsabile esterno** ‐ L' Account AWS esterno dell'organizzazione con accesso al bucket.
+ **Restrizione della policy di controllo delle risorse (RCP)** ‐ La policy di controllo delle risorse (RCP) collegata al bucket, se applicabile. Per ulteriori informazioni, vedere [Politiche di controllo delle risorse (RCPs).](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)

## Blocco di tutti gli accessi pubblici
<a name="blocking-public-access-access-analyzer"></a>

Per bloccare tutti gli accessi a un bucket con un solo clic, puoi utilizzare il pulsante **Blocca tutti gli accessi pubblici** in IAM Access Analyzer per S3. Quando blocchi tutti gli accessi pubblici a un bucket, non viene concesso alcun accesso pubblico. Ti consigliamo di bloccare tutti gli accessi pubblici ai bucket, a meno che non sia necessario l'accesso pubblico per supportare un caso d'uso specifico e verificato. Prima di bloccare tutti gli accessi pubblici, assicurati che le applicazioni continuino a funzionare correttamente senza accesso pubblico.

Se non desideri bloccare tutti gli accessi pubblici al bucket, puoi modificare le impostazioni di blocco dell'accesso pubblico sulla console di Amazon S3 per configurare livelli granulari di accesso ai bucket. Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

In rari casi, la valutazione dello strumento di analisi degli accessi IAM per S3 e del blocco dell’accesso pubblico Amazon S3 potrebbe differire a seconda che un bucket sia pubblico o meno. Questo comportamento si verifica perché il blocco dell’accesso pubblico Amazon S3 esegue la convalida dell’esistenza delle azioni oltre a valutare l’accesso pubblico. Supponi che la policy di bucket contenga un’istruzione `Action` che consenta l’accesso pubblico a un’azione non supportata da Amazon S3 (ad esempio, `s3:NotASupportedAction`). In questo caso, il blocco dell’accesso pubblico Amazon S3 valuta il bucket come pubblico perché una tale istruzione potrebbe potenzialmente renderlo pubblico se l’azione verrà successivamente supportata. Nei casi in cui il blocco dell’accesso pubblico Amazon S3 e lo strumento di analisi degli accessi AWS IAM per S3 differiscono nelle rispettive valutazioni, è consigliabile esaminare la policy di bucket e rimuovere eventuali azioni non supportate.

**Per bloccare tutti gli accessi pubblici a un bucket utilizzando IAM Access Analyzer per S3**

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. Nel riquadro di navigazione a sinistra, in **Dashboards (Pannelli di controllo)**, scegliere **Access analyzer for S3 (Access Analyzer per S3)**.

1. In IAM Access Analyzer per S3, scegli un bucket.

1. Scegliere **Block all public access (Blocca tutti gli accessi pubblici)**.

1. Per confermare l'intenzione di bloccare tutti gli accessi pubblici al bucket, in **Block all public access (bucket settings) (Blocca tutti gli accessi pubblici (impostazioni bucket))**, immettere **confirm**.

   Amazon S3 blocca tutti gli accessi pubblici al bucket. Lo stato del risultato del bucket viene aggiornato in **risolto** e il bucket scompare dall'elenco di IAM Access Analyzer per S3. Se si desidera esaminare i bucket risolti, aprire IAM Access Analyzer nella [console IAM](https://console.aws.amazon.com/iam/).

## Revisione e modifica dell'accesso al bucket
<a name="changing-bucket-access"></a>

Se non intendi concedere l'accesso al pubblico o ad altri Account AWS, compresi gli account esterni alla tua organizzazione, puoi modificare l'ACL del bucket, la policy del bucket, la politica del punto di accesso multiregionale o la politica del punto di accesso per rimuovere l'accesso al bucket. La colonna **Shared through** mostra tutte le fonti di accesso al bucket: bucket policy, bucket ACL, access point policy. and/or I punti di accesso multi-regione e i punti di accesso multi-account sono riportati sotto i punti di accesso.

**Per esaminare e modificare una policy di bucket, una ACL, una policy del punto di accesso multi-regione o del punto di accesso di un bucket**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione scegliere **Access analyzer for S3 (Access Analyzer per S3)**.

1. Per verificare se l'accesso pubblico o l'accesso condiviso è concesso tramite una policy di bucket, una ACL di bucket, una policy del punto di accesso multi-regione o una policy del punto di accesso, cerca nella colonna **Shared through** (Condiviso tramite).

1. In **Buckets** (Bucket) scegli il nome del bucket con la policy di bucket, l'ACL di bucket, la policy del punto di accesso multi-regione o la policy del punto di accesso che desideri modificare o esaminare.

1. Se si desidera modificare o visualizzare una ACL di bucket:

   1. Seleziona **Autorizzazioni**.

   1. Scegliere **Access Control List (Lista di controllo accessi)**.

   1. Esaminare l'ACL di bucket e apportare le modifiche necessarie.

      Per ulteriori informazioni, consulta [Configurazione ACLs](managing-acls.md).

1. Se si desidera modificare o rivedere una policy di bucket:

   1. Seleziona **Autorizzazioni**.

   1. Scegli **Bucket Policy** (Policy del bucket).

   1. Esaminare o modificare la policy di bucket come richiesto.

      Per ulteriori informazioni, consulta [Aggiunta di una policy di bucket utilizzando la console di Amazon S3](add-bucket-policy.md).

1. Se desideri esaminare o modificare una policy del punto di accesso multi-regione:

   1. Scegli **Multi-Region Access Point** (Punto di accesso multi-regione).

   1. Scegli il nome del punto di accesso multi-regione.

   1. Esamina o modifica la policy del punto di accesso multi-regione come necessario.

      Per ulteriori informazioni, consulta [Permissions](MultiRegionAccessPointPermissions.md).

1. Se si desidera rivedere o modificare una policy del punto di accesso:

   1. Scegli **Punti di accesso per bucket per uso generico** o **Punti di accesso per bucket di directory**.

   1. Scegliere il nome del punto di accesso.

   1. Esaminare o modificare l'accesso in base alle esigenze. 

      Per ulteriori informazioni, consulta [Gestione dei punti di accesso Amazon S3 per bucket per uso generico](access-points-manage.md).

   Se si modifica o si rimuove una ACL di bucket, una policy di bucket o una policy del punto di accesso per rimuovere l'accesso pubblico o condiviso, lo stato dei risultati del bucket viene aggiornato in resolved (risolto). I risultati dei bucket risolti scompaiono dall'elenco di IAM Access Analyzer for S3, ma è possibile visualizzarli in IAM Access Analyzer.

## Archiviazione dei risultati del bucket
<a name="archiving-buckets"></a>

Se un bucket consente l'accesso al pubblico o ad altri utenti Account AWS, inclusi account esterni all'organizzazione, per supportare un caso d'uso specifico (ad esempio, un sito Web statico, download pubblici o condivisione tra account), puoi archiviare i risultati relativi al bucket. Quando archivi i risultati del bucket, confermi e registri l'intenzione che il bucket rimanga pubblico o condiviso. I risultati del bucket archiviati rimangono nell'elenco di IAM Access Analyzer per S3 in modo da sapere sempre quali bucket sono pubblici o condivisi.

**Per archiviare i risultati del bucket in IAM Access Analyzer per S3**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione scegli **Analizzatore di accesso IAM per S3**.

1. In IAM Access Analyzer per S3, scegli un bucket attivo.

1. **Per confermare la tua intenzione di consentire l'accesso a questo bucket da parte del pubblico o di altri utenti Account AWS, inclusi gli account esterni alla tua organizzazione, scegli Archivia.**

1. Immettere **confirm** e scegliere **Archive (Archivia)**.

## Attivazione di un risultato di bucket archiviato
<a name="activating-buckets"></a>

Dopo aver archiviato i risultati, è sempre possibile esaminarli e modificarne lo stato attivo, indicando che il bucket richiede un'altra revisione. 

**Per attivare un risultato di bucket archiviato in IAM Access Analyzer per S3**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione scegliere **Access analyzer for S3 (Access Analyzer per S3)**.

1. Scegliere i risultati del bucket archiviati.

1. Scegliere **Mark as active (Contrassegna come attivo)**.

## Visualizzazione dei dettagli del risultato
<a name="viewing-finding-details"></a>

Se è necessario visualizzare ulteriori informazioni su un esito, è possibile aprire i dettagli dell’esito del bucket nello strumento di analisi degli accessi IAM sulla [console IAM](https://console.aws.amazon.com/iam/).

**Per visualizzare i dettagli dei risultati in IAM Access Analyzer per S3**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione scegliere **Access analyzer for S3 (Access Analyzer per S3)**.

1. In IAM Access Analyzer per S3, scegli un bucket.

1. Seleziona **View Details (Visualizza dettagli)**.

   I dettagli della ricerca si aprono in IAM Access Analyzer sulla [console IAM](https://console.aws.amazon.com/iam/). 

## Download di un report IAM Access Analyzer per S3
<a name="downloading-bucket-report-s3"></a>

Puoi scaricare i risultati del bucket come report CSV che è possibile utilizzare per scopi di audit. Il report include le stesse informazioni visualizzate in IAM Access Analyzer per S3 sulla console di Amazon S3.

**Per scaricare un report**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra scegliere **Access analyzer for S3 (Access Analyzer per S3)**.

1. Nel filtro Region (Regione) scegliere Region (Regione).

   IAM Access Analyzer per S3 viene aggiornato per mostrare i bucket per la regione scelta.

1. Scegliere **Download report (Scarica report)**.

   Un report CSV viene generato e salvato sul computer.

# Verifica della proprietà del bucket con condizione del proprietario del bucket
<a name="bucket-owner-condition"></a>

La condizione di proprietario dei bucket Amazon S3 garantisce che i bucket utilizzati nelle operazioni S3 appartengano a quelli previsti. Account AWS 

La maggior parte delle operazioni S3 legge da o scrive in bucket S3 specifici. Queste operazioni includono il caricamento, la copia e il download di oggetti, il recupero o la modifica delle configurazioni dei bucket e il recupero o la modifica delle configurazioni degli oggetti. Quando esegui queste operazioni, specifichi il bucket da utilizzare includendo il suo nome nella richiesta. Ad esempio, per recuperare un oggetto da S3, effettui una richiesta che specifica il nome di un bucket e la chiave oggetto da recuperare da quel bucket.

Poiché Amazon S3 identifica i bucket in base ai loro nomi, un'applicazione che utilizza un nome bucket non corretto in una richiesta potrebbe accidentalmente eseguire operazioni su un bucket diverso da quello previsto. Per evitare interazioni del bucket involontarie in situazioni come questa, puoi utilizzare la *condizione proprietario del bucket*. La condizione proprietario del bucket consente di verificare che il bucket di destinazione sia di proprietà dell' Account AWS previsto, fornendo un ulteriore livello di garanzia sul fatto che le operazioni S3 avranno gli effetti desiderati.

**Topics**
+ [Quando utilizzare la condizione proprietario del bucket](#bucket-owner-condition-when-to-use)
+ [Verifica del proprietario del bucket](#bucket-owner-condition-use)
+ [Esempi](#bucket-owner-condition-examples)
+ [Restrizioni e limitazioni](#bucket-owner-condition-restrictions-limitations)

## Quando utilizzare la condizione proprietario del bucket
<a name="bucket-owner-condition-when-to-use"></a>

È consigliabile utilizzare la condizione proprietario del bucket ogni volta che esegui un'operazione S3 supportata e conosci l'ID account del proprietario del bucket previsto. La condizione proprietario del bucket è disponibile per tutte le operazioni oggetto S3 e la maggior parte delle operazioni bucket S3. Per un elenco delle operazioni S3 che non supportano la condizione proprietario del bucket, consulta [Restrizioni e limitazioni](#bucket-owner-condition-restrictions-limitations).

Per scoprire i vantaggi derivanti dall'utilizzo della condizione di proprietario del bucket, considera il seguente scenario che coinvolge il cliente Bea: AWS 

1. Bea sviluppa un'applicazione che utilizza Amazon S3. Durante lo sviluppo, Bea utilizza i suoi test solo Account AWS per creare un bucket denominato `bea-data-test` e configura la sua applicazione per effettuare richieste a. `bea-data-test`

1. Bea distribuisce la sua applicazione, ma dimentica di riconfigurarla affinché utilizzi un bucket nel suo Account AWS di produzione.

1. In produzione, l'applicazione di Bea effettua richieste a `bea-data-test`, che hanno esito positivo. In questo modo i dati di produzione vengono scritti nel bucket nell'account di test di Bea.

Bea può prevenire situazioni come questa utilizzando la condizione proprietario del bucket. Con la condizione di proprietario del bucket, Bea può includere l' Account AWS ID del proprietario del bucket previsto nelle sue richieste. Amazon S3 controlla quindi l'ID account del proprietario del bucket prima di elaborare ogni richiesta. Se il proprietario del bucket effettivo non corrisponde al proprietario del bucket previsto, la richiesta ha esito negativo.

Se Bea utilizza la condizione proprietario del bucket, lo scenario descritto in precedenza non comporta la scrittura accidentale dell'applicazione di Bea in un bucket di test. Invece, le richieste effettuate dall'applicazione nella fase 3 avranno esito negativo con un messaggio di errore `Access Denied`. Utilizzando la condizione proprietario del bucket, Bea aiuta a eliminare il rischio di interagire accidentalmente con i bucket nell' Account AWS sbagliato.

## Verifica del proprietario del bucket
<a name="bucket-owner-condition-use"></a>

Per utilizzare la condizione proprietario del bucket, includi nella richiesta un parametro che specifichi il proprietario del bucket previsto. La maggior parte delle operazioni S3 coinvolge solo un singolo bucket e richiede solo questo singolo parametro per utilizzare la condizione proprietario del bucket. Per le operazioni `CopyObject`, questo primo parametro specifica il proprietario previsto del bucket di destinazione e viene incluso un secondo parametro per specificare il proprietario previsto del bucket di origine.

Quando effettui una richiesta che include un parametro della condizione proprietario del bucket, S3 controlla l'ID account del proprietario del bucket rispetto al parametro specificato prima di elaborare la richiesta. Se il parametro corrisponde all'ID account del proprietario del bucket, S3 elabora la richiesta. Se il parametro non corrisponde all'ID account del proprietario del bucket, la richiesta ha esito negativo con un messaggio di errore `Access Denied`.

Puoi utilizzare la condizione del proprietario del bucket con AWS Command Line Interface (AWS CLI) e Amazon APIs S3 REST. AWS SDKs Quando utilizzi la condizione del proprietario del bucket con AWS CLI e Amazon S3 APIs REST, usa i seguenti nomi di parametro.


****  

| Metodo di accesso | Parametro per operazioni di non copia | Parametro origine operazione di copia | Parametro destinazione operazione di copia | 
| --- | --- | --- | --- | 
| AWS CLI | --expected-bucket-owner | --expected-source-bucket-owner | --expected-bucket-owner | 
| Amazon S3 REST APIs | x-amz-expected-bucket-owner Intestazione | x-amz-source-expected-bucket-owner Intestazione | x-amz-expected-bucket-owner Intestazione | 

I nomi dei parametri necessari per utilizzare la condizione del proprietario del bucket AWS SDKs variano a seconda della lingua. Per determinare i parametri richiesti, consulta la documentazione SDK relativa alla lingua desiderata. È possibile trovare la documentazione SDK in [Strumenti per creare in AWS](https://aws.amazon.com/tools/).

## Esempi
<a name="bucket-owner-condition-examples"></a>

Gli esempi seguenti mostrano come implementare la condizione di proprietario del bucket in Amazon S3 utilizzando o AWS CLI il. AWS SDK for Java 2.x

**Example**  
***Esempio: caricare un oggetto***  
Nell'esempio seguente viene mostrato il caricamento di un oggetto nel bucket S3 `amzn-s3-demo-bucket1`, utilizzando la condizione di proprietario del bucket per assicurarsi che `amzn-s3-demo-bucket1` sia di proprietà dell' Account AWS `111122223333`.  

```
aws s3api put-object \
                 --bucket amzn-s3-demo-bucket1 --key exampleobject --body example_file.txt \
                 --expected-bucket-owner 111122223333
```

```
public void putObjectExample() {
    S3Client s3Client = S3Client.create();;
    PutObjectRequest request = PutObjectRequest.builder()
            .bucket("amzn-s3-demo-bucket1")
            .key("exampleobject")
            .expectedBucketOwner("111122223333")
            .build();
    Path path = Paths.get("example_file.txt");
    s3Client.putObject(request, path);
}
```

**Example**  
***Esempio: copiare un oggetto***  
Nell'esempio seguente viene mostrata la copia di un oggetto `object1` dal bucket S3 `amzn-s3-demo-bucket1` nel bucket S3 `amzn-s3-demo-bucket2`. Utilizza la condizione proprietario del bucket per garantire che i bucket sono di proprietà degli account previsti secondo la tabella seguente.   


****  

| Bucket | Proprietario previsto | 
| --- | --- | 
| amzn-s3-demo-bucket1 | 111122223333 | 
| amzn-s3-demo-bucket2 | 444455556666 | 

```
aws s3api copy-object --copy-source amzn-s3-demo-bucket1/object1 \
                            --bucket amzn-s3-demo-bucket2 --key object1copy \
                            --expected-source-bucket-owner 111122223333 --expected-bucket-owner 444455556666
```

```
public void copyObjectExample() {
        S3Client s3Client = S3Client.create();
        CopyObjectRequest request = CopyObjectRequest.builder()
                .copySource("amzn-s3-demo-bucket1/object1")
                .destinationBucket("amzn-s3-demo-bucket2")
                .destinationKey("object1copy")
                .expectedSourceBucketOwner("111122223333")
                .expectedBucketOwner("444455556666")
                .build();
        s3Client.copyObject(request);
    }
```

**Example**  
***Esempio: recuperare una policy del bucket***  
Nell'esempio seguente viene recuperata la policy di accesso per il bucket S3 `amzn-s3-demo-bucket1`, utilizzando la condizione proprietario del bucket per assicurarsi che `amzn-s3-demo-bucket1` sia di proprietà dell'account Account AWS `111122223333`.  

```
aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket1 --expected-bucket-owner 111122223333
```

```
public void getBucketPolicyExample() {
    S3Client s3Client = S3Client.create();
    GetBucketPolicyRequest request = GetBucketPolicyRequest.builder()
            .bucket("amzn-s3-demo-bucket1")
            .expectedBucketOwner("111122223333")
            .build();
    try {
        GetBucketPolicyResponse response = s3Client.getBucketPolicy(request);
    }
    catch (S3Exception e) {
        // The call was transmitted successfully, but Amazon S3 couldn't process 
        // it, so it returned an error response.
        e.printStackTrace();
    }
}
```

## Restrizioni e limitazioni
<a name="bucket-owner-condition-restrictions-limitations"></a>

La condizione proprietario del bucket Amazon S3 presenta le seguenti restrizioni e limitazioni:
+ Il valore del parametro della condizione del proprietario del bucket deve essere un Account AWS ID (valore numerico a 12 cifre). I principali del servizio non sono supportati. 
+ [La condizione di proprietario del bucket non è disponibile per [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)nessuna delle operazioni incluse in S3 Control. [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)AWS](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_AWS_S3_Control.html) Amazon S3 ignora tutti i parametri delle condizioni proprietario del bucket inclusi nelle richieste a queste operazioni. 
+ La condizione proprietario del bucket verifica solo che l'account specificato nel parametro di verifica possieda il bucket. La condizione proprietario del bucket non controlla la configurazione del bucket. Inoltre, non garantisce che la configurazione del bucket soddisfi condizioni specifiche o corrisponda a qualsiasi stato passato. 

# Controllo della proprietà degli oggetti e disattivazione ACLs del bucket
<a name="about-object-ownership"></a>

S3 Object Ownership è un'impostazione a livello di bucket Amazon S3 che puoi usare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitare o [abilitare](acl-overview.md) le liste di controllo degli accessi (). ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario di Bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e gestisce l'accesso ai dati esclusivamente utilizzando le politiche di gestione degli accessi.

La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di e consigliamo di ACLs mantenerlo ACLs disabilitato tranne nei casi in cui è necessario controllare l'accesso per ogni oggetto singolarmente. Se ACLs disabilitato, puoi utilizzare le policy per controllare più facilmente l'accesso a ogni oggetto nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. 

Object Ownership dispone di tre impostazioni che puoi utilizzare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitarli o abilitarli: ACLs

**ACLs disabilitato**
+ **Proprietario del bucket applicato (impostazione predefinita)**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.

**ACLs enabled**
+ **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 
+ **Object writer**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite. Account AWS ACLs

Per la maggior parte dei casi d'uso moderni in S3, ti consigliamo di rimanere ACLs disabilitato applicando l'impostazione Bucket owner enforce e utilizzando la tua policy bucket per condividere i dati con utenti esterni al tuo account, se necessario. Questo approccio semplifica la gestione delle autorizzazioni. Puoi disabilitarlo sia ACLs sui bucket appena creati che su quelli già esistenti. Per impostazione predefinita, i bucket appena creati ACLs sono disabilitati. Nel caso di un bucket esistente che contiene già oggetti, dopo la disattivazione ACLs, l'oggetto e il bucket non ACLs fanno più parte di una valutazione dell'accesso e l'accesso viene concesso o negato in base alle politiche. Per i bucket esistenti, è possibile riattivarli ACLs in qualsiasi momento dopo averli disabilitati e il bucket e l'oggetto preesistenti vengono ripristinati. ACLs 

Prima di disabilitare ACLs, ti consigliamo di rivedere la tua policy sui bucket per assicurarti che copra tutti i modi in cui intendi concedere l'accesso al tuo bucket al di fuori del tuo account. Dopo la disattivazione ACLs, il bucket accetta solo `PUT` le richieste che non specificano un ACL o `PUT` le richieste con il pieno controllo del proprietario del bucket ACLs, ad esempio l'ACL predefinito o forme equivalenti di `bucket-owner-full-control` questo ACL espresse in XML. Le applicazioni esistenti che supportano il pieno controllo del proprietario del bucket non hanno alcun impatto. ACLs `PUT`le richieste che ne contengono altre ACLs (ad esempio, concessioni personalizzate a determinate Account AWS) hanno esito negativo e restituiscono un `400` errore con il codice di errore. `AccessControlListNotSupported` 

Al contrario, un bucket con l'impostazione preferita del proprietario del bucket continua ad accettare e rispettare bucket e oggetto. ACLs Con questa impostazione, nuovi oggetti scritti con l'ACL predefinita `bucket-owner-full-control` saranno automaticamente di proprietà del proprietario del bucket anziché dell'object writer. Tutti gli altri comportamenti ACL rimangono invariati. Per richiedere a tutte le operazioni `PUT` di Amazon S3 di includere l'ACL predefinita `bucket-owner-full-control`, puoi [aggiungere una policy di bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) che consenta solo il caricamento di oggetti utilizzando questa ACL.

Per vedere quali impostazioni di Object Ownership vengono applicate ai tuoi bucket, puoi utilizzare i parametri di Amazon S3 Storage Lens. S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. Per ulteriori informazioni, consulta la sezione relativa all'[utilizzo di S3 Storage Lens per trovare le impostazioni di Object Ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-access-management.html?icmpid=docs_s3_user_guide_about-object-ownership.html).

**Nota**  
Per ulteriori informazioni sull'utilizzo della classe di archiviazione Amazon S3 Express One Zone con bucket di directory, consulta [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) e [Operazioni con i bucket di directory](directory-buckets-overview.md).

## Impostazioni di Object Ownership
<a name="object-ownership-overview"></a>

Questa tabella mostra l'impatto che ogni impostazione della proprietà degli oggetti ha sugli oggetti ACLs, sulla proprietà degli oggetti e sui caricamenti degli oggetti. 


| Impostazione | Si applica a | Effetto sulla proprietà degli oggetti | Effetto su ACLs | Caricamenti accettati | 
| --- | --- | --- | --- | --- | 
| Proprietario del bucket applicato (impostazione predefinita) | Tutti gli oggetti esistenti e nuovi | Il proprietario del bucket possiede ogni oggetto. |  ACLs sono disabilitati e non influiscono più sulle autorizzazioni di accesso al tuo bucket. Le richieste di impostazione o aggiornamento ACLs hanno esito negativo. Tuttavia, le richieste di lettura ACLs sono supportate.  Il proprietario del bucket ha piena proprietà e controllo. L'object Writer non ha più piena proprietà e controllo.  | Caricamenti con il pieno controllo del proprietario del bucket ACLs o caricamenti che non specificano un ACL | 
| Proprietario del bucket preferito | Nuovi oggetti | Se un caricamento di oggetti include l'ACL preferita bucket-owner-full-control, il proprietario del bucket possiede l'oggetto. Gli oggetti caricati con altri ACLs sono di proprietà dell'account di scrittura. |  ACLs possono essere aggiornati e possono concedere autorizzazioni. Se un caricamento di oggetti include l'ACL preferita `bucket-owner-full-control`, il proprietario del bucket ha completo controllo degli accessi mentre l'object writer non lo ha più.  | Tutti i caricamenti | 
| Autore dell'oggetto | Nuovi oggetti | L'object writer è proprietario dell'oggetto. |  ACLs può essere aggiornato e può concedere autorizzazioni. L'Object writer ha completo controllo degli accessi.  | Tutti i caricamenti | 

## Modifiche introdotte mediante disabilitazione ACLs
<a name="object-ownership-changes"></a>

Quando viene applicata l'impostazione imposta dal proprietario del bucket per la proprietà degli oggetti, ACLs vengono disattivate e l'utente possiede automaticamente e assume il pieno controllo di ogni oggetto nel bucket senza intraprendere alcuna azione aggiuntiva. Proprietario del bucket applicato è l'impostazione predefinita per tutti i nuovi bucket creati. Dopo aver applicato l'impostazione Proprietario del bucket applicato, verranno visualizzate tre modifiche: 
+ Tutti i bucket ACLs e gli oggetti ACLs sono disabilitati, il che consente l'accesso completo all'utente, in qualità di proprietario del bucket. Quando esegui una richiesta ACL di lettura sul bucket o sull'oggetto, vedrai che l'accesso completo è dato solo al proprietario del bucket.
+ In quanto proprietario del bucket possiedi automaticamente e hai il pieno controllo su ogni oggetto nel bucket.
+ ACLs non influirà più sulle autorizzazioni di accesso al tuo bucket. [Di conseguenza, il controllo degli accessi ai dati si basa su policy, come policy basate sull'[identità AWS Identity and Access Management (IAM), policy di bucket di Amazon S3, policy](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security_iam_id-based-policy-examples.html)[di endpoint VPC e policy di](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) controllo dei [servizi di Organizations () o policy di controllo](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_scps.html) delle risorse (). SCPs RCPs](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_rcps.html)

![\[Diagramma che mostra cosa succede quando si applica l'impostazione forzata del proprietario di Bucket alla disattivazione. ACLs\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/bucket-owner-enforced.png)


Se si utilizza il controllo delle versioni di S3, il proprietario del bucket possiede e ha il pieno controllo su tutte le versioni degli oggetti nel bucket. L'applicazione dell'impostazione Proprietario del bucket applicato non aggiunge una nuova versione di un oggetto.

I nuovi oggetti possono essere caricati nel bucket solo se utilizzano il pieno controllo del proprietario del bucket ACLs o non specificano un ACL. I caricamenti di oggetti non riescono se specificano altre ACL. Per ulteriori informazioni, consulta [Risoluzione dei problemi](object-ownership-error-responses.md).

Poiché l'`PutObject`operazione di esempio seguente che utilizza il AWS Command Line Interface (AWS CLI) include l'ACL predefinito, l'oggetto può essere caricato `bucket-owner-full-control` in un bucket con la modalità disattivata. ACLs

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file --acl bucket-owner-full-control
```

Poiché l'`PutObject`operazione seguente non specifica un ACL, ha esito positivo anche per un bucket con impostazione disattivata. ACLs

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file
```

**Nota**  
Se altri Account AWS hanno bisogno di accedere agli oggetti dopo il caricamento, devi concedere autorizzazioni aggiuntive a tali account tramite le policy dei bucket. Per ulteriori informazioni, consulta [Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3](example-walkthroughs-managing-access.md).

**Riattivazione ACLs**  
Puoi riattivarla passando ACLs dall'impostazione forzata del proprietario del Bucket a un'altra impostazione di proprietà dell'oggetto in qualsiasi momento. Se hai utilizzato l'oggetto ACLs per la gestione delle autorizzazioni prima di applicare l'impostazione Bucket owner enforce e non hai migrato queste autorizzazioni ACL dell'oggetto alla tua policy del bucket, dopo la riattivazione, queste autorizzazioni vengono ripristinate. ACLs Inoltre, gli oggetti scritti nel bucket mentre era applicata l'impostazione Proprietario del bucket applicato, appartengono ancora al proprietario del bucket. 

Ad esempio, se passi dall'impostazione Proprietario del bucket applicato all'impostazione Autore dell'oggetto, in qualità di proprietario del bucket, non disporrai più della proprietà e del controllo completo sugli oggetti che appartenevano in precedenza ad altri Account AWS. Al contrario, gli account di caricamento possiederanno nuovamente questi oggetti. Gli oggetti di proprietà di altri account vengono utilizzati per le autorizzazioni, quindi non puoi utilizzare le politiche ACLs per concedere le autorizzazioni a questi oggetti. Tuttavia, in qualità di proprietario del bucket, sei ancora il proprietario di tutti gli oggetti che sono stati scritti nel bucket mentre era applicata l'impostazione Proprietario del bucket applicato. Questi oggetti non sono di proprietà dell'autore dell'oggetto, anche se li riattivate. ACLs

Per istruzioni sull'attivazione e la gestione dell' ACLs utilizzo dell'API REST Console di gestione AWS, AWS Command Line Interface (CLI) oppure AWS SDKs, consulta. [Configurazione ACLs](managing-acls.md)

## Prerequisiti per la disabilitazione ACLs
<a name="object-ownership-considerations"></a>

Prima di disattivarlo ACLs per un bucket esistente, completa i seguenti prerequisiti.
+ [Rivedi il bucket e l'oggetto ACLs e migra le autorizzazioni ACL](object-ownership-migrating-acls-prerequisites.md#object-ownership-acl-permissions)

  
+ [Identifica tutte le richieste che richiedono una ACL per l'autorizzazione](object-ownership-migrating-acls-prerequisites.md#object-ownership-acl-identify)

  
+ [Esamina e aggiorna le policy del bucket che utilizzano chiavi di condizione relative all'ACL](object-ownership-migrating-acls-prerequisites.md#object-ownership-bucket-policies)

  

## Autorizzazioni di Object Ownership
<a name="object-ownership-permissions"></a>

Per applicare, aggiornare o eliminare un'impostazione di Object Ownership per un bucket, è necessaria l'autorizzazione `s3:PutBucketOwnershipControls`. Per restituire l'impostazione Object Ownership per un bucket, è necessaria l'autorizzazione `s3:GetBucketOwnershipControls`. Per ulteriori informazioni, consultare [Impostazione di Object Ownership quando si crea un bucket](object-ownership-new-bucket.md) e [Visualizzare l'impostazione di Object Ownership per un bucket S3](object-ownership-retrieving.md).

## Disattivazione ACLs per tutti i nuovi bucket
<a name="requiring-bucket-owner-enforced"></a>

Per impostazione predefinita, tutti i nuovi bucket vengono creati con l'impostazione imposta dal proprietario del Bucket applicata e sono disabilitati. ACLs Ti consigliamo di rimanere disabilitato. ACLs Come regola generale, consigliamo di utilizzare le policy basate sulle risorse S3 (bucket policy e access point policy) o le policy IAM per il controllo degli accessi anziché. ACLs Le policy sono un'opzione di controllo degli accessi semplificata e più flessibile. Con le policy dei bucket e le policy dei punti di accesso, puoi definire le regole applicabili globalmente a tutte le richieste alle risorse Amazon S3. 

## Replication e Object Ownership
<a name="object-ownership-replication"></a>

Quando utilizzi la replica S3 e i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, puoi disabilitarli ACLs (con l'impostazione imposta dal proprietario del bucket per Object Ownership) per modificare la proprietà della replica con quella che possiede il bucket di destinazione. Account AWS Questa impostazione imita il comportamento di sovrascrittura del proprietario esistente senza la necessità di un'autorizzazione `s3:ObjectOwnerOverrideToBucketOwner`. Tutti gli oggetti replicati nel bucket di destinazione con l'impostazione Proprietario del bucket applicato sono di proprietà del proprietario del bucket di destinazione. Per ulteriori informazioni sull'opzione di sovrascrittura del proprietario per le configurazioni di replica, consulta [Modifica del proprietario della replica](replication-change-owner.md). 

## Impostazione di Object Ownership
<a name="object-ownership-setting"></a>

Puoi applicare un'impostazione di proprietà dell'oggetto utilizzando la console Amazon S3, AWS CLI AWS SDKs, l'API REST di Amazon S3 oppure. AWS CloudFormation Le seguenti API REST e AWS CLI i seguenti comandi supportano la proprietà degli oggetti:


| REST API | AWS CLI | Description | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html) | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html)  | Crea o modifica l'impostazione Object Ownership per un bucket S3 esistente. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)  | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) | Crea un bucket tramite l'intestazione x-amz-object-ownership della richiesta per specificare l'impostazione Object Ownership.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html)  | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html) | Recupera l'impostazione Object Ownership per un bucket Amazon S3.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html) | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-ownership-controls.html) | Elimina l'impostazione Object Ownership per un bucket Amazon S3.  | 

Per ulteriori informazioni sull'applicazione e l'utilizzo delle impostazioni di Object Ownership, consultare gli argomenti riportati di seguito.

**Topics**
+ [Impostazioni di Object Ownership](#object-ownership-overview)
+ [Modifiche introdotte mediante disabilitazione ACLs](#object-ownership-changes)
+ [Prerequisiti per la disabilitazione ACLs](#object-ownership-considerations)
+ [Autorizzazioni di Object Ownership](#object-ownership-permissions)
+ [Disattivazione ACLs per tutti i nuovi bucket](#requiring-bucket-owner-enforced)
+ [Replication e Object Ownership](#object-ownership-replication)
+ [Impostazione di Object Ownership](#object-ownership-setting)
+ [Prerequisiti per la disabilitazione ACLs](object-ownership-migrating-acls-prerequisites.md)
+ [Impostazione di Object Ownership quando si crea un bucket](object-ownership-new-bucket.md)
+ [Impostazione di Object Ownership su un bucket esistente](object-ownership-existing-bucket.md)
+ [Visualizzare l'impostazione di Object Ownership per un bucket S3](object-ownership-retrieving.md)
+ [Disabilitazione ACLs per tutti i nuovi bucket e applicazione della proprietà degli oggetti](ensure-object-ownership.md)
+ [Risoluzione dei problemi](object-ownership-error-responses.md)

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

Una lista di controllo degli accessi ai bucket (ACL) in Amazon S3 è un meccanismo che consente di definire autorizzazioni granulari per singoli oggetti all'interno di un bucket S3, specificando AWS quali account o gruppi possono accedere e modificare tali oggetti. La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di utilizzare le policy AWS Identity and Access Management (IAM) e bucket per gestire l'accesso e mantenerli ACLs disabilitati, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente.

Se hai ACLs abilitato il bucket, prima di disattivarlo ACLs, completa i seguenti prerequisiti:

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

## Rivedi il bucket e l'oggetto ACLs e migra le autorizzazioni ACL
<a name="object-ownership-acl-permissions"></a>

Quando disabiliti ACLs, le autorizzazioni concesse dal bucket e dall'oggetto non influiscono più sull'accesso. ACLs Prima di disabilitarlo ACLs, esamina il bucket e l'oggetto. ACLs 

Ogni bucket e oggetto esistenti ACLs ha un equivalente in una policy IAM. I seguenti esempi di bucket policy mostrano come `READ` e `WRITE` le autorizzazioni per bucket e object ACLs mapping 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: ACLs
+ Se l'ACL del bucket concede l'accesso al di fuori del tuo AWS account, per prima cosa devi migrare le autorizzazioni ACL del bucket alla tua policy sul 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 il tuo bucket ACLs concede autorizzazioni di lettura o scrittura ad altre persone esterne al tuo account, prima di poterle disabilitare ACLs, devi migrare queste autorizzazioni alla tua policy bucket. Dopo aver migrato queste autorizzazioni, è possibile impostare **Proprietà dell’oggetto** sull’impostazione *Proprietario del bucket applicato*. Se non esegui la migrazione di bucket ACLs che garantiscono l'accesso in lettura o scrittura all'esterno del tuo account, la tua richiesta di applicare l'impostazione Bucket owner enforce non riesce 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 disabilitarlo ACLs, devi migrare le autorizzazioni ACL del bucket alla tua policy sul bucket e reimpostare l'ACL del bucket sull'ACL privato predefinito. Se non esegui la migrazione e il ripristino, la tua richiesta di applicare l'impostazione di disabilitazione forzata del proprietario del Bucket ha esito negativo e restituisce il codice di errore. ACLs [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 rivedere 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 migrare le autorizzazioni ACL dei `WRITE` bucket `READ` e degli oggetti di terze parti verso una policy bucket. Account AWS `READ_ACP`e `WRITE_ACP` ACLs sono meno rilevanti per le politiche perché concedono autorizzazioni relative all'ACL (,, e). `s3:GetBucketAcl` `s3:GetObjectAcl` `s3:PutBucketAcl` `s3:PutObjectAcl`

**Example — `READ` ACL per un bucket**  
Se il tuo bucket ha un `READ` ACL che concede l' Account AWS `111122223333`autorizzazione a elencare il contenuto del tuo bucket, puoi scrivere una policy sul bucket che conceda, le autorizzazioni per il tuo bucket. `s3:ListBucket` `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 — per ogni oggetto in un bucket `READ` ACLs**  
Se ogni oggetto nel tuo bucket ha un `READ` ACL a cui concede l'accesso Account AWS `111122223333`, puoi scrivere una policy sul bucket che conceda `s3:GetObject` e `s3:GetObjectVersion` autorizzi 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 su un bucket**  
Se il tuo bucket ha un `WRITE` ACL che concede l' Account AWS `111122223333`autorizzazione a scrivere oggetti nel tuo bucket, puoi scrivere una policy sul bucket che conceda 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 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. 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 rivedere 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: [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](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 e disabilitare l'impostazione forzata del proprietario del Bucket ACLs, devi migrare queste autorizzazioni per l'account di terze parti a una policy 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 altri esempi, vedi. ACLs [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 bucket, l'account di terze parti è identificato dall' Account AWS ID (`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, utilizzate il [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](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 ACLs l'autorizzazione, puoi utilizzare il `aclRequired` valore nei log di accesso al 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 è ACLs necessario, se stai impostando un `bucket-owner-full-control` ACL predefinito o se le richieste sono consentite dalla tua policy bucket, la stringa di `aclRequired` valore è "`-`" nei log di accesso al server di Amazon S3 ed è assente in. CloudTrail Per ulteriori informazioni sui valori `aclRequired` attesi, consulta [Valori `aclRequired` per le richieste di Amazon S3](acl-overview.md#aclrequired-s3).

Se `PutBucketAcl` disponi di `PutObjectAcl` richieste con intestazioni che concedono autorizzazioni basate sull'ACL, ad eccezione dell'ACL predefinito, devi rimuovere tali intestazioni prima di `bucket-owner-full-control` poterle disabilitare. ACLs 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 qualsiasi bucket ACLs prima di abilitare l'impostazione applicata dal proprietario del bucket. 

**Nota**  
Non rimuovere oggetti. ACLs In caso contrario, le applicazioni che si basano sull'oggetto ACLs per le autorizzazioni perderanno l'accesso.

Se vedi che nessuna richiesta richiede un ACL per l'autorizzazione, puoi procedere alla disattivazione. ACLs 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 tramite CloudTrail](cloudtrail-request-identification.md).

## Esamina e aggiorna le policy del bucket che utilizzano chiavi di condizione relative all'ACL
<a name="object-ownership-bucket-policies"></a>

Dopo aver applicato la disattivazione dell'impostazione forzata del proprietario del bucket ACLs, i nuovi oggetti possono essere caricati nel bucket solo se la richiesta utilizza il controllo completo del proprietario del bucket ACLs o non specifica un ACL. Prima di disabilitarli ACLs, consulta la politica del bucket per le chiavi di condizione relative all'ACL.

Se la policy del bucket utilizza una chiave di condizione relativa all'ACL per richiedere l'ACL predefinita `bucket-owner-full-control` (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 ACLs disattivati accettano ancora questo ACL, quindi le richieste continuano ad avere esito positivo senza che siano necessarie 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 policy di bucket utilizza una chiave di condizione relativa all'ACL che richiede un'ACL diversa, è necessario rimuovere questa chiave di condizione. Questo esempio di bucket policy richiede l'`public-read`ACL per le `PutObject` richieste S3 e pertanto deve essere aggiornata prima della disabilitazione. ACLs 

------
#### [ 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 forzata del proprietario del bucket da disabilitare ACLs per un bucket di destinazione per la registrazione degli accessi al server (noto anche come bucket di destinazione), devi migrare le autorizzazioni ACL del *bucket* per il gruppo di consegna dei log S3 al logging service principal () in una policy bucket. `logging.s3.amazonaws.com` 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 il tuo oggetto ACLs concede l'accesso pubblico in lettura a tutti gli oggetti nel tuo bucket, puoi migrare queste autorizzazioni ACL a una policy 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 (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 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 a un ACL ElastiCache in un bucket, devi migrare queste autorizzazioni a una policy del bucket prima di applicare l'impostazione di disabilitazione applicata dal proprietario del bucket. ACLs Per ulteriori informazioni, consulta [Concedi ElastiCache l'accesso al tuo bucket Amazon S3](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) nella *Amazon ElastiCache * User Guide.

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

# Impostazione di Object Ownership quando si crea un bucket
<a name="object-ownership-new-bucket"></a>

Quando crei un bucket, puoi configurare S3 Object Ownership. Per impostare Object Ownership per un bucket esistente, consulta [Impostazione di Object Ownership su un bucket esistente](object-ownership-existing-bucket.md).

S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare per [disabilitare gli elenchi di controllo degli accessi ACLs (](acl-overview.md)) e assumere la proprietà di ogni oggetto nel bucket, semplificando la gestione degli accessi per i dati archiviati in Amazon S3. Per impostazione predefinita, S3 Object Ownership è impostato sull'impostazione imposta dal proprietario del bucket e viene disabilitato per i nuovi bucket. ACLs Se ACLs disabilitata, il proprietario del bucket possiede ogni oggetto nel bucket e gestisce l'accesso ai dati esclusivamente utilizzando le politiche di gestione degli accessi. Ti consigliamo di mantenerlo ACLs disabilitato, tranne in circostanze insolite in cui devi controllare l'accesso per ogni oggetto singolarmente. 

Object Ownership dispone di tre impostazioni che puoi utilizzare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitarli o ACLs abilitarli:

**ACLs disabilitato**
+ **Proprietario del bucket applicato (impostazione predefinita)**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.

**ACLs enabled**
+ **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 
+ **Object writer**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite. Account AWS ACLs

**Autorizzazioni**: per applicare l'impostazione **Bucket owner enforced** (Applicata da proprietario bucket) oppure **Bucket owner preferred** (Preferita da proprietario bucket), devi disporre delle seguenti autorizzazioni: `s3:CreateBucket` e `s3:PutBucketOwnershipControls`. Non sono necessarie autorizzazioni aggiuntive quando si crea un bucket con l'impostazione **Object writer** applicata. Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta [ Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

**Importante**  
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di ACLs e consigliamo di disabilitarlo ACLs tranne nei casi in cui è necessario controllare l'accesso per ogni oggetto singolarmente. Con Object Ownership, puoi disabilitare ACLs e fare affidamento su politiche per il controllo degli accessi. Quando disattivi ACLs, puoi gestire facilmente un bucket con oggetti caricati da AWS account diversi. In qualità di proprietario del bucket, possiedi tutti gli oggetti nel bucket e puoi gestirne l'accesso utilizzando le policy. 

## Utilizzo della console S3
<a name="object-ownership-new-bucket-console"></a>

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. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione in cui creare un bucket. 
**Nota**  
Una volta creato, non è possibile modificarne la regione. 
Scegli una regione nelle tue vicinanze per ridurre al minimo la latenza e i costi o essere conforme ai requisiti normativi. Gli oggetti archiviati in una regione non la lasciano mai a meno che non vengano trasferiti esplicitamente in un'altra regione. Per un elenco di Amazon S3 Regioni AWS, consulta gli [Servizio AWS endpoint](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in. *Riferimenti generali di Amazon Web Services*

1. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Scegliere **Create bucket (Crea bucket)**. Viene visualizzata la pagina **Create bucket (Crea bucket)**.

1. In **Nome bucket**, immettere il nome del bucket.

   Il nome del bucket deve:
   + Essere univoco all'interno di una partizione. Una partizione è un raggruppamento di regioni. AWS attualmente ha tre partizioni: `aws` (Regioni commerciali), `aws-cn` (Regioni della Cina) e `aws-us-gov` (AWS GovCloud (US) Regions).
   + Deve contenere da 3 a 63 caratteri
   + Essere costituito solo da lettere minuscole, numeri, punti (`.`) e trattini (`-`). Per una migliore compatibilità, è consigliabile evitare l’utilizzo di punti (`.`) nei nomi dei bucket, ad eccezione dei bucket utilizzati solo per l’hosting di siti web statici.
   + Iniziare e finire con una lettera o un numero. 
   + Per l’elenco completo delle regole di denominazione dei bucket, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md).
**Importante**  
Una volta creato il bucket, non è possibile modificarne il nome. 
Non includere informazioni sensibili nel nome del bucket. Il nome del bucket è visibile in URLs quel punto agli oggetti nel bucket.

1. (Facoltativo) In **Configurazione generale** è possibile scegliere di copiare le impostazioni di un bucket esistente nel nuovo bucket. Se non desideri copiare le impostazioni di un bucket esistente, procedi al passaggio successivo.
**Nota**  
Questa opzione:  
Non è disponibile in AWS CLI ed è disponibile solo nella console Amazon S3
Non copia la policy di bucket dal bucket esistente nel nuovo bucket

    Per copiare le impostazioni di un bucket esistente, in **Copia impostazioni da un bucket esistente**, seleziona **Scegli bucket**. Viene visualizzata la finestra **Scegli bucket**. Individua il bucket con le impostazioni da copiare e seleziona **Scegli bucket**. La finestra **Scegli bucket** si chiude e si riapre la finestra **Crea bucket**.

   In **Copia impostazioni da un bucket esistente**, ora viene visualizzato il nome del bucket selezionato. Le impostazioni del nuovo bucket ora corrispondono alle impostazioni del bucket selezionato. Se desideri rimuovere le impostazioni copiate, scegli **Ripristina le impostazioni predefinite**. Esamina le restanti impostazioni del bucket nella pagina **Crea bucket**. Se non desideri apportare modifiche, puoi passare alla fase finale. 

1. In **Object Ownership**, per disabilitare o abilitare ACLs e controllare la proprietà degli oggetti caricati nel bucket, scegli una delle seguenti impostazioni:

**ACLs disabilitato**
   +  **Proprietario del bucket applicato (impostazione predefinita)**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket generico. ACLs non influiscono più sulle autorizzazioni di accesso ai dati nel bucket generico S3. Il bucket utilizza esclusivamente le policy per definire il controllo degli accessi.

     Per impostazione predefinita, ACLs sono disabilitati. La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**ACLs enabled**
   + **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 

     Se applichi l'impostazione **Proprietario del bucket preferito**, per richiedere che tutti i caricamenti di Amazon S3 includano l'ACL predefinita `bucket-owner-full-control`, puoi [aggiungere una policy del bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) che consenta solo il caricamento di oggetti che utilizzano questa ACL.
   + **Autore di oggetti**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può consentire ad altri utenti di accedervi tramite ACLs. Account AWS 
**Nota**  
L'impostazione predefinita è **Proprietario del bucket applicato**. Per applicare l'impostazione predefinita e mantenerla ACLs disattivata, è necessaria solo l'`s3:CreateBucket`autorizzazione. Per abilitare ACLs, è necessario disporre dell'`s3:PutBucketOwnershipControls`autorizzazione.

1. In **Impostazioni di blocco dell'accesso pubblico per questo bucket** scegli le impostazioni di blocco dell'accesso pubblico che vuoi applicare al bucket. 

   Per impostazione predefinita, tutte e quattro le impostazioni Blocco dell'accesso pubblico sono abilitate. È consigliabile mantenere tutte le impostazioni abilitate, a meno che non sia necessario disattivarne una o più di una per il caso d'uso specifico. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).
**Nota**  
Per abilitare tutte le impostazioni Blocco dell'accesso pubblico, è richiesta solo l'autorizzazione `s3:CreateBucket`. Per disattivare le impostazioni Blocco dell'accesso pubblico, è necessario disporre dell'autorizzazione `s3:PutBucketPublicAccessBlock`.

1. (Facoltativo) Per impostazione predefinita, la funzionalità **Controllo delle versioni del bucket** è disabilitata. La funzione Controllo delle versioni è un modo per conservare più versioni di un oggetto nello stesso bucket. Si può utilizzare questa funzione per conservare, recuperare e ripristinare qualsiasi versione di ogni oggetto archiviato nel bucket . Con il controllo delle versioni puoi eseguire facilmente il ripristino dopo errori dell'applicazione e operazioni non intenzionali dell'utente. Per ulteriori informazioni sulla funzione Controllo delle versioni, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). 

   Per abilitare il controllo delle versioni sul bucket, scegli **Abilita**. 

1. (Facoltativo) In **Tags** (Tag), puoi scegliere di aggiungere tag al bucket. Con l’allocazione dei costi di AWS è possibile utilizzare i tag dei bucket per annotare nella fatturazione l’utilizzo di un bucket. Un tag è una coppia chiave-valore che rappresenta un'etichetta assegnata a un bucket. Per ulteriori informazioni, consulta [Utilizzo dei tag per l'allocazione dei costi per i bucket S3](CostAllocTagging.md).

   Per aggiungere un tag al bucket, inserisci un valore in **Key** (Chiave) e facoltativamente un valore in **Value** (Valore), quindi scegli **Add Tag** (Aggiungi tag).

1. Per configurare **Crittografia predefinita**, in **Tipo di crittografia** scegli una delle seguenti opzioni: 
   + **Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)**
   + **Crittografia lato server con AWS Key Management Service chiavi (SSE-KMS)**
   + **Crittografia lato server a doppio livello con () chiavi (DSSE-KMS) AWS Key Management Service AWS KMS**
**Importante**  
Se usi l’opzione SSE-KMS o DSSE-KMS per la configurazione della crittografia predefinita, vengono applicate le quote di richieste al secondo (RPS) di AWS KMS. [https://docs.aws.amazon.com/kms/latest/developerguide/limits.html](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)

   I bucket e i nuovi oggetti sono crittografati utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello base di configurazione della crittografia. Per ulteriori informazioni sulla crittografia predefinita, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md). Per ulteriori informazioni su SSE-S3, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).

   Per ulteriori informazioni sull’utilizzo della crittografia lato server per crittografare i dati, consulta [Protezione dei dati con la crittografia](UsingEncryption.md). 

1. Se hai scelto la **crittografia lato server con AWS Key Management Service chiavi (SSE-KMS) o la crittografia lato server a doppio livello con AWS Key Management Service ()** **chiavi (DSSE-KMS), procedi come segue**:AWS KMS

   1. In **Chiave AWS KMS ** specifica la tua chiave KMS in uno dei seguenti modi:
      + **Per scegliere da un elenco di chiavi KMS disponibili, scegli tra le tue chiavi KMS e **scegli la tua AWS KMS keys chiave KMS dall'**elenco delle chiavi disponibili.**

        In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dai clienti. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta [Chiavi gestite dal cliente e chiavi AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *Guida per gli sviluppatori di AWS Key Management Service *.
      + Per specificare l'ARN della chiave KMS, scegli **Inserisci l'ARN della AWS KMS key ** e quindi specifica l'ARN della chiave KMS nel campo visualizzato. 
      + Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli **Crea una chiave KMS**.

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi utilizzare solo le chiavi KMS disponibili nello Regione AWS stesso bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa Regione del bucket. Per utilizzare una chiave KMS non elencata, è necessario inserire l’ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell’autorizzazione richiesta per l’uso della chiave e quindi inserire l’ARN della chiave KMS. Per ulteriori informazioni sulle autorizzazioni multi-account per le chiavi KMS, consulta [Creazione di chiavi KMS utilizzabili da altri account](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) nella *Guida per gli sviluppatori di AWS Key Management Service *. Per ulteriori informazioni su SSE-KMS, consulta [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md). Per ulteriori informazioni su DSSE-KMS, consulta [Utilizzo della crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS)](UsingDSSEncryption.md).  
Quando utilizzi una AWS KMS key crittografia lato server in Amazon S3, devi scegliere una chiave KMS di crittografia simmetrica. Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Identificazione delle chiavi KMS simmetriche e asimmetriche](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

   1. Quando configuri il bucket per utilizzare la crittografia predefinita con SSE-KMS puoi anche utilizzare le chiavi del bucket S3. S3 Bucket Keys riduce il costo della crittografia diminuendo il traffico di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md). Le chiavi bucket S3 non sono supportate per DSSE-KMS.

      Per impostazione predefinita, le chiavi del bucket S3 sono abilitate nella console Amazon S3. È consigliabile lasciare abilitate le chiavi del bucket S3 per ridurre i costi. Per disabilitare le chiavi del bucket S3 per il bucket in uso, scegli **Disabilita** in **Chiave del bucket**.

1. (Facoltativo) Object Lock S3 aiuta a proteggere i nuovi oggetti dall’eliminazione o dalla sovrascrittura. Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md). Se desideri abilitare Object Lock S3, procedi come segue:

   1. Scegli **Impostazioni avanzate**.
**Importante**  
Abilitando Object Lock si abilita automaticamente il controllo delle versioni per il bucket. Dopo aver abilitato e creato il bucket, è necessario anche configurare le impostazioni predefinite di conservazione e blocco legale di Object Lock nella scheda **Proprietà** del bucket. 

   1. Se desideri attivare Object Lock, scegli **Abilita**, leggi l'avviso che appare e confermalo.
**Nota**  
Per creare un bucket abilitato per Object Lock, sono necessarie le seguenti autorizzazioni: `s3:CreateBucket`, `s3:PutBucketVersioning` e `s3:PutBucketObjectLockConfiguration`.

1. Seleziona **Crea bucket**.

## Usando il AWS CLI
<a name="object-ownership-new-bucket-cli"></a>

Per impostare la proprietà dell'oggetto quando create un nuovo bucket, utilizzate il `create-bucket` AWS CLI comando con il `--object-ownership` parametro. 

In questo esempio viene applicata l'impostazione Proprietario del bucket applicato per un nuovo bucket utilizzando la AWS CLI:

```
aws s3api create-bucket --bucket  amzn-s3-demo-bucket --region us-east-1 --object-ownership BucketOwnerEnforced
```

**Importante**  
Se non imposti la proprietà dell'oggetto quando crei un bucket utilizzando il AWS CLI, l'impostazione predefinita sarà `ObjectWriter` (ACLs abilitata).

## Utilizzo dell' AWS SDK for Java
<a name="object-ownership-new-bucket-sdk-java"></a>

In questo esempio viene definita l'impostazione Proprietario del bucket applicato per un nuovo bucket utilizzando AWS SDK per Java:

```
    // Build the ObjectOwnership for CreateBucket
    CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
            .bucket(bucketName)
            .objectOwnership(ObjectOwnership.BucketOwnerEnforced)
            .build()

     // Send the request to Amazon S3 
     s3client.createBucket(createBucketRequest);
```

## Usando CloudFormation
<a name="object-ownership-new-bucket-cfn"></a>

Per utilizzare la `AWS::S3::Bucket` CloudFormation risorsa per impostare la proprietà degli oggetti quando crei un nuovo bucket, consulta [OwnershipControlsla AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols) *Guida per l'AWS CloudFormation utente*.

## Utilizzo della REST API
<a name="object-ownership-new-bucket-rest-api"></a>

Per applicare l'impostazione Proprietario del bucket applicato per S3 Proprietà dell'oggetto, utilizza l'operazione API `CreateBucket` con l'intestazione della richiesta `x-amz-object-ownership` impostata su `BucketOwnerEnforced`. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) nella *Guida di riferimento per l'API di Amazon Simple Storage Service*.

**Fasi successive**: dopo aver eseguito le impostazioni Proprietario del bucket applicato o Proprietario del bucket preferito per Proprietà dell'oggetto, è possibile compiere i seguenti passaggi:
+ [Bucket owner applicato](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced): richiedi che tutti i nuovi bucket vengano creati con la ACLs disattivazione utilizzando una policy IAM o Organizations. 
+ [Proprietario del bucket preferito](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) – Aggiungi una policy di bucket S3 per richiedere l'ACL predefinita `bucket-owner-full-control` per tutti gli oggetti caricati nel tuo bucket.

# Impostazione di Object Ownership su un bucket esistente
<a name="object-ownership-existing-bucket"></a>

È possibile configurare S3 Object Ownership su un bucket S3 esistente. Per applicare Object Ownership quando si crea un bucket, consulta [Impostazione di Object Ownership quando si crea un bucket](object-ownership-new-bucket.md).

S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare per [disabilitare gli elenchi di controllo degli accessi ACLs (](acl-overview.md)) e assumere la proprietà di ogni oggetto nel bucket, semplificando la gestione degli accessi per i dati archiviati in Amazon S3. Per impostazione predefinita, S3 Object Ownership è impostato sull'impostazione imposta dal proprietario del bucket e viene disabilitato per i nuovi bucket. ACLs Se ACLs disabilitata, il proprietario del bucket possiede ogni oggetto nel bucket e gestisce l'accesso ai dati esclusivamente utilizzando le politiche di gestione degli accessi. Ti consigliamo di mantenerlo ACLs disabilitato, tranne in circostanze insolite in cui devi controllare l'accesso per ogni oggetto singolarmente. 

Object Ownership dispone di tre impostazioni che puoi utilizzare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitarli o ACLs abilitarli:

**ACLs disabilitato**
+ **Proprietario del bucket applicato (impostazione predefinita)**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.

**ACLs enabled**
+ **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 
+ **Object writer**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite. Account AWS ACLs

**Prerequisiti**: prima di applicare la disattivazione dell'impostazione imposta dal proprietario del bucket ACLs, è necessario migrare le autorizzazioni ACL del bucket alle policy del bucket e ripristinare il bucket sull'ACL privato predefinito. ACLs Ti consigliamo inoltre di migrare le autorizzazioni ACL degli oggetti alle policy dei bucket e di modificare le politiche dei bucket che richiedono un controllo completo diverso dal proprietario del bucket. ACLs ACLs Per ulteriori informazioni, consulta [Prerequisiti per la disabilitazione ACLs](object-ownership-migrating-acls-prerequisites.md).

**Autorizzazioni**: Per utilizzare questa operazione, è necessario disporre dell'autorizzazione `s3:PutBucketOwnershipControls`. Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta [ Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

## Utilizzo della console S3
<a name="add-object-ownership"></a>

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** scegliere il nome del bucket al quale applicare un'impostazione S3 Object Ownership.

1. Scegli la scheda **Autorizzazioni**.

1. Alla voce **Proprietà Oggetto** scegli **Modifica**.

1. In **Object Ownership**, per disabilitare o abilitare ACLs e controllare la proprietà degli oggetti caricati nel tuo bucket, scegli una delle seguenti impostazioni:

**ACLs disabilitato**
   + **proprietario del bucket applicato**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.

     Per richiedere che tutti i nuovi bucket vengano creati con l'opzione ACLs disabilitata utilizzando IAM o AWS Organizations le policy, consulta. [Disabilitazione ACLs per tutti i nuovi bucket (il proprietario del bucket è stato imposto)](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced)

**ACLs enabled**
   + **Proprietario del bucket scelto** – Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono nel bucket con l'ACL predefinita `bucket-owner-full-control`. 

     Se applichi l'impostazione del proprietario del bucket preferito per richiedere che tutti i caricamenti di Amazon S3 includano l'ACL predefinita `bucket-owner-full-control`, puoi [aggiungere una policy del bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) che consenta solo il caricamento di oggetti che utilizzano questo ACL.
   + **Object writer**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può consentire ad altri utenti di accedervi tramite. Account AWS ACLs

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

## Utilizzando il AWS CLI
<a name="object-ownership-existing-bucket-cli"></a>

Per applicare un'impostazione Object Ownership per un bucket esistente, utilizzare il comando `put-bucket-ownership-controls` con il parametro `--ownership-controls`. I valori validi per la proprietà sono`BucketOwnerEnforced`, `BucketOwnerPreferred` o `ObjectWriter`.

In questo esempio viene applicata l'impostazione Proprietario del bucket applicato per un bucket esistente utilizzando la AWS CLI:

```
aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
```

Per ulteriori informazioni su `put-bucket-ownership-controls`, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html) nella *Guida per l'utente di AWS Command Line Interface *. 

## Utilizzo dell' AWS SDK for Java
<a name="object-ownership-existing-bucket-sdk-java"></a>

In questo esempio viene eseguita l'impostazione `BucketOwnerEnforced` per Object Ownership su un bucket esistente utilizzando la AWS SDK per Java:

```
         // Build the ObjectOwnership for BucketOwnerEnforced
         OwnershipControlsRule rule = OwnershipControlsRule.builder()
                .objectOwnership(ObjectOwnership.BucketOwnerEnforced)
                .build();

         OwnershipControls ownershipControls = OwnershipControls.builder()
                   .rules(rule)
                   .build()

          // Build the PutBucketOwnershipControlsRequest
          PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest =
                PutBucketOwnershipControlsRequest.builder()
                        .bucket(BUCKET_NAME)
                        .ownershipControls(ownershipControls)
                        .build();
                        
          // Send the request to Amazon S3 
          s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);
```

## Usando CloudFormation
<a name="object-ownership-existing-bucket-cfn"></a>

Per utilizzarlo CloudFormation per applicare un'impostazione di proprietà dell'oggetto a un bucket esistente, consulta [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html)la *Guida per l'AWS CloudFormation utente*.

## Utilizzo della REST API
<a name="object-ownership-existing-bucket-rest-api"></a>

Per utilizzare REST API per applicare un'impostazione Object Ownership a un bucket S3 esistente, utilizzare `PutBucketOwnershipControls`. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

**Fasi successive**: dopo aver eseguito le impostazioni Proprietario del bucket applicato o Proprietario del bucket preferito per Proprietà dell'oggetto, è possibile compiere i seguenti passaggi:
+ [Bucket owner applicato](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced): richiedi che tutti i nuovi bucket vengano creati con la ACLs disattivazione utilizzando una policy IAM o Organizations. 
+ [Proprietario del bucket preferito](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) – Aggiungi una policy di bucket S3 per richiedere l'ACL predefinita `bucket-owner-full-control` per tutti gli oggetti caricati nel tuo bucket.

# Visualizzare l'impostazione di Object Ownership per un bucket S3
<a name="object-ownership-retrieving"></a>

S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che puoi utilizzare per [disabilitare gli elenchi di controllo degli accessi ACLs (](acl-overview.md)) e assumere la proprietà di ogni oggetto nel bucket, semplificando la gestione degli accessi per i dati archiviati in Amazon S3. Per impostazione predefinita, S3 Object Ownership è impostato sull'impostazione imposta dal proprietario del bucket e viene disabilitato per i nuovi bucket. ACLs Se ACLs disabilitata, il proprietario del bucket possiede ogni oggetto nel bucket e gestisce l'accesso ai dati esclusivamente utilizzando le politiche di gestione degli accessi. Ti consigliamo di mantenerlo ACLs disabilitato, tranne in circostanze insolite in cui devi controllare l'accesso per ogni oggetto singolarmente. 

Object Ownership dispone di tre impostazioni che puoi utilizzare per controllare la proprietà degli oggetti caricati nel tuo bucket e per disabilitarli o ACLs abilitarli:

**ACLs disabilitato**
+ **Proprietario del bucket applicato (impostazione predefinita)**: ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.

**ACLs enabled**
+ **Proprietario del bucket preferito** - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL `bucket-owner-full-control` predefinita. 
+ **Object writer**: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite. Account AWS ACLs

È possibile visualizzare le impostazioni di S3 Object Ownership per un bucket Amazon S3. Per impostare Object Ownership per un nuovo bucket, consultare [Impostazione di Object Ownership quando si crea un bucket](object-ownership-new-bucket.md). Per impostare Object Ownership per un bucket esistente, consultare [Impostazione di Object Ownership su un bucket esistente](object-ownership-existing-bucket.md).

**Autorizzazioni**: Per utilizzare questa operazione, è necessario disporre dell'autorizzazione `s3:GetBucketOwnershipControls`. Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta [ Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *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](using-with-s3-policy-actions.md).

## Utilizzo della console S3
<a name="object-ownership-retrieving-console"></a>

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** scegliere il nome del bucket al quale applicare un'impostazione di Object Ownership.

1. Scegli la scheda **Autorizzazioni**.

1. Alla voce **Proprietà Oggetto**, è possibile visualizzare le impostazioni di Object Ownership per il bucket.

## Utilizzando il AWS CLI
<a name="object-ownership-retrieving-cli"></a>

Per recuperare l'impostazione S3 Object Ownership per un bucket S3, usa il comando. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html) AWS CLI 

```
aws s3api get-bucket-ownership-controls --bucket amzn-s3-demo-bucket
```

## Utilizzo della REST API
<a name="object-ownership-retrieving-rest-api"></a>

Per recuperare l'impostazione di Object Ownership per un bucket S3, utilizzare l'operazione API `GetBucketOwnershipControls`. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html).

# Disabilitazione ACLs per tutti i nuovi bucket e applicazione della proprietà degli oggetti
<a name="ensure-object-ownership"></a>

Ti consigliamo di disabilitarlo ACLs sui bucket Amazon S3. È possibile farlo applicando l'impostazione Proprietario del bucket applicato per S3 Proprietà dell'oggetto. Quando applichi questa impostazione, ACLs sono disabilitati e possiedi automaticamente e hai il pieno controllo su tutti gli oggetti nel tuo bucket. Per richiedere che tutti i nuovi bucket vengano creati con opzioni ACLs disattivate, utilizzate le policy AWS Identity and Access Management (IAM) o le policy di controllo del AWS Organizations servizio (SCPs), come descritto nella sezione successiva.

Per imporre la proprietà degli oggetti ai nuovi oggetti senza disabilitarli ACLs, puoi applicare l'impostazione preferita del proprietario del Bucket. Una volta applicata questa impostazione, si consiglia fortemente di aggiornare la policy del bucket per richiedere l'ACL predefinita`bucket-owner-full-control`   per tutte le richieste `PUT` sul tuo bucket. I client devono anch'essi essere aggiornati per inviare l'ACL predefinita `bucket-owner-full-control` al tuo bucket da altri account.

**Topics**
+ [Disabilitazione ACLs per tutti i nuovi bucket (il proprietario del bucket è stato imposto)](#object-ownership-requiring-bucket-owner-enforced)
+ [Richiedere l'ACL bucket-owner-full-control predefinito per le operazioni di Amazon `PUT` S3 (preferibilmente il proprietario del bucket)](#ensure-object-ownership-bucket-policy)

## Disabilitazione ACLs per tutti i nuovi bucket (il proprietario del bucket è stato imposto)
<a name="object-ownership-requiring-bucket-owner-enforced"></a>

La seguente policy IAM di esempio nega l'autorizzazione `s3:CreateBucket` per un utente IAM o un ruolo specifico a meno che non venga applicata l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto. La coppia chiave-valore nel blocco di `Condition` specifica `s3:x-amz-object-ownership` come chiave e l'impostazione `BucketOwnerEnforced` come valore corrispondente. In altre parole, l'utente IAM può creare bucket solo se imposta l'impostazione forzata del proprietario di Bucket per Object Ownership e la disattiva. ACLs Puoi anche utilizzare questa policy come SCP limite per la tua organizzazione. AWS 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RequireBucketOwnerFullControl",
            "Action": "s3:CreateBucket",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-object-ownership": "BucketOwnerEnforced"
                }
            }
        }
    ]
}
```

------

## Richiedere l'ACL bucket-owner-full-control predefinito per le operazioni di Amazon `PUT` S3 (preferibilmente il proprietario del bucket)
<a name="ensure-object-ownership-bucket-policy"></a>

Con l'impostazione proprietario del bucket preferito per Object Ownership, in qualità di proprietario del bucket possiedi e hai il pieno controllo sui nuovi oggetti che gli altri account scrivono sul tuo bucket con l'ACL predefinita `bucket-owner-full-control`. Tuttavia, se altri account scrivono oggetti nel tuo bucket senza l'ACL predefinita `bucket-owner-full-control`, l'object writer mantiene il pieno controllo degli accessi. In qualità di proprietario del bucket, è possibile implementare una policy del bucket che consenta la scrittura solo se si specifica l'ACL predefinita `bucket-owner-full-control`.

**Nota**  
Se hai ACLs disabilitato l'impostazione impostata con il proprietario del bucket, tu, in qualità di proprietario del bucket, possiedi automaticamente e hai il pieno controllo su tutti gli oggetti nel tuo bucket. Non è necessario utilizzare questa sezione per aggiornare la policy del bucket per applicare la proprietà degli oggetti per il proprietario del bucket.

La seguente policy del bucket specifica che l'account *`111122223333`* può caricare oggetti *`amzn-s3-demo-bucket`* solo quando l'ACL dell'oggetto è impostata su `bucket-owner-full-control`. Assicurati di sostituire *`111122223333`* con un account reale e *`amzn-s3-demo-bucket`* con il nome del tuo bucket.

------
#### [ 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"
            }
         }
      }
   ]
}
```

------

Di seguito è riportata un'operazione di copia di esempio che include l'ACL `bucket-owner-full-control` predefinito utilizzando AWS Command Line Interface (AWS CLI).

```
aws s3 cp file.txt s3://amzn-s3-demo-bucket --acl bucket-owner-full-control
```

Dopo che la policy del bucket è diventata efficace, se il client non include l'ACL predefinita `bucket-owner-full-control`, l'operazione non riuscirà e l'uploader riceverà il seguente errore: 

Si è verificato un errore (AccessDenied) durante la chiamata dell' PutObject operazione: Accesso negato.

**Nota**  
Se i client hanno bisogno di accedere agli oggetti dopo il caricamento, sarà necessario concedere autorizzazioni aggiuntive per l'account di caricamento. Per informazioni sulla concessione agli account dell'accesso alle risorse, consulta la sezione [Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3](example-walkthroughs-managing-access.md).

# Risoluzione dei problemi
<a name="object-ownership-error-responses"></a>

Quando applichi l'impostazione imposta del proprietario del bucket per S3 Object Ownership, le liste di controllo degli accessi (ACLs) sono disabilitate e tu, in qualità di proprietario del bucket, possiedi automaticamente tutti gli oggetti nel tuo bucket. ACLs non influiscono più sulle autorizzazioni per gli oggetti nel bucket. Puoi utilizzare le policy per concedere autorizzazioni. Tutte le richieste `PUT` S3 devono specificare l'ACL predefinita `bucket-owner-full-control` o non specificare una ACL; in caso contrario non andranno a buon fine. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

Se viene specificato un'ACL non valida o le autorizzazioni ACL del bucket garantiscono l'accesso al di fuori del tuo Account AWS, potrebbero essere visualizzate le seguenti risposte di errore.

## AccessControlListNotSupported
<a name="object-ownership-error-responses-acl-not-supported"></a>

Dopo aver applicato l'impostazione forzata del proprietario del Bucket per la proprietà degli oggetti, sono disabilitati. ACLs Le richieste di impostazione ACLs o aggiornamento hanno ACLs esito negativo e restituiscono il codice di AccessControlListNotSupportederrore. `400` Le richieste di lettura ACLs sono ancora supportate. Le richieste di lettura restituiscono ACLs sempre una risposta che mostra il pieno controllo del proprietario del bucket. Nelle `PUT` operazioni, è necessario specificare il controllo completo del proprietario del bucket ACLs o non specificare un ACL. Altrimenti, le tue operazioni `PUT` falliranno. 

Il `put-object` AWS CLI comando di esempio seguente include l'`public-read`ACL predefinito. 

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key object-key-name --body doc-example-body --acl public-read
```

Se il bucket utilizza l'impostazione forzata del proprietario del bucket per disabilitare ACLs, questa operazione ha esito negativo e l'uploader riceve il seguente messaggio di errore:

Si è verificato un errore (AccessControlListNotSupported) durante la chiamata dell'PutObject operazione: il bucket non lo consente ACLs

## InvalidBucketAclWithObjectOwnership
<a name="object-ownership-error-responses-invalid-acl"></a>

Se desideri disattivare l'impostazione forzata del proprietario del bucket ACLs, l'ACL del bucket deve dare il pieno controllo solo al proprietario del bucket. L'ACL del bucket non può consentire l'accesso a un gruppo esterno o a qualsiasi altro gruppo. Account AWS Ad esempio, se la tua `CreateBucket` richiesta imposta Bucket owner enforced e specifica un bucket ACL che fornisce l'accesso a un bucket ACL che fornisce l'accesso a un file esterno Account AWS, la richiesta ha esito negativo e restituisce il codice di errore. `400` InvalidBucketAclWithObjectOwnership Allo stesso modo, se la tua richiesta `PutBucketOwnershipControls` imposta il proprietario del bucket applicato su un bucket con un ACL di bucket che concede autorizzazioni ad altri, la richiesta avrà esito negativo.

**Example : l'ACL del bucket esistente concede l'accesso pubblico in lettura**  
Ad esempio, se un ACL bucket esistente concede l'accesso pubblico in lettura, non potrai applicare l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto finché queste autorizzazioni ACL non vengono migrate a una policy del bucket e l'ACL bucket non viene ripristinata sull'ACL privata di default. Per ulteriori informazioni, consulta [Prerequisiti per la disabilitazione ACLs](object-ownership-migrating-acls-prerequisites.md).  
Questo esempio di ACL di bucket concede l'accesso pubblico in lettura:  

```
{
    "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"
        }
    ]
}
```
Il `put-bucket-ownership-controls` AWS CLI comando di esempio seguente applica l'impostazione Bucket owner enforced per Object Ownership:  

```
aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
```
Poiché l'ACL del bucket consente l'accesso pubblico in lettura, la richiesta sarà respinta e restituirà il seguente codice di errore:  
Si è verificato un errore (InvalidBucketAclWithObjectOwnership) durante la chiamata dell' PutBucketOwnershipControls operazione: l'impostazione di Bucket not have ACLs set with ObjectOwnership BucketOwnerEnforced 