

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

# 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*.