

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

# 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 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"}
```