

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

# Passare a un ruolo IAM (Tools for Windows PowerShell)
<a name="id_roles_use_switch-role-twp"></a>

Un *ruolo* specifica un set di autorizzazioni da utilizzare per accedere alle risorse AWS necessarie. In questo senso, è simile a un [utente in AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) (IAM). Quando effettui l'accesso come utente, ottieni uno specifico set di autorizzazioni. Tuttavia, non accedi a un ruolo, ma una volta effettuato l'accesso puoi passare a un ruolo. Ciò consente di accantonare temporaneamente le autorizzazioni utente originali e usufruire invece delle autorizzazioni assegnate al ruolo. Il ruolo può trovarsi nel tuo account o in qualsiasi altro Account AWS. Per ulteriori informazioni sui ruoli e i relativi vantaggi e su come crearli e configurarli, consulta [Ruoli IAM](id_roles.md) e [Creazione di ruoli IAM](id_roles_create.md).

**Importante**  
Le autorizzazioni dell'utente IAM e di qualsiasi ruolo a cui si passa non sono cumulative. Un solo set di autorizzazioni è attivo alla volta. Quando passi a un ruolo, lasci temporaneamente le autorizzazioni utente e utilizzi le autorizzazioni assegnate al ruolo. Quando lasci il ruolo, le autorizzazioni utente vengono automaticamente ripristinate.

Questa sezione descrive come cambiare ruoli quando utilizzi la riga di comando con gli AWS Tools for Windows PowerShell.

Immagina di avere un account nell'ambiente di sviluppo e di dover occasionalmente lavorare con l'ambiente di produzione dalla riga di comando utilizzando gli [strumenti per Windows PowerShell](https://aws.amazon.com/powershell/). Disponi già di un set di credenziali con chiave di accesso. Può trattarsi di una coppia di chiavi di accesso assegnata all'utente IAM standard. In alternativa, se hai effettuato l’accesso come principale federato SAML o OIDC, può trattarsi della coppia di chiavi di accesso per il ruolo inizialmente assegnato. Puoi utilizzare queste credenziali per eseguire il cmdlet `Use-STSRole` che passa l'ARN di un nuovo ruolo come parametro. Il comando restituisce le credenziali di sicurezza temporanee per il ruolo richiesto. È quindi possibile utilizzare tali credenziali nei PowerShell comandi successivi con le autorizzazioni del ruolo per accedere alle risorse in produzione. Mentre utilizzi il ruolo, non puoi utilizzare le autorizzazioni utente dell'account di sviluppo perché è attivo un solo set di autorizzazioni alla volta.

**Nota**  
Per motivi di sicurezza, gli amministratori possono [esaminare AWS CloudTrail i registri](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds) per scoprire chi ha eseguito un'azione in. AWS L'amministratore potrebbe richiedere di specificare una identità di origine o un nome della sessione del ruolo quando si assume il ruolo. Per ulteriori informazioni, consultare [`sts:SourceIdentity`](reference_policies_iam-condition-keys.md#ck_sourceidentity) e [`sts:RoleSessionName`](reference_policies_iam-condition-keys.md#ck_rolesessionname).

Tutte le chiavi di accesso e i token sono solo esempi e non possono essere utilizzati come mostrato. Sostituiscili con i valori appropriati del tuo ambiente reale.

**Per passare a un ruolo (Strumenti per Windows) PowerShell**

1. Apri un PowerShell prompt dei comandi e configura il profilo predefinito per utilizzare la chiave di accesso del tuo attuale utente IAM o del tuo ruolo federato. Se in precedenza hai utilizzato gli Strumenti per Windows PowerShell, probabilmente l'operazione è già stata eseguita. Tieni presente che è possibile cambiare ruolo solo se hai effettuato l'accesso come utente IAM e non come Utente root dell'account AWS.

   ```
   PS C:\> Set-AWSCredentials -AccessKey {{AKIAIOSFODNN7EXAMPLE}} -SecretKey {{wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY}} -StoreAs {{MyMainUserProfile}}
   PS C:\> Initialize-AWSDefaults -ProfileName {{MyMainUserProfile}} -Region {{us-east-2}}
   ```

   Per ulteriori informazioni, vedere [Utilizzo AWS delle credenziali](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html) nella *Guida per l'AWS Strumenti per PowerShell utente*.

1. Per recuperare le credenziali per il nuovo ruolo, eseguire il comando seguente per passare al ruolo `{{RoleName}}` nell'account 123456789012. L'ARN del ruolo si ottiene dall'amministratore dell'account che ha creato il ruolo. Il comando richiede di fornire anche un nome di sessione. È possibile selezionare qualsiasi testo. Il comando seguente richiede le credenziali e quindi acquisisce l'oggetto proprietà `Credentials` dall'oggetto risultati restituiti e lo memorizza nella variabile `$Creds`.

   ```
   PS C:\> $Creds = (Use-STSRole -RoleArn "arn:aws:iam::{{123456789012}}:role/{{RoleName}}" -RoleSessionName "{{MyRoleSessionName}}").Credentials
   ```

   `$Creds` è un oggetto che ora contiene gli elementi `AccessKeyId`, `SecretAccessKey` e `SessionToken` necessari nelle fasi successive. I seguenti comandi di esempio illustrano valori tipici:

   ```
   PS C:\> $Creds.AccessKeyId
   AKIAIOSFODNN7EXAMPLE
   
   PS C:\> $Creds.SecretAccessKey
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   
   PS C:\> $Creds.SessionToken
   AQoDYXdzEGcaEXAMPLE2gsYULo+Im5ZEXAMPLEeYjs1M2FUIgIJx9tQqNMBEXAMPLECvSRyh0FW7jEXAMPLEW+vE/7s1HRp
   XviG7b+qYf4nD00EXAMPLEmj4wxS04L/uZEXAMPLECihzFB5lTYLto9dyBgSDyEXAMPLE9/g7QRUhZp4bqbEXAMPLENwGPy
   Oj59pFA4lNKCIkVgkREXAMPLEjlzxQ7y52gekeVEXAMPLEDiB9ST3UuysgsKdEXAMPLE1TVastU1A0SKFEXAMPLEiywCC/C
   s8EXAMPLEpZgOs+6hz4AP4KEXAMPLERbASP+4eZScEXAMPLEsnf87eNhyDHq6ikBQ==
   
   PS C:\> $Creds.Expiration
   Thursday, June 18, 2018 2:28:31 PM
   ```

1. Per utilizzare queste credenziali per ogni successivo comando, includerle con il parametro `-Credential`. Ad esempio, il comando seguente utilizza le credenziali del ruolo e funziona solo se al ruolo viene concessa l'autorizzazione `iam:ListRoles` grazie alla quale può quindi eseguire il cmdlet `Get-IAMRoles`:

   ```
           PS C:\> get-iamroles -Credential $Creds
   ```

1. Per tornare alle credenziali originali, è sufficiente interrompere l'utilizzo del `-Credentials $Creds` parametro e consentire PowerShell il ripristino delle credenziali archiviate nel profilo predefinito.