Didacticiel : utilisation d’IAM Identity Center pour exécuter des commandes Amazon S3 dans l’AWS CLI - AWS Command Line Interface

Didacticiel : utilisation d’IAM Identity Center pour exécuter des commandes Amazon S3 dans l’AWS CLI

Cette rubrique décrit comment configurer l’AWS CLI pour authentifier les utilisateurs auprès de la session AWS IAM Identity Center (IAM Identity Center) actuelle afin d’récupérer les informations d’identification pour exécuter les commandes de l’AWS Command Line Interface (AWS CLI) pour Amazon Simple Storage Service (Amazon S3).

Étape 1 : authentification dans IAM Identity Center

Obtenez accès à l’authentification SSO dans IAM Identity Center. Choisissez l’une des méthodes suivantes pour accéder à vos informations d’identification AWS.

Suivez les instructions de Mise en route dans le Guide de l’utilisateur AWS IAM Identity Center. Ce processus active IAM Identity Center, crée un utilisateur administratif et ajoute un jeu d’autorisations de moindre privilège approprié.

Note

Créez un jeu d’autorisations qui applique les autorisations de moindre privilège. Nous vous recommandons d’utiliser le jeu d’autorisations PowerUserAccess prédéfini, sauf si votre employeur a créé un jeu d’autorisations personnalisé à cette fin.

Quittez le portail et reconnectez-vous pour voir vos Comptes AWS, les informations d’accès par programmation et les options pour Administrator ou PowerUserAccess. Sélectionnez PowerUserAccess lorsque vous utilisez le kit SDK.

Connectez-vous à AWS via le portail de votre fournisseur d’identité. Si votre administrateur cloud vous a accordé des autorisations PowerUserAccess (développeur), vous pouvez voir les Comptes AWS auxquels vous avez accès et votre jeu d’autorisations. En regard du nom de votre jeu d’autorisations, vous pouvez voir des options permettant d’accéder aux comptes manuellement ou par programmation à l’aide de ce jeu d’autorisations.

Les implémentations personnalisées peuvent entraîner des expériences différentes, telles que des noms de jeux d’autorisations différents. Si vous avez des doutes sur le jeu d’autorisations à utiliser, contactez votre équipe informatique pour obtenir de l’aide.

Connectez-vous à AWS via votre portail d’accès AWS. Si votre administrateur cloud vous a accordé des autorisations PowerUserAccess (développeur), vous pouvez voir les Comptes AWS auxquels vous avez accès et votre jeu d’autorisations. En regard du nom de votre jeu d’autorisations, vous pouvez voir des options permettant d’accéder aux comptes manuellement ou par programmation à l’aide de ce jeu d’autorisations.

Contactez votre équipe informatique pour obtenir de l’aide.

Étape 2 : recueil des informations d’IAM Identity Center

Dès que vous disposez d’un accès à AWS, recueillez les informations IAM Identity Center en procédant comme suit :

  1. Recueillez les valeurs SSO Start URL et SSO Region dont vous avez besoin pour exécuter aws configure sso

    1. Dans votre portail d’accès AWS, sélectionnez le jeu d’autorisations que vous utilisez pour le développement, puis sélectionnez le lien Clés d’accès.

    2. Dans la boîte de dialogue Obtenir des informations d’identification, choisissez l’onglet correspondant à votre système d’exploitation.

    3. Choisissez la méthode Informations d’identification IAM Identity Center pour obtenir les valeurs SSO Start URL et SSO Region.

  2. À compter de la version 2.22.0, vous pouvez également utiliser la nouvelle URL de l’émetteur au lieu de l’URL de démarrage. L’URL de l’émetteur se trouve dans la console AWS IAM Identity Center à l’un des emplacements suivants :

    • Sur la page Tableau de bord, l’URL de l’émetteur se trouve dans le récapitulatif des paramètres.

    • Sur la page Paramètres, l’URL de l’émetteur se trouve dans les paramètres de la source d’identité.

  3. Pour plus d’informations sur la valeur des portées à enregistrer, consultez Portées des accès OAuth 2.0 dans le Guide de l’utilisateur IAM Identity Center.

Étape 3 : création de compartiments Amazon S3

Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

Pour ce didacticiel, créez quelques compartiments à extraire ultérieurement dans une liste.

Étape 4 : installation de l’AWS CLI

Installez l’AWS CLI en suivant les instructions relatives à votre système d’exploitation. Pour plus d’informations, consultez Installation de la dernière version de l’AWS CLI ou mise à jour vers celle-ci.

Une fois l’installation terminée, vous pouvez vérifier l’installation en ouvrant le terminal de votre choix et en exécutant la commande suivante. Cela devrait afficher la version de l’AWS CLI que vous avez installée.

$ aws --version

Étape 5 : configuration de votre profil AWS CLI

Configurez votre profil à l’aide d’une des méthodes suivantes.

La section sso-session du fichier config est utilisée pour regrouper les variables de configuration permettant d’acquérir des jetons d’accès SSO, lesquels peuvent ensuite être utilisés pour acquérir des informations d’identification AWS. Les paramètres suivants sont utilisés :

Vous définissez une section sso-session et vous l’associez à un profil. Les paramètres sso_region et sso_start_url doivent être définis dans la section sso-session. Généralement, sso_account_id et sso_role_name doivent être définis dans la section profile afin que le kit SDK puisse demander des informations d’identification SSO.

L’exemple suivant configure le kit SDK pour demander des informations d’identification SSO et il prend en charge l’actualisation automatique des jetons :

$ 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 [None]: sso:account:access

L’autorisation PKCE (Proof Key for Code Exchange) est utilisée par défaut pour l’AWS CLI à compter de la version 2.22.0 et elle doit être utilisée sur les appareils disposant d’un navigateur. Pour continuer à utiliser l’autorisation d’appareil, ajoutez l’option --use-device-code.

$ aws configure sso --use-device-code

La section sso-session du fichier config est utilisée pour regrouper les variables de configuration permettant d’acquérir des jetons d’accès SSO, lesquels peuvent ensuite être utilisés pour acquérir des informations d’identification AWS. Les paramètres suivants sont utilisés :

Vous définissez une section sso-session et vous l’associez à un profil. sso_region et sso_start_url doivent être définis dans la section sso-session. Généralement, sso_account_id et sso_role_name doivent être définis dans la section profile afin que le kit SDK puisse demander des informations d’identification SSO.

L’exemple suivant configure le kit SDK pour demander des informations d’identification SSO et il prend en charge l’actualisation automatique des jetons :

[profile my-dev-profile] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [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

Le jeton d’authentification est mis en cache sur le disque sous le répertoire ~/.aws/sso/cache avec un nom de fichier basé sur le nom de session.

Étape 6 : connexion à IAM Identity Center

Note

Le processus de connexion peut vous inviter à autoriser l’AWS CLI à accéder à vos données. Étant donné que l’AWS CLI repose sur le kit SDK pour Python, les messages d’autorisation peuvent contenir des variantes du nom botocore.

Pour récupérer et mettre en cache vos informations d’identification IAM Identity Center, exécutez la commande suivante pour l’AWS CLI afin d’ouvrir votre navigateur par défaut et de vérifier votre connexion à IAM Identity Center.

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

À compter de la version 2.22.0, l’autorisation PKCE est la valeur par défaut. Pour utiliser l’autorisation d’appareil pour vous connecter, ajoutez l’option --use-device-code.

$ aws sso login --profile my-dev-profile --use-device-code

Étape 7 : exécution de commandes Amazon S3

Pour répertorier les compartiments que vous avez créés précédemment, utilisez la commande aws s3 ls. L’exemple suivant répertorie tous les compartiments Amazon S3.

$ aws s3 ls 2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2

Étape 8 : déconnexion d’IAM Identity Center

Lorsque vous avez terminé d’utiliser votre profil IAM Identity Center, exécutez la commande suivante pour supprimer vos informations d’identification mises en cache.

$ aws sso logout Successfully signed out of all SSO profiles.

Étape 9 : nettoyage des ressources

Une fois ce didacticiel terminé, nettoyez toutes les ressources que vous avez créées au cours de ce didacticiel dont vous n’avez plus besoin, y compris les compartiments Amazon S3.

Résolution des problèmes

Si vous rencontrez des problèmes lors de l’utilisation de l’AWS CLI, consultez Résolution des erreurs liées à l’AWS CLI les étapes de dépannage les plus courantes.

Ressources supplémentaires

Les ressources supplémentaires sont les suivantes.