

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connectez-vous pour le développement AWS local à l'aide des informations d'identification de console
<a name="cli-configure-sign-in"></a>

Vous pouvez utiliser vos identifiants de connexion existants à la console de AWS gestion pour accéder aux AWS services par programmation. Après un flux d'authentification basé sur un navigateur, AWS génère des informations d'identification temporaires qui fonctionnent avec les outils de développement locaux tels que la AWS CLI, AWS Tools for PowerShell et. AWS SDKs Cette fonctionnalité simplifie le processus de configuration et de gestion des informations d'identification de la AWS CLI, en particulier si vous préférez l'authentification interactive à la gestion des clés d'accès à long terme.

Ce processus vous permet de vous authentifier à l'aide des informations d'identification root créées lors de la configuration initiale du compte, d'un utilisateur IAM ou d'une identité fédérée auprès de votre fournisseur d'identité, et la AWS CLI gère automatiquement les informations d'identification temporaires pour vous. Cette approche améliore la sécurité en éliminant le besoin de stocker des informations d'identification à long terme localement.

Lorsque vous exécutez la `aws login` commande, vous pouvez effectuer une sélection parmi vos sessions de console actives ou vous connecter via le flux d'authentification basé sur le navigateur, ce qui générera automatiquement des informations d'identification temporaires. La CLI actualisera automatiquement ces informations d'identification pendant 12 heures maximum.

Une fois configurée, votre session peut être utilisée dans la AWS CLI et dans d'autres AWS SDKs outils.

**Topics**
+ [Conditions préalables](#cli-configure-sign-in-prerequisites)
+ [Connectez-vous à la AWS CLI à l'aide de la `aws login` commande.](#cli-configure-sign-in-login-command)
+ [Exécutez une commande avec votre profil](#cli-configure-sign-in-with-profile)
+ [Déconnectez-vous de votre session à l'aide de la commande aws logout](#cli-configure-sign-in-sign-out)
+ [Résolution des problèmes](#cli-configure-sign-in-troubleshooting)
+ [Ressources connexes](#cli-configure-sign-in-resources)

## Conditions préalables
<a name="cli-configure-sign-in-prerequisites"></a>
+ Installez la AWS CLI. Pour de plus amples informations, veuillez consulter [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md). Une version minimale de 2.32.0 est requise pour utiliser la `aws login` commande.
+ Accès pour se connecter à la console AWS de gestion en tant qu'utilisateur root, utilisateur IAM ou via une fédération avec IAM. Si vous utilisez IAM Identity Center, rendez-vous [Configuration de l'authentification IAM Identity Center à l'aide du AWS CLI](cli-configure-sso.md) plutôt sur.
+ Assurez-vous que l'identité IAM dispose des autorisations appropriées. Associez la politique [SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/signin/latest/userguide/security-iam-awsmanpol.html)gérée à votre utilisateur, rôle ou groupe IAM. Si vous vous connectez en tant qu'utilisateur root, aucune autorisation supplémentaire n'est requise.

## Connectez-vous à la AWS CLI à l'aide de la `aws login` commande.
<a name="cli-configure-sign-in-login-command"></a>

Exécutez la `aws login` commande pour vous authentifier à l'aide de vos informations d'identification existantes AWS de la console de gestion. Si vous n'avez pas encore configuré de profil, vous êtes invité à fournir des informations supplémentaires. Pour vous connecter ou configurer un profil, suivez les étapes ci-dessous.

1. Dans votre terminal préféré, exécutez la commande `aws login`.

   ```
   $ aws login
   ```

   Pour vous connecter à un profil nommé ou en créer un nouveau, utilisez l'`--profile`option.

   ```
   $ aws login --profile my-dev-profile
   ```
   + S'il s'agit d'un nouveau profil ou si aucune AWS région n'a été spécifiée, la AWS CLI vous invite à fournir une région.

     ```
     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]:
     ```
   + Si le périphérique utilisant la AWS CLI ne possède pas de navigateur, vous pouvez utiliser l'`--remote`option permettant de fournir une URL à ouvrir sur un appareil compatible avec un navigateur.

     ```
     $ aws login --remote
     ```
**Note**  
Vous pouvez contrôler l'accès à l'authentification sur un même appareil (`aws login`) et sur plusieurs appareils (`aws login --remote`). Utilisez la ressource suivante ARNs dans toute politique IAM pertinente.  
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/localhost`— Utilisez cet ARN pour l'authentification sur le même appareil avec. `aws login`
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/remote`— Utilisez cet ARN pour l'authentification multi-appareils avec`aws login --remote`.

1. La AWS CLI tente d'ouvrir votre navigateur par défaut pour le processus de connexion de votre AWS compte.

   ```
   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.
   ```
   + Si vous avez utilisé `--remote` cette option, les instructions pour démarrer manuellement le processus de connexion s'affichent en fonction du type d'autorisation que vous utilisez. L'URL affichée est une URL unique commençant par : https://us-east-1.signin.amazonaws.com /authorize. Une fois la connexion au navigateur terminée, vous devrez copier-coller le code d'autorisation obtenu dans la 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. Dans le navigateur, sélectionnez les informations d'identification à utiliser dans la liste affichée, puis retournez sur votre terminal.
   + Si le profil que vous configurez possède une session de connexion précédemment configurée qui ne correspond pas à votre nouvelle session, la AWS CLI vous invite à confirmer que vous changez de session correspondant au profil existant.

     ```
     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 message final décrit la configuration de profil terminée. Vous pouvez désormais utiliser ce profil pour demander des informations d’identification. Utilisez la commande `aws login` pour demander et extraire les informations d’identification temporaires nécessaires à l’exécution des commandes.

   Le jeton d'authentification est mis en cache sur le disque sous le `.aws/login/cache` répertoire avec un nom de fichier basé sur le profil résolu.

### Fichier de configuration généré
<a name="cli-configure-sign-in-generated-config"></a>

Ces étapes aboutissent à la création du `default` profil dans le `config` fichier qui ressemble à ce qui suit :

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

## Exécutez une commande avec votre profil
<a name="cli-configure-sign-in-with-profile"></a>

Une fois connecté, vous pouvez utiliser vos informations d'identification pour appeler des commandes AWS CLI avec le profil associé. L'exemple suivant appelle la `get-caller-identity` commande à l'aide du `default` profil :

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

Pour vous connecter à une session spécifique, utilisez l'`--profile`option.

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

La AWS CLI SDKs actualisera automatiquement les informations d'identification mises en cache toutes les 15 minutes selon les besoins. La session globale sera valide jusqu'à la durée de session définie par le principal IAM (12 heures maximum), après quoi vous devrez vous lancer `aws login` à nouveau.

## Déconnectez-vous de votre session à l'aide de la commande aws logout
<a name="cli-configure-sign-in-sign-out"></a>

Lorsque vous avez terminé d'utiliser votre session, vous pouvez laisser vos informations d'identification expirer ou exécuter la `aws logout` commande pour supprimer vos informations d'identification mises en cache. Si aucun profil n'est spécifié sur la ligne de commande ou dans la variable d'`AWS_PROFILE`environnement, la commande vous déconnecte de votre profil par défaut. L'exemple suivant vous déconnecte de votre profil par défaut.

```
$ aws logout
```

Pour vous déconnecter d'une session spécifique, utilisez l'`--profile`option.

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

Pour vous déconnecter de tous les profils utilisant des informations de connexion, utilisez l'`--all`option.

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

### Informations d'identification mises en cache
<a name="cli-configure-sign-in-sharing-login-creds"></a>

Les informations d'identification temporaires mises en cache, ainsi que les métadonnées requises pour les actualiser, sont stockées par défaut sous `~/.aws/login/cache` Linux et macOS, ou `%USERPROFILE%\.aws\login\cache` sous Windows.

Pour stocker le cache des informations d'identification à court terme dans un autre emplacement, définissez la variable d'`AWS_LOGIN_CACHE_DIRECTORY`environnement.

#### Partage des identifiants de connexion en tant qu'identifiants de processus
<a name="cli-configure-sign-in-cached-credentials"></a>

Les anciennes versions des outils de développement AWS SDKs ou d'autres outils de développement ne prennent peut-être pas encore en charge les informations d'identification de console. Pour contourner le problème, vous pouvez configurer la AWS CLI pour qu'elle serve de fournisseur d'informations d'identification de processus. La CLI continuera à actualiser les informations d'identification selon les besoins, tout en les partageant avec les outils configurés pour utiliser le profil credential\_process.

Dans cet exemple, utilisez la AWS CLI pour vous connecter d'abord pour la connexion au profil :

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

Configurez ensuite manuellement un profil avec l'option credential\_process, qui pointe vers le profil de connexion. Vous pouvez maintenant configurer nos SDKs outils pour utiliser le profil de processus, qui appellera la CLI pour partager les informations d'identification du profil de connexion.

```
[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
```

## Résolution des problèmes
<a name="cli-configure-sign-in-troubleshooting"></a>

Cette page contient des recommandations pour résoudre les problèmes liés à la connexion pour le développement AWS local à l'aide des informations d'identification de console pour la CLI. AWS 

**Note**  
Pour résoudre d'autres problèmes que vous pourriez rencontrer lors de l'utilisation de la AWS CLI, consultez[Résolution des erreurs liées au AWS CLI](cli-chap-troubleshooting.md).

### ExpiredToken ou AccessDeniedException des erreurs après avoir utilisé « aws login »
<a name="expired-token-login-troubleshooting"></a>

Lorsque vous exécutez une commande AWS CLI après l'avoir exécutée `aws login` pour un profil donné, vous pouvez rencontrer une erreur d'identification expirée ou non valide.

```
$ aws s3 ls

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

**Cause possible :** vous avez un mélange d'informations d'identification existantes et de nouvelles informations de connexion dans ce profil

Exécutez `aws configure list` ou `aws configure list --profile <profile name>` pour imprimer l'endroit à partir duquel la CLI résout les informations d'identification pour le profil par défaut ou pour le profil donné.

Si la colonne TYPE est autre chose que login, cela signifie qu'un autre type d'informations d'identification est toujours défini dans le profil cible.

Dans cet exemple, les informations d'identification sont résolues à partir du fichier d'informations d'identification partagé de votre répertoire personnel, qui a priorité sur les informations de connexion.

```
$  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
```

Pour résoudre ce problème, supprimez manuellement toutes les informations d'identification existantes de votre fichier de configuration et d'informations d'identification pour le profil cible. Une fois que vous l'avez fait, vous devriez voir les informations de connexion lors de la `aws configure list` prochaine exécution.

```
$  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
```

Sinon, l'utilisation de `--debug` cette option indiquera d'où la CLI résout les informations d'identification.

### Pare-feu bloquant l'accès au réseau lors de l'exécution de « aws login »
<a name="firewall-blocking-login-troubleshooting"></a>

Lors de l'exécution, `aws login` vous pouvez rencontrer une fenêtre contextuelle ou un message provenant de votre logiciel de pare-feu qui empêche la AWS CLI d'accéder à votre réseau.

**Cause possible :** votre pare-feu ou votre logiciel de sécurité empêche la AWS CLI d'ouvrir le port utilisé pour gérer le OAuth rappel.

Pour éviter ce problème, utilisez plutôt l'`--remote`option. Cela vous invitera à copier-coller le code d'autorisation au lieu d'utiliser le OAuth rappel.

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

## Ressources connexes
<a name="cli-configure-sign-in-resources"></a>

Les ressources supplémentaires sont les suivantes.
+ [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md)
+ [`aws login`dans la référence de la version 2 de la AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)
+ [`aws logout`dans la référence de la version 2 de la AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)