La versione 4 (V4) di è stata rilasciata! AWS SDK per .NET
Per informazioni sulle modifiche sostanziali e sulla migrazione delle applicazioni, consulta l'argomento sulla migrazione.
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à.
SDK Store (solo Windows)
(Assicurati di leggere gli avvisi e le linee guida importanti.)
Su Windows, l'SDK Store è un altro posto dove creare profili e archiviare credenziali crittografate per l'applicazione. AWS SDK per .NET Si trova in. %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json Puoi utilizzare l'SDK Store durante lo sviluppo come alternativa al file delle AWS
credenziali condivise.
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 Centro identità AWS IAM.
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 migliori pratiche di sicurezza, utilizza Centro identità AWS IAM, come descritto in. Autenticazione con AWS
Informazioni generali
L'SDK Store offre i seguenti vantaggi:
-
Le credenziali nell'SDK Store sono crittografate e l'SDK Store si trova nella home directory dell'utente. Ciò limita il rischio di esporre accidentalmente le proprie credenziali.
-
L'SDK Store fornisce anche le credenziali per e. AWS Tools for Windows PowerShell AWS Toolkit for Visual Studio
I profili SDK Store sono specifici per un particolare utente su un determinato host. Non puoi copiarli in altri host o per altri utenti. Ciò significa che non puoi riutilizzare i profili SDK Store presenti sul tuo computer di sviluppo per altri host o macchine di sviluppo. Significa anche che non è possibile utilizzare i profili SDK Store nelle applicazioni di produzione.
Puoi gestire i profili nell'SDK Store nei seguenti modi:
-
Utilizza l'interfaccia utente grafica (GUI) in. AWS Toolkit for Visual Studio
-
Utilizza il Amazon.Runtime.CredentialManagement namespace dell' AWS SDK per .NET API, come illustrato più avanti in questo argomento.
-
Utilizza i comandi di AWS Tools for Windows PowerShell; ad esempio, e
Set-AWSCredential.Remove-AWSCredentialProfile
Esempi di gestione dei profili
Gli esempi seguenti mostrano come creare e aggiornare un profilo in SDK Store a livello di programmazione.
Crea un profilo a livello di programmazione
Questo esempio mostra come creare un profilo e salvarlo nell'SDK Store a livello di programmazione. Utilizza le seguenti classi dello spazio dei Amazon.Runtime.CredentialManagement nomi:, e. CredentialProfileOptions CredentialProfile NetSDKCredentialsFile
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 netSdkStore = new NetSDKCredentialsFile(); netSdkStore.RegisterProfile(profile); }
avvertimento
Codice come questo in genere non dovrebbe essere presente nell'applicazione. Se è incluso nell'applicazione, prendete le dovute precauzioni per assicurarvi che le chiavi in chiaro non possano essere viste nel codice, sulla rete o persino nella memoria del computer.
Di seguito è riportato il profilo creato da questo esempio.
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", }
Aggiornare un profilo esistente a livello di programmazione
Questo esempio mostra come aggiornare a livello di codice il profilo creato in precedenza. Utilizza le seguenti classi dello Amazon.Runtime.CredentialManagement spazio dei nomi: e. CredentialProfile NetSDKCredentialsFile Utilizza anche la RegionEndpoint classe del namespace Amazon.
using Amazon.Runtime.CredentialManagement; ... AddRegion("my_new_profile", RegionEndpoint.USWest2); ... void AddRegion(string profileName, RegionEndpoint region) { var netSdkStore = new NetSDKCredentialsFile(); CredentialProfile profile; if (netSdkStore.TryGetProfile(profileName, out profile)) { profile.Region = region; netSdkStore.RegisterProfile(profile); } }
Di seguito è riportato il profilo aggiornato.
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", "Region" : "us-west-2" }
Nota
È inoltre possibile impostare la AWS regione in altre località e utilizzando altri metodi. Per ulteriori informazioni, consulta Impostazione AWS della regione per AWS SDK per .NET.
In che modo l'applicazione utilizza i profili dell'SDK Store
-
Risoluzione automatica: su Windows, l'SDK controlla innanzitutto l'SDK Store durante la risoluzione delle credenziali basate sul profilo. Imposta un nome di profilo tramite la variabile di
AWS_PROFILEambienteAWSConfigs.AWSProfileNameo fai affidamento sul profilo.[default]Per ulteriori informazioni, consulta Risoluzione di credenziali e profili. -
Accesso esplicito tramite codice:
CredentialProfileStoreChainda utilizzare per caricare un profilo e passarne le credenziali a un client di servizio. Per ulteriori informazioni, consulta Ottieni le credenziali dall'SDK Store o dal file delle credenziali condivise AWS.