Configura l'autenticazione dello strumento con AWS - 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à.

Configura l'autenticazione dello strumento con AWS

È necessario stabilire in che modo il codice si autentica AWS durante lo sviluppo con. Servizi AWS Esistono diversi modi in cui è possibile configurare l'accesso programmatico alle AWS risorse, a seconda dell'ambiente e dell' AWS accesso a disposizione.

Per visualizzare i vari metodi di autenticazione per Tools for PowerShell, consulta Autenticazione e accesso nella Guida di riferimento agli AWS SDK e agli 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à AWS IAM Identity Center 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:

Abilitazione e configurazione di IAM Identity Center

Per utilizzarlo AWS IAM Identity Center, deve prima essere abilitato e configurato. Per maggiori dettagli su come eseguire questa operazione PowerShell, consulta la Fase 1 dell'argomento relativo all'autenticazione di IAM Identity Center nella Guida di riferimento agli AWS SDK e agli 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 gli strumenti per PowerShell utilizzare IAM Identity Center.

Nota

A partire dalla versione 4.1.538 di Tools for PowerShell, il metodo consigliato per configurare le credenziali SSO e avviare una sessione del portale di AWS accesso consiste nell'utilizzare i Invoke-AWSSSOLogincmdlet Initialize-AWSSSOConfigurationand, come descritto in questo argomento. Se non si ha accesso a quella versione degli strumenti per PowerShell (o successiva) o non è possibile utilizzare tali cmdlet, è comunque possibile eseguire queste attività utilizzando il. AWS CLI Per scoprire come, vedi. Usa il AWS CLI per accedere al portale

La procedura seguente aggiorna il AWS config file condiviso con le informazioni SSO che Tools for PowerShell utilizza per ottenere credenziali temporanee. Come conseguenza di questa procedura, viene avviata anche una sessione del portale di AWS accesso. Se il config file condiviso contiene già informazioni SSO e desideri semplicemente sapere come avviare una sessione del portale di accesso utilizzando gli Strumenti per PowerShell, consulta la sezione successiva di questo argomento,Avviare una sessione del portale di AWS accesso.

  1. Se non l'hai ancora fatto, apri PowerShell e installa il file appropriato per AWS Tools for PowerShell il tuo sistema operativo e ambiente, inclusi i cmdlet comuni. Per informazioni su come eseguire questa attività, consultare Installazione di AWS Tools for PowerShell.

    Ad esempio, se installi la versione modulare di Tools for PowerShell on Windows, molto probabilmente eseguirai comandi simili ai seguenti:

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. Esegui il comando seguente. Sostituisci i valori delle proprietà di esempio con i valori della configurazione di IAM Identity Center. Per informazioni su queste proprietà e su come trovarle, consulta le impostazioni del provider di credenziali IAM Identity Center nella Guida di riferimento agli AWS SDK e agli strumenti.

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    In alternativa, è possibile utilizzare semplicemente il cmdlet da solo e la finestra Initialize-AWSSSOConfiguration Tools for PowerShell richiede i valori delle proprietà.

    Considerazioni per determinati valori di proprietà:

    • Se hai semplicemente seguito le istruzioni per abilitare e configurare IAM Identity Center, il valore per -RoleName potrebbe esserePowerUserAccess. Ma se hai creato un set di autorizzazioni IAM Identity Center appositamente per PowerShell il lavoro, utilizzalo invece.

    • Assicurati di utilizzare il Regione AWS punto in cui hai configurato IAM Identity Center.

  3. A questo punto, il AWS config file condiviso contiene un profilo chiamato my-sso-profile con un set di valori di configurazione a cui è possibile fare riferimento negli Strumenti per PowerShell. 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 .

    Tools for PowerShell utilizza il provider di token SSO del profilo per acquisire le credenziali prima di inviare richieste a. AWS Il sso_role_name valore, che è un ruolo IAM connesso a un set di autorizzazioni IAM Identity Center, dovrebbe consentire l'accesso ai dati Servizi AWS utilizzati nell'applicazione.

    L'esempio seguente mostra il profilo che è stato creato utilizzando il comando mostrato sopra. Alcuni valori delle proprietà e il relativo ordine potrebbero essere diversi nel profilo attuale. La sso-session proprietà del profilo si riferisce alla sezione denominatamy-sso-session, che contiene le impostazioni per avviare una sessione del portale di AWS accesso.

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. Se hai già una sessione attiva del portale di AWS accesso, la sezione Strumenti ti PowerShell informa che hai già effettuato l'accesso.

    In caso contrario, la sezione Strumenti PowerShell tenta di aprire automaticamente la pagina di autorizzazione SSO nel browser Web predefinito. Segui le istruzioni del tuo browser, che potrebbero includere un codice di autorizzazione SSO, nome utente e password e l'autorizzazione ad accedere agli AWS IAM Identity Center account e ai set di autorizzazioni.

    Gli strumenti per PowerShell informarti che l'accesso SSO è avvenuto con successo.

Avviare una sessione del portale di AWS accesso

Prima di eseguire i comandi di accesso Servizi AWS, è necessaria una sessione attiva del portale di AWS accesso in modo che Tools for PowerShell possa utilizzare l'autenticazione IAM Identity Center per risolvere le credenziali. Per accedere al portale di AWS accesso, esegui il seguente comando in PowerShell, -ProfileName my-sso-profile dov'è il nome del profilo che è stato creato nel config file condiviso quando hai seguito la procedura nella sezione precedente di questo argomento.

Invoke-AWSSSOLogin -ProfileName my-sso-profile

Se hai già una sessione attiva del portale di AWS accesso, il menu Strumenti ti PowerShell informa che hai già effettuato l'accesso.

In caso contrario, la sezione Strumenti PowerShell tenta di aprire automaticamente la pagina di autorizzazione SSO nel browser Web predefinito. Segui le istruzioni del tuo browser, che potrebbero includere un codice di autorizzazione SSO, nome utente e password e l'autorizzazione ad accedere agli AWS IAM Identity Center account e ai set di autorizzazioni.

Gli strumenti per PowerShell informarti che l'accesso SSO è avvenuto con successo.

Per verificare se hai già una sessione attiva, esegui il comando seguente dopo aver installato o importato il AWS.Tools.SecurityToken modulo, se necessario.

Get-STSCallerIdentity -ProfileName my-sso-profile

La risposta al Get-STSCallerIdentity cmdlet riporta l'account IAM Identity Center e il set di autorizzazioni configurati nel file condiviso. config

Esempio

Di seguito è riportato un esempio di come utilizzare IAM Identity Center con gli strumenti per. PowerShell Si presume quanto segue:

  • Hai abilitato IAM Identity Center e lo hai configurato come descritto in questo argomento. Le proprietà SSO si trovano nel my-sso-profile profilo, che è stato configurato in precedenza in questo argomento.

  • Quando accedi tramite i Invoke-AWSSSOLogin cmdlet Initialize-AWSSSOConfiguration or, l'utente dispone almeno delle autorizzazioni di sola lettura per Amazon S3.

  • Alcuni bucket S3 sono disponibili per la visualizzazione da parte dell'utente.

Installa o importa il AWS.Tools.S3 modulo secondo necessità, quindi utilizza il PowerShell comando seguente per visualizzare un elenco dei bucket S3.

Get-S3Bucket -ProfileName my-sso-profile

Informazioni aggiuntive

  • Per ulteriori opzioni sull'autenticazione per gli Strumenti per PowerShell, come l'uso di profili e variabili di ambiente, consulta il capitolo sulla configurazione nella Guida di riferimento agli AWS SDK e agli strumenti.

  • Alcuni comandi richiedono la specificazione di una AWS regione. Esistono diversi modi per farlo, tra cui l'opzione del -Region cmdlet, il [default] profilo e la variabile di AWS_REGION ambiente. Per ulteriori informazioni, consulta Specificare AWS le regioni questa guida e l'AWS area geografica nella Guida di riferimento agli AWS SDK e agli 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 Temporary Security Credentials 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 .