Credenziali condivise negli AWS Tools for PowerShell - AWS Tools for PowerShell

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

Credenziali condivise negli AWS Tools for PowerShell

I Tools for Windows PowerShell supportano l'utilizzo del file delle credenziali AWS condivise in modo analogo all'AWS CLI e ad altri SDK AWS. I Tools for Windows PowerShell supportano ora la lettura e la scrittura dei profili delle credenziali basic, session e assume role sia nel file delle credenziali .NET che nel file delle credenziali AWS condivise. Questa funzionalità è abilitata da un nuovo namespace Amazon.Runtime.CredentialManagement.

avvertimento

Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l'autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come AWS IAM Identity Center.

Nota

Le informazioni contenute in questo argomento riguardano le circostanze in cui è necessario ottenere e gestire manualmente le credenziali a breve o lungo termine. Per ulteriori informazioni sulle credenziali a breve e lungo termine, consulta l'argomento relativo agli altri modi di autenticazione disponibili nella Guida di riferimento per SDK e strumenti AWS.

Per le best practice relative alla sicurezza, usa AWS IAM Identity Center, come descritto in Configurazione dell'autenticazione degli strumenti.

I nuovi tipi di profilo e l'accesso al file delle credenziali AWS condiviso sono supportati dai seguenti parametri che sono stati aggiunti ai cmdlet relativi alle credenziali, Initialize-AWSDefaultConfiguration, New-AWSCredential e Set-AWSCredential. Nei cmdlet del servizio, puoi fare riferimento ai nuovi profili aggiungendo il parametro comune -ProfileName.

Utilizzo di un ruolo IAM con gli AWS Tools for PowerShell

Il file delle credenziali AWS condiviso consente ulteriori tipi di accesso. Ad esempio, puoi accedere alle tue risorse AWS utilizzando un ruolo IAM invece delle credenziali a lungo termine di un utente IAM. A tale scopo, devi disporre di un profilo standard con autorizzazioni per assumere il ruolo. Quando indichi a AWS Tools for PowerShell di utilizzare un profilo in cui è specificato un ruolo, AWS Tools for PowerShell cerca il profilo identificato dal parametro SourceProfile. Tali credenziali vengono utilizzate per richiedere credenziali temporanee per il ruolo specificato dal parametro RoleArn. Puoi richiedere l'utilizzo di un dispositivo di autenticazione a più fattori (Multi-Factor Authentication (MFA)) o di un codice ExternalId quando terze parti assumono il ruolo.

Nome parametro Descrizione

ExternalId

L'ID esterno definito dall'utente da utilizzare quando assume un ruolo, se richiesto dal ruolo. In genere, è necessario solo quando deleghi l'accesso al tuo account a terze parti. Le terze parti devono includere ExternalId come parametro quando assumono il ruolo assegnato. Per ulteriori informazioni, consulta la sezione Come utilizzare un ID esterno quando si concede l'accesso alle proprie risorse AWS a una terza parte nella Guida per l'utente IAM.

MfaSerial

Il numero seriale MFA da utilizzare quando assume un ruolo, se richiesto dal ruolo. Per ulteriori informazioni, consulta la sezione Utilizzo dell'autenticazione a più fattori (MFA) in AWS nella Guida per l'utente IAM.

RoleArn

L'ARN del ruolo da assumere per assumere le credenziali di ruolo. Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai ruoli IAM nella Guida per l'utente IAM.

SourceProfile

Il nome del profilo di origine da utilizzare assumendo credenziali di ruolo. Le credenziali trovate in questo profilo vengono utilizzate per assumere il ruolo specificato dal parametro RoleArn.

Configurazione dei profili per assumere un ruolo

Di seguito è riportato un esempio che mostra come configurare un profilo fonte che consente di assumere direttamente un ruolo IAM.

Il primo comando crea un profilo di origine a cui fa riferimento il profilo del ruolo. Il secondo comando crea il profilo che quel ruolo assumerà. Il terzo comando mostra le credenziali per il profilo del ruolo.

PS > Set-AWSCredential -StoreAs my_source_profile -AccessKey access_key_id -SecretKey secret_key PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn:aws:iam::123456789012:role/role-i-want-to-assume PS > Get-AWSCredential -ProfileName my_role_profile SourceCredentials RoleArn RoleSessionName Options ----------------- ------- --------------- ------- Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions

Per utilizzare questo profilo del ruolo con i cmdlet del servizio Tools for Windows PowerShell, aggiungi il parametro comune -ProfileName al comando per fare riferimento al profilo del ruolo. Nell'esempio seguente viene utilizzato il profilo del ruolo definito nell'esempio precedente per accedere al cmdlet Get-S3Bucket. AWS Tools for PowerShell cerca le credenziali in my_source_profile, utilizza tali credenziali per chiamare AssumeRole per conto dell'utente e quindi utilizza tali credenziali del ruolo temporanee per chiamare Get-S3Bucket.

PS > Get-S3Bucket -ProfileName my_role_profile CreationDate BucketName ------------ ---------- 2/27/2017 8:57:53 AM 4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1 2/27/2017 10:44:37 AM 2091a504-66a9-4d69-8981-aaef812a02c3-bucket2

Utilizzo dei tipi di credenziali del profilo

Per impostare il tipo di credenziali del profilo, comprendere quali parametri forniscono le informazioni necessarie per il tipo di profilo.

Tipo di credenziali Parametri da utilizzare

Base

Queste sono le credenziali a lungo termine per un utente IAM

-AccessKey

-SecretKey

Sessione:

Queste sono le credenziali a breve termine per un ruolo IAM che puoi recuperare manualmente, ad esempio chiamando direttamente il cmdlet Use-STSRole.

-AccessKey

-SecretKey

-SessionToken

Ruolo:

Queste sono credenziali a breve termine per un ruolo IAM che gli AWS Tools for PowerShell recuperano per tuo conto.

-SourceProfile

-RoleArn

facoltativo: -ExternalId

facoltativo: -MfaSerial

Il parametro comune ProfilesLocation

È possibile utilizzare -ProfileLocation per scrivere nel file delle credenziali condivise e istruire un cmdlet per leggere il file delle credenziali. Aggiungendo il parametro -ProfileLocation è possibile controllare se i Tools for Windows PowerShell utilizzano il file delle credenziali condivise o il file delle credenziali .NET. La tabella seguente descrive come funziona il parametro nei Tools for Windows PowerShell.

Valore posizione profilo Comportamento della risoluzione del profilo

null (non impostato) o vuoto

In primo luogo, cerca il file delle credenziali .NET per un profilo con il nome specificato. Se non è possibile trovare il profilo, cerca il file delle credenziali AWS condiviso in (user's home directory)\.aws\credentials.

Il percorso di un file nel formato di file delle credenziali AWS condiviso

Cerca solo un profilo con uno specifico nome nel file specificato.

Salvare le credenziali in un file delle credenziali

Per scrivere e salvare le credenziali in uno dei due file delle credenziali, eseguire il cmdlet Set-AWSCredential. Gli esempi seguenti mostrano come fare: Il primo comando utilizza Set-AWSCredential con -ProfileLocation per aggiungere chiavi segrete e di accesso a un profilo specificato dal parametro -ProfileName. Nella seconda riga, eseguire il cmdlet Get-Content per visualizzare il contenuto del file delle credenziali.

PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2 PS > Get-Content C:\Users\auser\.aws\credentials aws_access_key_id=access_key2 aws_secret_access_key=secret_key2

Visualizzazione dei profili delle credenziali

Esegui il cmdlet Get-AWSCredential e aggiungi il parametro -ListProfileDetail per restituire i percorsi, i tipi di file delle credenziali e un elenco di nomi di profilo.

PS > Get-AWSCredential -ListProfileDetail ProfileName StoreTypeName ProfileLocation ----------- ------------- --------------- source_profile NetSDKCredentialsFile assume_role_profile NetSDKCredentialsFile basic_profile SharedCredentialsFile C:\Users\auser\.aws\credentials

Rimozione dei profili delle credenziali

Per rimuovere i profili delle credenziali, esegui il nuovo cmdlet Remove-AWSCredentialProfile. Clear-AWSCredential è obsoleto, ma ancora disponibile per la compatibilità con le versioni precedenti.

Note importanti

Solo Initialize-AWSDefaultConfiguration, New-AWSCredential e Set-AWSCredential supportano i parametri per i profili dei ruoli. Non puoi specificare i parametri del ruolo direttamente in un comando come Get-S3Bucket -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name. Ciò non funziona perché i cmdlet di servizio non supportano direttamente i parametri SourceProfile o RoleArn. Devi invece archiviare tali parametri in un profilo, quindi chiamare il comando con il parametro -ProfileName.