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 CDK CLI
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).
Rubriques
Prérequis
Cet exemple suppose que les conditions préalables suivantes sont remplies :
-
Prérequis requis pour configurer AWS et installer notre système de départ CLI outils. 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 :
[profilemy-dev-profile
] sso_session =my-sso
sso_account_id =123456789011
sso_role_name =fullAccess
region =us-west-2
output =json
[sso-sessionmy-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
et un 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 accréditations.
Étape 3 : utilisez le CDK CLI
Avec n'importe quel CDK CLI commande, nous utilisons l'--profile
option pour spécifier le profil nommé pour lequel nous avons généré les informations d'identification. Si nos informations d'identification sont valides, le CDK CLI exécutera correctement la commande. Voici un exemple :
$
cdk diff --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 amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy Outputs [-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}} ✨ Number of stacks with differences: 1my-dev-profile
Lorsque nos informations d'identification expirent, un message d'erreur comme le suivant s'affiche :
$
cdk diff --profile
Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environmentmy-dev-profile
Pour actualiser nos informations d'identification, nous utilisons la AWS CLI aws sso login
commande :
$
aws sso login --profile
my-dev-profile