Module 3 : Configurer l'AWS CLI
DIDACTICIEL
Configurer l'AWS CLI
Dans ce module, vous allez configurer l'AWS Command Line Interface (CLI).
Qu'allez-vous accomplir ?
- Installer l'interface de la ligne de commande AWS (AWS CLI) pour votre système d'exploitation
- Configurer les informations d'identification pour accéder à votre compte AWS
- Configurer plusieurs profils pour accéder à différents comptes AWS
Mise en œuvre
L'AWS CLI est un outil unifié qui permet de gérer vos services AWS. Avec un seul outil à télécharger et à configurer, vous pouvez contrôler plusieurs services AWS à partir de la ligne de commande et les automatiser au moyen de scripts.
Pour interagir avec AWS à l'aide de la CLI, nous devons configurer les informations d'identification à utiliser lors des appels d'API. Nous montrerons également comment vous pouvez configurer plusieurs profils pour accéder à plusieurs comptes AWS, soit avec des informations d'identification supplémentaires, soit par le biais d'un changement de rôle IAM.
Temps nécessaire
10 minutes
Conditions requises pour le module
- Un navigateur Internet
- Un compte AWS
Obtenir de l'aide
Installer l'AWS CLI
Il existe différentes façons d'installer l'AWS CLI, en fonction de votre système d'exploitation ou de votre préférence d'utilisation des conteneurs. Pour installer l'AWS CLI v2, consultez la section lnstalling or updating the latest version of the AWS CLI (Installation ou mise à jour de la dernière version de l'AWS CLI).
Une fois l'AWS CLI installée, vous pouvez exécuter aws--version dans votre ligne de commande et voir le résultat suivant (la version peut être différente) :
aws --version
Par exemple, la réponse lors de l'installation de l'AWS CLI sous Windows 10 est la suivante :
L'AWS CLI est maintenant installée et vous êtes prêt à configurer vos informations d'identification.
Configurer les informations d'identification de l'AWS CLI
Pour configurer les informations d'identification, utilisez la commande <aws configure sso> pour inclure les informations d'identification de l'utilisateur créé dans le module précédent de ce didacticiel.
Dans la CLI, exécutez la commande <aws configure sso>, il vous sera demandé de fournir les informations suivantes :
- SSO session name (Nom de session SSO) : fournit un nom pour la session qui est incluse dans les journaux AWS CloudTrail pour les entrées associées à cette session. Si vous ne saisissez pas de nom, celui-ci est généré automatiquement. Pour ce didacticiel, utilisez <Test1>.
- SSO start URL (URL de démarrage SSO) : URL du portail d'accès AWS qui vous a été fournie lorsque vous avez configuré IAM Identity Center.
- SSO region (Région SSO) : dans ce didacticiel, les exemples utilisent <us-east-1>. Lorsque vous exécutez vous-même les commandes, spécifiez la région dans laquelle vous avez activé IAM Identity Center. Vous trouverez ces informations dans la console de gestion AWS dans le résumé des paramètres du tableau de bord d'IAM Identity Center.
- SSO registration scopes (Étendues d'enregistrement SSO) : les étendues autorisent l'accès à différents points de terminaison. Dans ce didacticiel, nous utiliserons la portée minimale <sso:account:access> pour récupérer un jeton d'actualisation auprès du service IAM Identity Center.
Vous serez invité à saisir chacun de ces éléments dans le terminal après avoir saisi la commande <aws configure sso>.
aws configure sso
Remarque : si vous ne connaissez pas l'URL de démarrage ou la région de votre compte, connectez-vous à la console en tant qu'utilisateur root et accédez au tableau de bord d'IAM Identity Center. La région et l'URL du portail d'accès AWS sont affichées dans le Settings summary (Résumé des paramètres).
L'exemple de code suivant montre le contenu de la CLI à ce stade :
$ aws configure sso
Nom de la session SSO (recommandé) : Test1
URL de démarrage du SSO [Aucune] : https://my-sso-portal.awsapps.com/start
Région SSO [Aucune] : us-east-1
Étendue de l'enregistrement SSO [Aucune] : sso:account:access
La CLI tente d'ouvrir automatiquement la page d'autorisation SSO dans votre navigateur par défaut et lance le processus de connexion pour votre compte IAM Identity Center.
Après avoir fourni votre mot de passe (et vos informations d'identification MFA, si elle est activée), il vous est demandé d'allow access to your data (autoriser l'accès à vos données). Cela permet à l'AWS CLI de récupérer et d'afficher les comptes et rôles AWS que vous êtes autorisé à utiliser avec IAM Identity Center.
Étant donné que l'AWS CLI repose sur le kit SDK pour Python, les messages d'autorisation peuvent contenir des variantes du nom botocore, telles que botocore-client-Test1. Sélectionnez Allow (Autoriser). Après l'authentification, il vous sera indiqué que vous pouvez fermer la fenêtre.
La CLI mettra à jour et vous indiquera les comptes et les rôles AWS mis à votre disposition. Comme vous n'avez configuré qu'un seul compte AWS avec le rôle AdministratorAccess à ce stade, il s'agit du compte et du rôle avec lesquels vous êtes connecté. Votre fenêtre CLI devrait maintenant afficher les lignes suivantes :
Le seul compte AWS dont vous disposez est le suivant : 111122223333
Utilisation de l'ID de compte 111122223333
Le seul rôle à votre disposition est : AdministratorAccess
Utilisation du nom de rôle « AdministratorAccess »
Il vous est alors demandé de Specify the default output format (Spécifier le format de sortie par défaut), la default AWS Region (Région AWS par défaut) à laquelle envoyer les commandes, et de provide a name for the profile (Fournir un nom pour le profil) afin de pouvoir faire référence à ce profil lors de l'exécution de commandes dans la CLI.
Le suggested profile name (nom de profil suggéré) est le numéro d'identification du compte suivi d'un trait de soulignement suivi du nom du rôle. Toutefois, pour ce didacticiel, nous allons utiliser un nom de profil plus court, admin-1. Votre fenêtre CLI devrait maintenant afficher les lignes suivantes :
Pour utiliser ce profil, spécifiez le nom du profil à l'aide de --profile, comme indiqué ci-après :
aws s3 ls --profile admin-1
Maintenant, exécutez la commande <aws ec2 describe-vpcs> pour vérifier si la configuration est correcte. Chaque nouveau compte AWS possède des VPC configurés par défaut afin que vous puissiez exécuter cette commande sans qu'aucun autre service ne soit configuré sur votre compte AWS.
aws ec2 describe-vpcs
Votre fenêtre CLI devrait maintenant afficher les informations suivantes.
Cela confirme que votre AWS CLI a été correctement configurée.
En effectuant cette procédure, vous avez mis à jour votre fichier de configuration AWS avec une section sso-session et un profil nommé.
Le fichier de configuration se trouve dans ~/.aws/config sur les ordinateurs exécutant Linux ou macOS, ou dans C:\Users\ USERNAME \.aws\config sur les ordinateurs exécutant Windows. Si vous ouvrez votre fichier de configuration, vous verrez ces deux sections :
aws ec2 describe-vpcs --profile admin-1
{
"Vpcs": [
{
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-d12345",
"State": "available",
"VpcId": "vpc-0123456789abcdef",
"OwnerId": "111122223333",
"InstanceTenancy": "default",
............"CidrBlockAssociationSet": [
................{
....................."AssociationId": "vpc-cidr-assoc-38b060a751a39af8e",
....................."CidrBlock": "10.24.34.0/23",
....................."CidrBlockState": {
........................."State": "associated"
......................}
................}
............],
............"IsDefault": true
.........}
]
}
[profile admin-1]
sso_session = Test1
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
region = us-east-1
output = json
[sso-session Test1]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
Vous pouvez désormais utiliser cette session SSO et ce profil pour demander des informations d'identification à l'aide de la commande <aws sso login>.
aws sso login
Votre fenêtre CLI devrait maintenant afficher les informations suivantes :
aws sso login -–profile admin-1
Tentative d'ouverture automatique de la page d'autorisation SSO dans votre navigateur par défaut.
Si le navigateur ne s'ouvre pas ou si vous souhaitez utiliser un autre appareil pour autoriser cette demande, ouvrez l'URL suivante :
https://device.sso.us-east1.amazonaws.com/
Saisissez ensuite le code :
XXXX-XXXX
Accédez à la fenêtre du navigateur et autorisez l'accès à vos données. Lorsque vous revenez à la fenêtre CLI, le message suivant affiche cette ligne :
Connexion réussie à l'URL de démarrage : https://my-sso-portal.awsapps.com/start
Configuration de plusieurs profils (facultatif)
Lorsque vous ajoutez des rôles à votre compte AWS et que vous ajoutez des comptes AWS supplémentaires à votre organisation, répétez la procédure ci-dessus pour créer un profil pour ces rôles et comptes.
À mesure que cela ajoute de la complexité, il est recommandé d'adopter une stratégie de dénomination des profils associant les identifiants de compte AWS et les noms de rôles afin de pouvoir faire la distinction entre les profils.
Conclusion
Félicitations ! Vous avez appris à configurer l'AWS CLI et à configurer un profil nommé. Dans le module suivant, vous allez apprendre à configurer AWS Cloud9, un environnement IDE basé sur le cloud.