Utilizzo del file di AWS credenziali condivise - AWS SDK for .NET

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

Utilizzo del file di AWS credenziali condivise

(Assicurati di leggere gli avvisi e le linee guida importanti per le credenziali.)

Un modo per fornire le credenziali per le applicazioni consiste nel creare profili nel file delle AWS credenziali condivise e quindi archiviare le credenziali in tali profili. Questo file può essere utilizzato dagli altri SDK. AWS Può essere utilizzato anche da AWS CLIAWS Tools for Windows PowerShell, the e dai AWS toolkit per Visual Studio e VS JetBrainsCode.

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 Configura l'autenticazione SDK.

Informazioni generali

Per impostazione predefinita, il file AWS delle credenziali condivise si trova nella .aws directory all'interno della home directory ed è denominato, credentials ovvero ~/.aws/credentials (Linux o macOS) %USERPROFILE%\.aws\credentials o (Windows). Per informazioni sulle posizioni alternative, consulta Posizione dei file condivisi nella Guida di riferimento agli AWSSDK e agli strumenti. Consultare anche Accesso a credenziali e profili in un'applicazione.

Il file delle AWS credenziali condivise è un file di testo semplice e segue un determinato formato. Per informazioni sul formato dei file di AWS credenziali, consulta Formato del file delle credenziali nella Guida di riferimento agli AWSSDK e agli strumenti.

Puoi gestire i profili nel file delle AWS credenziali condivise in diversi modi.

Esempi di gestione dei profili

Le seguenti sezioni mostrano esempi di profili nel file di AWS credenziali condivise. Alcuni esempi mostrano il risultato, che può essere ottenuto tramite uno qualsiasi dei metodi di gestione delle credenziali descritti in precedenza. Altri esempi mostrano come utilizzare un metodo particolare.

Il profilo predefinito

Il file AWS delle credenziali condivise avrà quasi sempre un profilo denominato default. È qui AWS SDK for .NET che cerca le credenziali se non sono definiti altri profili.

Il [default] profilo ha in genere un aspetto simile al seguente.

[default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Crea un profilo a livello di codice

Questo esempio mostra come creare un profilo e salvarlo nel file delle AWS credenziali condivise a livello di codice. Utilizza le seguenti classi di Amazon.Runtime. CredentialManagementnamespace:, e. CredentialProfileOptionsCredentialProfileSharedCredentialsFile

using Amazon.Runtime.CredentialManagement; ... // Do not include credentials in your code. WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey); ... void WriteProfile(string profileName, string keyId, string secret) { Console.WriteLine($"Create the [{profileName}] profile..."); var options = new CredentialProfileOptions { AccessKey = keyId, SecretKey = secret }; var profile = new CredentialProfile(profileName, options); var sharedFile = new SharedCredentialsFile(); sharedFile.RegisterProfile(profile); }
avvertimento

Un codice come questo in genere non dovrebbe essere presente nell'applicazione. Se lo includete nella vostra applicazione, prendete le precauzioni appropriate per assicurarvi che le chiavi in chiaro non siano visibili nel codice, sulla rete e nemmeno nella memoria del computer.

Di seguito è riportato il profilo creato da questo esempio.

[my_new_profile] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Aggiorna un profilo esistente a livello di codice

Questo esempio mostra come aggiornare a livello di codice il profilo creato in precedenza. Utilizza le seguenti classi di Amazon.Runtime. CredentialManagementnamespace: e. CredentialProfileSharedCredentialsFile Utilizza anche la RegionEndpointclasse dello spazio dei nomi Amazon.

using Amazon.Runtime.CredentialManagement; ... AddRegion("my_new_profile", RegionEndpoint.USWest2); ... void AddRegion(string profileName, RegionEndpoint region) { var sharedFile = new SharedCredentialsFile(); CredentialProfile profile; if (sharedFile.TryGetProfile(profileName, out profile)) { profile.Region = region; sharedFile.RegisterProfile(profile); } }

Di seguito è riportato il profilo aggiornato.

[my_new_profile] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY region=us-west-2
Nota

È inoltre possibile impostare la AWS regione in altre posizioni e utilizzando altri metodi. Per ulteriori informazioni, consulta Configura la AWS regione.