1

Je souhaite configurer plusieurs profils AWS afin de pouvoir facilement modifier les paramètres et les informations d'identification lors du passage d'un projet à l'autre.Comment se connecter avec AWS CLI à l'aide des profils d'informations d'identification

J'ai lu la documentation AWS, mais il est assez vague sur la façon de choisir ce profil que vous souhaitez utiliser lors de la connexion.

Quand je suis en train de se connecter, il est juste de me donner cette erreur qui semble indiquer qu'il ne prend aucune information d'identification.

An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security token included in the request is invalid.

Répondre

8

Pour configurer plusieurs profils pour AWS se connecter vous devez les éléments suivants:

  1. Configuration des informations d'identification fichier avec vos clés d'accès
  2. paramètres par défaut de configuration des profils (en option)
  3. Définir la variable d'environnement AWS_PROFILE
  4. Supprimer les précédentes AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY

1: ~/.AWS/lettres de créance

[default] 
aws_access_key_id = 
aws_secret_access_key = 

[cat] 
aws_access_key_id = XXXX 
aws_secret_access_key = XXXXXXXXXXXX 

[dog] 
aws_access_key_id = XXXX 
aws_secret_access_key = XXXXXXXXXXXX 

2: ~/.AWS/config

[default] 
region = eu-central-1 

[profile cat] 
region = us-west-2 

[profile dog] 
region = ap-northeast-1 

3. Sélectionnez le profil

Le Le profil sélectionné est déterminé par le $AWS_PROFILE variable d'environnement. En bash cela pourrait être fait en ~\.bash_profile en ajoutant une ligne export AWS_PROFILE="cat". Pour changer de profil dans le terminal actuel, tapez AWS_PROFILE=dog.

4. Supprimer les paramètres globaux

Vous devez également vous assurer que les variables d'environnement AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEYne sont pas définies parce que le aws-cli donnera la priorité à ces variables sur les profils.

Courir

Vous pouvez ensuite vous connecter au service AWS de votre choix. Pour voir quel profil est actuellement utilisé echo $AWS_PROFILE. Exemple de commande pour la connexion ECR serait $(aws ecr get-login)

Debugging

Si vous rencontrez toujours des problèmes que vous pouvez ajouter le drapeau --debug pour voir ce que les informations d'identification qu'il utilise pour la commande.

+2

Bonne réponse! Vous pouvez également remplacer le profil sur une commande CLI avec '--profile '. –