

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

# Accedi per lo sviluppo AWS locale utilizzando le credenziali della console
<a name="cli-configure-sign-in"></a>

È possibile utilizzare le credenziali di accesso esistenti AWS della Console di gestione 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 AWS CLI, Tools for and. AWS PowerShell AWS SDKs Questa funzionalità semplifica il processo di configurazione e gestione delle credenziali AWS CLI, soprattutto se si preferisce l'autenticazione interattiva alla gestione delle chiavi di accesso a lungo termine.

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 gestisce automaticamente le credenziali temporanee per te. Questo approccio migliora la sicurezza eliminando la necessità di archiviare le credenziali a lungo termine a livello locale.

Quando si esegue il `aws login` comando, è possibile selezionare una delle sessioni attive della console oppure accedere tramite il flusso di autenticazione basato sul browser. In questo modo verranno generate automaticamente credenziali temporanee. La CLI aggiornerà automaticamente queste credenziali per un massimo di 12 ore.

Una volta configurata, la sessione può essere utilizzata nella AWS CLI e in altri strumenti AWS SDKs .

**Topics**
+ [Prerequisiti](#cli-configure-sign-in-prerequisites)
+ [Accedi alla AWS CLI con il `aws login` comando.](#cli-configure-sign-in-login-command)
+ [Esegui un comando con il tuo profilo](#cli-configure-sign-in-with-profile)
+ [Esci dalla sessione utilizzando il comando aws logout](#cli-configure-sign-in-sign-out)
+ [Risoluzione dei problemi](#cli-configure-sign-in-troubleshooting)
+ [Risorse correlate](#cli-configure-sign-in-resources)

## Prerequisiti
<a name="cli-configure-sign-in-prerequisites"></a>
+ Installa la AWS CLI. Per ulteriori informazioni, consulta [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md). Per utilizzare il comando è richiesta una versione minima di 2.32.0. `aws login`
+ Accesso per accedere alla console di AWS gestione come utente root, utente IAM o tramite federazione con IAM. Se utilizzi IAM Identity Center, vai [Configurazione dell'autenticazione IAM Identity Center con AWS CLI](cli-configure-sso.md) invece a.
+ Assicurati che l'identità IAM disponga delle autorizzazioni appropriate. Allega la policy [SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/signin/latest/userguide/security-iam-awsmanpol.html)gestita al tuo utente, ruolo o gruppo IAM. Se accedi come utente root, non sono richieste autorizzazioni aggiuntive.

## Accedi alla AWS CLI con il `aws login` comando.
<a name="cli-configure-sign-in-login-command"></a>

Esegui il `aws login` comando per autenticarti utilizzando le credenziali AWS della console di gestione esistenti. Se non hai configurato in precedenza un profilo, ti verranno richieste ulteriori informazioni. Per accedere o configurare un profilo, procedi nel seguente modo.

1. Nel terminale che preferisci esegui il comando `aws login`.

   ```
   $ aws login
   ```

   Per accedere a un profilo denominato o crearne uno nuovo, utilizza l'`--profile`opzione.

   ```
   $ aws login --profile my-dev-profile
   ```
   + Se si tratta di un nuovo profilo o non è stata specificata alcuna AWS regione, la AWS CLI richiede di fornire una regione.

     ```
     No AWS region has been configured. The AWS region is the geographic location of 
     your AWS resources. 
     
     If you've used AWS before and already have resources in your account, tell us 
     which region they were created in. If you haven't created resources in your account 
     before, you can pick the region closest to you: 
     https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. 
     You are able to change the region in the CLI at any time with the command 
     `aws configure set region NEW_REGION`.
     AWS Region [us-east-1]:
     ```
   + Se il dispositivo che utilizza la AWS CLI non dispone di un browser, puoi utilizzare l'`--remote`opzione per fornire un URL da aprire su un dispositivo abilitato al browser.

     ```
     $ aws login --remote
     ```
**Nota**  
Puoi controllare l'accesso all'autenticazione sullo stesso dispositivo () e su più dispositivi (`aws login`). `aws login --remote` Utilizza la seguente risorsa ARNs in qualsiasi policy IAM pertinente.  
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/localhost`— Usa questo ARN per l'autenticazione sullo stesso dispositivo con. `aws login`
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/remote`— Utilizza questo ARN per l'autenticazione tra dispositivi con. `aws login --remote`

1. La AWS CLI tenta di aprire il browser predefinito per la procedura di accesso del tuo AWS account.

   ```
   Attempting to open the login page for `us-east-1` in your default browser. 
   If the browser does not open, use the following URL to complete your login:
   https://signin.us-east-1.amazonaws.com/authorize?<abbreviated>
   
   If you cannot connect to this URL, make sure that you have specified a valid region.
   ```
   + Se hai utilizzato l'`--remote`opzione, vengono visualizzate le istruzioni per avviare manualmente la procedura di accesso in base al tipo di autorizzazione che stai utilizzando. L'URL visualizzato è un URL univoco che inizia con: https://us-east-1.signin.amazonaws.com /authorize. Una volta completato l'accesso al browser, dovrai copiare e incollare il codice di autorizzazione risultante nella CLI.

     ```
     Browser will not be automatically opened.
     Please visit the following URL:
     https://{{region}}.signin.amazonaws.com/authorize?<abbreviated>
     
     Please enter the authorization code displayed in the browser:
     ```

1. Nel browser, seleziona le tue credenziali da utilizzare dall'elenco visualizzato e poi torna al tuo terminale.
   + Se il profilo che stai configurando ha una sessione di accesso precedentemente configurata che non corrisponde alla nuova sessione, la AWS CLI richiede di confermare che stai cambiando la sessione corrispondente al profilo esistente.

     ```
     Profile signin is already configured to use session arn:aws:iam::{{0123456789012}}:{{user/ReadOnly}}. 
     Do you want to overwrite it to use arn:aws:iam::{{0123456789012}}:{{user/Admin}} instead? (y/n):.
     ```

1. Un messaggio finale descrive la configurazione del profilo completata. Puoi ora utilizzare questo profilo per richiedere le credenziali. Utilizza il comando `aws login` per richiedere e recuperare le credenziali necessarie per eseguire i comandi.

   Il token di autenticazione viene memorizzato nella cache su disco `.aws/login/cache` nella directory con un nome di file basato sul profilo risolto.

### File di configurazione generato
<a name="cli-configure-sign-in-generated-config"></a>

Questi passaggi comportano la creazione del `default` profilo nel `config` file simile al seguente:

```
[default]
login_session = arn:aws:iam::{{0123456789012}}:{{user/username}}
region = us-east-1
```

## Esegui un comando con il tuo profilo
<a name="cli-configure-sign-in-with-profile"></a>

Una volta effettuato l'accesso, puoi utilizzare le tue credenziali per richiamare i comandi AWS CLI con il profilo associato. L'esempio seguente chiama il `get-caller-identity` comando utilizzando il profilo: `default`

```
$ aws sts get-caller-identity
```

Per accedere a una sessione specifica, utilizzate l'`--profile`opzione.

```
$ aws sts get-caller-identity --profile {{my}}-dev-profile
```

La AWS CLI e SDKs aggiorneranno automaticamente le credenziali memorizzate nella cache ogni 15 minuti, se necessario. La sessione complessiva sarà valida fino alla durata della sessione impostata per il principale IAM (massimo 12 ore), dopodiché dovrai eseguire nuovamente. `aws login`

## Esci dalla sessione utilizzando il comando aws logout
<a name="cli-configure-sign-in-sign-out"></a>

Quando hai finito di usare la sessione, puoi lasciare scadere le credenziali o eseguire il `aws logout` comando per eliminare le credenziali memorizzate nella cache. Se non viene specificato alcun profilo nella riga di comando o nella variabile di `AWS_PROFILE` ambiente, il comando disconnette l'utente dal profilo predefinito. L'esempio seguente ti disconnette dal tuo profilo predefinito.

```
$ aws logout
```

Per uscire da una sessione specifica, usa l'`--profile`opzione.

```
$ aws logout --profile {{my}}-dev-profile
```

Per uscire da tutti i profili che utilizzano le credenziali di accesso, utilizza l'`--all`opzione.

```
$ aws logout --all
```

### Credenziali memorizzate nella cache
<a name="cli-configure-sign-in-sharing-login-creds"></a>

Le credenziali temporanee memorizzate nella cache e i metadati necessari per aggiornarle vengono archiviati per impostazione predefinita in `~/.aws/login/cache` Linux e macOS o su Windows. `%USERPROFILE%\.aws\login\cache`

Per archiviare la cache delle credenziali a breve termine in una posizione alternativa, imposta la variabile di ambiente. `AWS_LOGIN_CACHE_DIRECTORY`

#### Condivisione delle credenziali di accesso come credenziali di processo
<a name="cli-configure-sign-in-cached-credentials"></a>

Le versioni precedenti AWS SDKs o di altri strumenti di sviluppo potrebbero non supportare ancora le credenziali della console. Come soluzione alternativa, puoi configurare la AWS CLI in modo che funga da fornitore di credenziali di processo. La CLI continuerà ad aggiornare le credenziali secondo necessità, condividendole con strumenti configurati per utilizzare il profilo credential\_process.

In questo esempio, usa la AWS CLI per accedere prima per l'accesso al profilo:

```
$ aws login --profile signin
```

Quindi, configura manualmente un profilo con l'opzione credential\_process, che rimanda al profilo di accesso. Ora puoi configurare i nostri strumenti SDKs per utilizzare il profilo di processo, che richiamerà la CLI per condividere le credenziali dal profilo di accesso.

```
[profile signin]
login_session = arn:aws:iam::{{0123456789012}}:{{user/username}}
region = us-east-1

[profile process] 
credential_process = aws configure export-credentials --profile signin --format process
region = us-east-1
```

## Risoluzione dei problemi
<a name="cli-configure-sign-in-troubleshooting"></a>

Questa pagina contiene consigli per la risoluzione dei problemi relativi all'accesso per lo sviluppo AWS locale utilizzando le credenziali della console per la CLI. AWS 

**Nota**  
Per risolvere altri problemi che potresti riscontrare utilizzando la AWS CLI, vedi. [Risoluzione degli errori relativi a AWS CLI](cli-chap-troubleshooting.md)

### ExpiredToken o AccessDeniedException errori dopo aver usato «aws login»
<a name="expired-token-login-troubleshooting"></a>

Quando si esegue un comando AWS CLI dopo l'esecuzione `aws login` per un determinato profilo, è possibile che si verifichi un errore di credenziali scadute o non valide.

```
$ aws s3 ls

An error occurred (ExpiredToken) when calling the ListBuckets operation: The provided token has expired.
```

**Possibile causa:** in quel profilo è presente una combinazione di credenziali esistenti e nuove credenziali di accesso

Esegui `aws configure list` o stampa `aws configure list --profile <profile name>` da dove la CLI sta risolvendo le credenziali per il profilo predefinito o specificato.

Se la colonna TYPE è diversa dal login, significa che nel profilo di destinazione è ancora impostato un tipo diverso di credenziali.

In questo esempio, le credenziali vengono risolte dal file di credenziali condivise nella home directory, che ha la precedenza sulle credenziali di accesso.

```
$  aws configure list
NAME       : VALUE                    : TYPE             : LOCATION
profile    : <not set>                : None             : None
access_key : ****************MPLE     : shared-credentials-file :
secret_key : ****************EKEY     : shared-credentials-file :
region     : us-east-1                : config-file      : ~/.aws/config
```

Per risolvere questo problema, rimuovete manualmente tutte le credenziali esistenti dal file di configurazione e delle credenziali per il profilo di destinazione. Dopo averlo fatto, dovresti vedere le credenziali di accesso quando esegui di nuovo. `aws configure list`

```
$  aws configure list
NAME       : VALUE                    : TYPE             : LOCATION
profile    : <not set>                : None             : None
access_key : ****************MPLE     : login            :
secret_key : ****************EKEY     : login            :
region     : us-east-1                : config-file      : ~/.aws/config
```

In alternativa, l'utilizzo dell'`--debug`opzione mostrerà da dove la CLI sta risolvendo le credenziali.

### Firewall che blocca l'accesso alla rete durante l'esecuzione di «aws login»
<a name="firewall-blocking-login-troubleshooting"></a>

Durante l'esecuzione, `aws login` è possibile che venga visualizzato un popup o un messaggio dal software firewall che impedisce alla AWS CLI di accedere alla rete.

**Possibile causa:** il firewall o il software di sicurezza impediscono alla AWS CLI di aprire la porta utilizzata per gestire il OAuth callback.

Per evitare questo problema, utilizzate invece l'`--remote`opzione. Verrà richiesto di copiare e incollare il codice di autorizzazione invece di utilizzare il OAuth callback.

```
$ aws login --remote
```

## Risorse correlate
<a name="cli-configure-sign-in-resources"></a>

Di seguito sono elencate alcune risorse aggiuntive.
+ [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md)
+ [`aws login`nella versione AWS CLI 2 Reference](https://docs.aws.amazon.com/cli/latest/reference/)
+ [`aws logout`nella versione AWS CLI 2 Reference](https://docs.aws.amazon.com/cli/latest/reference/)