Connectez-vous pour le développement AWS local à l'aide des informations d'identification de console - AWS Command Line Interface

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

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 localement des informations d'identification à long terme.

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.

Conditions préalables

Connectez-vous à la AWS CLI à l'aide de la aws login commande.

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'--profileoption.

    $ 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'--remoteoption permettant de fournir une URL à ouvrir sur un appareil compatible avec un navigateur.

      $ aws login --remote
  2. 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:
  3. 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):.
  4. 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é

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

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'--profileoption.

$ 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

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_PROFILEenvironnement, 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'--profileoption.

$ aws logout --profile my-dev-profile

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

$ aws logout --all

Informations d'identification mises en cache

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

Partage des identifiants de connexion en tant qu'identifiants de processus

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

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, consultezRésolution des erreurs liées au AWS CLI.

ExpiredToken ou AccessDeniedException des erreurs après avoir utilisé « aws login »

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 d'où 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 »

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'--remoteoption. Cela vous invitera à copier-coller le code d'autorisation au lieu d'utiliser le OAuth rappel.

$ aws login --remote

Ressources connexes

Les ressources supplémentaires sont les suivantes.