Passare a un IAM ruolo (Strumenti per Windows PowerShell) - AWS Identity and Access Management

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 IAM ruolo (Strumenti per Windows PowerShell)

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 (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 IAMruoli e IAMcreazione di ruoli.

Importante

Le autorizzazioni dell'IAMutente e i ruoli a cui si passa non sono cumulativi. 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.

Immaginate 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 Disponi già di un set di credenziali con chiave di accesso. Può trattarsi di una coppia di chiavi di accesso assegnata all'IAMutente standard. In alternativa, se hai effettuato l'accesso come utente federato, può trattarsi della coppia di chiavi di accesso per il ruolo inizialmente assegnato. È possibile utilizzare queste credenziali per eseguire il Use-STSRole cmdlet che passa un nuovo ruolo come parametro. ARN 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 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, consulta sts:SourceIdentity e sts: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 IAM dell'utente corrente o del tuo ruolo federato. Se in precedenza hai utilizzato gli Strumenti per Windows PowerShell, probabilmente l'operazione è già stata eseguita. Tieni presente che puoi cambiare ruolo solo se hai effettuato l'accesso come IAM utente, 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 nella Guida per l'AWS Tools for Windows PowerShell utente.

  2. Per recuperare le credenziali per il nuovo ruolo, eseguire il comando seguente per passare al ruolo RoleName nell'account 123456789012. Il ruolo viene assegnato ARN all'amministratore dell'account che lo ha creato. 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
  3. 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
  4. Per tornare alle credenziali originali, è sufficiente smettere di utilizzare il -Credentials $Creds parametro e consentire PowerShell il ripristino delle credenziali archiviate nel profilo predefinito.