Exemple : Authentifiez-vous avec IAM l'actualisation automatique des jetons d'Identity Center à utiliser avec AWS CDKCLI - AWS Cloud Development Kit (AWS CDK) v2

Ceci est le guide du AWS CDK développeur de la version 2. L'ancienne CDK version 1 est entrée en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.

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.

Exemple : Authentifiez-vous avec IAM l'actualisation automatique des jetons d'Identity Center à utiliser avec AWS CDKCLI

Dans cet exemple, nous configurons le AWS Command Line Interface (AWS CLI) pour authentifier notre utilisateur avec la configuration du fournisseur de jetons AWS IAM Identity Center. La configuration du fournisseur de SSO jetons permet de récupérer AWS CLI automatiquement des jetons d'authentification actualisés pour générer des informations d'identification à court terme que nous pouvons utiliser avec l'interface de ligne de AWS Cloud Development Kit (AWS CDK) commande (AWS CDK CLI).

Prérequis

Cet exemple suppose que les conditions préalables suivantes sont remplies :

  • Prérequis requis pour configurer AWS et installer nos CLI outils de démarrage. Pour de plus amples informations, veuillez consulter Prérequis.

  • IAMIdentity Center a été mis en place par notre organisation comme méthode de gestion des utilisateurs.

  • Au moins un utilisateur a été créé dans IAM Identity Center.

Étape 1 : configurer le AWS CLI

Pour obtenir des instructions détaillées sur cette étape, voir Configurer les informations AWS CLI d'identification du fournisseur de jetons IAM Identity Center pour utiliser l'actualisation automatique de l'authentification dans le Guide de AWS Command Line Interface l'utilisateur.

Nous nous connectons au portail AWS d'accès fourni par notre organisation pour recueillir les informations de notre IAM Identity Center. Cela inclut le SSOpoint de départ URL et SSOla région.

Ensuite, nous utilisons la AWS CLI aws configure sso commande pour configurer un profil IAM Identity Center et sso-session sur notre machine locale :

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [sso:account:access]: <ENTER>

Les AWS CLI tentatives d'ouverture de notre navigateur par défaut pour démarrer le processus de connexion à notre compte IAM Identity Center. S'il n' AWS CLI est pas possible d'ouvrir notre navigateur, des instructions sont fournies pour démarrer manuellement le processus de connexion. Ce processus associe la session IAM Identity Center à notre AWS CLI session en cours.

Après avoir établi notre session, AWS CLI affiche les informations Comptes AWS disponibles pour nous :

There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)

Nous utilisons les touches fléchées pour sélectionner notre DeveloperAccount.

Ensuite, AWS CLI affiche les IAM rôles disponibles sur le compte que nous avons sélectionné :

Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

Nous utilisons les touches fléchées pour sélectionner FullAccess.

Ensuite, il nous AWS CLI invite à terminer la configuration en spécifiant un format de sortie par défaut, une valeur par défaut Région AWS et un nom pour notre profil :

CLI default client Region [None]: us-west-2 <ENTER>> CLI default output format [None]: json <ENTER> CLI profile name [123456789011_FullAccess]: my-dev-profile <ENTER>

AWS CLI Affiche un dernier message indiquant comment utiliser le profil nommé avec AWS CLI :

To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile

Une fois cette étape terminée, notre config fichier ressemblera à ce qui suit :

[profile my-dev-profile]
sso_session = my-sso
sso_account_id = 123456789011
sso_role_name = fullAccess
region = us-west-2
output = json
			
[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access

Nous pouvons désormais utiliser ce profil sso-session ainsi que le profil nommé pour demander des informations d'identification de sécurité.

Étape 2 : utilisez le AWS CLI pour générer des informations d'identification de sécurité

Pour obtenir des instructions détaillées sur cette étape, voir Utiliser un profil nommé IAM Identity Center dans le guide de AWS Command Line Interface l'utilisateur.

Nous utilisons la AWS CLI aws sso login commande pour demander des informations de sécurité pour notre profil :

$ aws sso login --profile my-dev-profile

Il AWS CLI tente d'ouvrir notre navigateur par défaut et vérifie notre IAM connexion. Si nous ne sommes pas actuellement connectés à IAM Identity Center, nous serons invités à terminer le processus de connexion. S'il n' AWS CLI est pas possible d'ouvrir notre navigateur, des instructions sont fournies pour démarrer manuellement le processus d'autorisation.

Une fois connecté, les informations d'identification de notre session IAM Identity Center sont mises en AWS CLI cache. Ces informations d'identification incluent un horodatage d'expiration. À leur expiration, ils nous AWS CLI demanderont de nous reconnecter à IAM Identity Center.

À l'aide d'identifiants IAM Identity Center valides, il récupère AWS CLI en toute sécurité les AWS informations d'identification pour le IAM rôle spécifié dans notre profil. À partir de là, nous pouvons utiliser le AWS CDK CLI avec nos informations d'identification.

Étape 3 : utilisez le CDK CLI

Quelle que soit CDK CLI la commande, nous utilisons l'--profileoption pour spécifier le profil nommé pour lequel nous avons généré les informations d'identification. Si nos informations d'identification sont valides, la commande CDK CLI sera exécutée avec succès. Voici un exemple :

$ cdk diff --profile my-dev-profile Stack CdkAppStack Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Resources [-] AWS::S3::Bucket myBucket myBucket5AF9C99B destroy Outputs [-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}} ✨ Number of stacks with differences: 1

Lorsque nos informations d'identification expirent, un message d'erreur comme le suivant s'affiche :

$ cdk diff --profile my-dev-profile Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment

Pour actualiser nos informations d'identification, nous utilisons la AWS CLI aws sso login commande :

$ aws sso login --profile my-dev-profile