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à.
Autenticazione del AWS SDK per .NET con AWS
È necessario stabilire in che modo il codice si autentica durante lo sviluppo con AWS . Servizi AWS Esistono diversi modi per configurare l'accesso programmatico alle AWS risorse, a seconda dell'ambiente e dell' AWS accesso disponibile.
Per vedere i vari metodi di autenticazione per l'SDK, vedi Autenticazione e accesso nella Guida di riferimento per AWS SDK e strumenti.
Questo argomento presuppone che un nuovo utente si stia sviluppando localmente, non abbia ricevuto un metodo di autenticazione dal datore di lavoro e che lo utilizzerà Centro identità AWS IAM per ottenere credenziali temporanee. Se l'ambiente in uso non rientra in questi presupposti, alcune delle informazioni contenute in questo argomento potrebbero non riguardarti l'utente o potrebbero esserti già state fornite.
La configurazione di questo ambiente richiede diversi passaggi, riassunti di seguito:
Accedi utilizzando le credenziali della console
È possibile utilizzare le credenziali di accesso esistenti alla AWS Management Console per l'accesso programmatico ai servizi. AWS Dopo un flusso di autenticazione basato su browser, AWS genera credenziali temporanee che funzionano con strumenti di sviluppo locali come la AWS CLI e l'SDK per .NET v4. AWS Strumenti per PowerShell AWS
Con questo processo, puoi autenticarti utilizzando le credenziali root create durante la configurazione iniziale dell'account, un utente IAM o un'identità federata del tuo provider di identità e la AWS CLI o gestisce automaticamente le credenziali temporanee per te. AWS Strumenti per PowerShell Questo approccio migliora la sicurezza eliminando la necessità di archiviare localmente le credenziali a lungo termine. Quando si esegue il Invoke-AWSLogin cmdlet da AWS Strumenti per PowerShell o il aws login comando da AWS CLI, è possibile selezionare una delle sessioni attive della console o accedere tramite il flusso di autenticazione basato sul browser e questo genererà automaticamente credenziali temporanee. Il token di credenziale temporaneo scadrà tra 15 minuti, ma l' AWS SDK per .NET v4 aggiorna automaticamente il token quando necessario durante le richieste.
Importante
Se utilizzi le credenziali della console per l'autenticazione, l'applicazione deve fare riferimento ai seguenti NuGet pacchetti in modo che la risoluzione di Signin possa funzionare: AWS
-
AWSSDK.Signin
Il mancato riferimento a questi pacchetti comporterà un'eccezione di runtime.
Il config file apparirà così una volta effettuato l'accesso seguendo i passaggi sopra indicati per AWS Strumenti per PowerShell o AWS CLI.
[default] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1 [my-dev-profile] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1
Abilitazione e configurazione di IAM Identity Center
Per utilizzare IAM Identity Center, deve prima essere abilitato e configurato. Per vedere i dettagli su come eseguire questa operazione per l'SDK, consulta il passaggio 1 nell'argomento relativo all'autenticazione IAM Identity Center nella Guida di riferimento per AWS SDK e strumenti. In particolare, segui le istruzioni necessarie riportate nella sezione I do not have established access through IAM Identity Center (Non ho stabilito l'accesso tramite IAM Identity Center).
Configura l'SDK per utilizzare IAM Identity Center.
Le informazioni su come configurare l'SDK per utilizzare IAM Identity Center sono riportate nel passaggio 2 dell'argomento per l'autenticazione IAM Identity Center nella Guida di riferimento per AWS SDK e strumenti. Dopo aver completato questa configurazione, il sistema deve contenere i seguenti elementi:
-
La AWS CLI, che utilizzi per avviare una sessione del portale di AWS accesso prima di eseguire l'applicazione.
-
Il AWS
configfile condiviso che contiene un[default]profilo con un set di valori di configurazione a cui è possibile fare riferimento dall'SDK. Per trovare la posizione di questo file, consulta l'argomento relativo alla posizione dei file condivisi nella Guida di riferimento per SDK e strumenti AWS . AWS SDK per .NET Utilizza il provider di token SSO del profilo per acquisire le credenziali prima di inviare richieste a. AWS Il valoresso_role_name, che è un ruolo IAM connesso a un set di autorizzazioni di IAM Identity Center, dovrebbe consentire l'accesso ai Servizi AWS utilizzati nell'applicazione.Il seguente file
configdi esempio mostra un profilo predefinito impostato con il provider di token SSO. L'impostazionesso_sessiondel profilo si riferisce alla sezionesso-sessiondenominata. Lasso-sessionsezione contiene le impostazioni per avviare una sessione del portale di AWS accesso.[default] sso_session = my-sso sso_account_id =111122223333sso_role_name =SampleRoleregion = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url =https://provided-domain.awsapps.com/startsso_registration_scopes = sso:account:access
Importante
Se si utilizza Centro identità AWS IAM per l'autenticazione, l'applicazione deve fare riferimento ai seguenti NuGet pacchetti in modo che la risoluzione SSO possa funzionare:
-
AWSSDK.SSO -
AWSSDK.SSOOIDC
Il mancato riferimento a questi pacchetti comporterà un'eccezione di runtime.
Avviare un AWS accedere alla sessione del portale
Prima di eseguire un'applicazione che accede Servizi AWS, è necessaria una sessione attiva del portale di AWS accesso affinché l'SDK possa utilizzare l'autenticazione IAM Identity Center per risolvere le credenziali. A seconda della durata della sessione configurata, l'accesso alla fine scadrà e l'SDK riscontrerà un errore di autenticazione. Per accedere al portale di AWS accesso, esegui il seguente comando in. AWS CLI
aws sso login
Poiché disponi di una configurazione predefinita del profilo, non devi chiamare il comando con un'opzione --profile. Se la configurazione del provider di token SSO utilizza un profilo denominato, il comando è aws sso login --profile .named-profile
Per verificare se hai già una sessione attiva, esegui il AWS CLI comando seguente.
aws sts get-caller-identity
La risposta a questo comando dovrebbe restituire l'account IAM Identity Center e il set di autorizzazioni configurati nel file config condiviso.
Nota
Se hai già una sessione attiva del portale di AWS accesso e la stai eseguendoaws sso login, non ti verrà richiesto di fornire le credenziali.
La procedura di accesso potrebbe richiedere all'utente di consentire l' AWS CLI accesso ai dati. Nella schermata di approvazione, il nome del cliente inizia conbotocore-client-, prende il nome dabotocore, una libreria Python che utilizza. AWS CLI
Informazioni aggiuntive
-
Per ulteriori informazioni sull'utilizzo di IAM Identity Center e SSO in un ambiente di sviluppo, consulta Autenticazione unica la Autenticazione avanzata sezione. Queste informazioni includono metodi alternativi e più avanzati, oltre a tutorial che mostrano come utilizzare questi metodi.
-
Per ulteriori opzioni sull'autenticazione per l'SDK, come l'uso di profili e variabili di ambiente, consulta il capitolo sulla configurazione nella Guida di riferimento per AWS SDK e strumenti.
-
Per ulteriori informazioni sulle best practice, consulta Best practice per la sicurezza in IAM nella Guida per l'utente di IAM.
-
Per creare AWS credenziali a breve termine, consulta Credenziali di sicurezza temporanee nella IAM User Guide.
-
Per ulteriori informazioni su altri provider di credenziali, consulta l'argomento relativo ai provider di credenziali standard nella Guida di riferimento per SDK e strumenti AWS .