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 |
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
-AccessKeyaccess_key_id
-SecretKeysecret_key
PS >
Set-AWSCredential -StoreAs
my_role_profile
-SourceProfilemy_source_profile
-RoleArnarn: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 |
|
Sessione: Queste sono le credenziali a breve termine per un ruolo IAM che puoi recuperare manualmente, ad esempio chiamando direttamente il cmdlet Use-STSRole. |
|
Ruolo: Queste sono credenziali a breve termine per un ruolo IAM che gli AWS Tools for PowerShell recuperano per tuo conto. |
facoltativo: facoltativo: |
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 |
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
PS >
Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2PS >
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
. Ciò non funziona perché i cmdlet di servizio non supportano direttamente i parametri -SourceProfile
source_profile_name -RoleArn
arn:aws:iam::999999999999:role/role_name
SourceProfile
o RoleArn
. Devi invece archiviare tali parametri in un profilo, quindi chiamare il comando con il parametro -ProfileName
.