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.
Configuration de l'authentification IAM Identity Center à l'aide du AWS CLI
Cette rubrique fournit des instructions sur la façon de configurer le AWS CLI with AWS IAM Identity Center (IAM Identity Center) pour récupérer les informations d'identification permettant d'exécuter des AWS CLI commandes. Il existe principalement deux méthodes pour authentifier les utilisateurs auprès d'IAM Identity Center afin d'obtenir les informations d'identification nécessaires pour exécuter des AWS CLI commandes via le config
fichier :
-
Configuration du fournisseur de jetons SSO (recommandée).
-
Configuration ancienne non actualisable.
Pour plus d'informations sur l'utilisation de l'authentification au porteur, qui n'utilise aucun identifiant de compte ni rôle, consultez la section Configuration pour utiliser l'authentification AWS CLI avec CodeCatalyst dans le guide de CodeCatalyst l'utilisateur Amazon.
Note
Pour un processus guidé d'utilisation d'IAM Identity Center avec des AWS CLI commandes, voirTutoriel : Utilisation d'IAM Identity Center pour exécuter des commandes Amazon S3 dans le AWS CLI.
Rubriques
Prérequis
-
Installez le AWS CLI. Pour de plus amples informations, veuillez consulter Installation ou mise à jour vers la dernière version du AWS CLI.
-
Vous devez d'abord avoir accès à l'authentification SSO dans IAM Identity Center. Choisissez l'une des méthodes suivantes pour accéder à vos AWS informations d'identification.
Suivez les instructions de la section Mise en route du guide de AWS IAM Identity Center l'utilisateur. Ce processus active IAM Identity Center, crée un utilisateur administratif et ajoute un ensemble d'autorisations de moindre privilège approprié.
Note
Créez un ensemble d'autorisations qui applique les autorisations du moindre privilège. Nous vous recommandons d'utiliser l'ensemble PowerUserAccess
d'autorisations prédéfini, sauf si votre employeur a créé un ensemble d'autorisations personnalisé à cette fin.
Quittez le portail et reconnectez-vous pour voir vos Comptes AWS informations d'accès programmatiques et les options pour Administrator
ouPowerUserAccess
. Sélectionnez PowerUserAccess
lorsque vous travaillez avec le SDK.
Connectez-vous AWS via le portail de votre fournisseur d'identité. Si votre administrateur cloud vous a accordé des autorisations PowerUserAccess
(de développeur), vous voyez Comptes AWS celles auxquelles vous avez accès et votre ensemble d'autorisations. À côté du nom de votre ensemble d'autorisations, vous trouverez des options permettant d'accéder aux comptes manuellement ou par programmation à l'aide de cet ensemble d'autorisations.
Les implémentations personnalisées peuvent entraîner des expériences différentes, telles que des noms d'ensembles d'autorisations différents. Si vous ne savez pas quel ensemble d'autorisations utiliser, contactez votre équipe informatique pour obtenir de l'aide.
Connectez-vous AWS via votre portail AWS d'accès. Si votre administrateur cloud vous a accordé des autorisations PowerUserAccess
(de développeur), vous voyez Comptes AWS celles auxquelles vous avez accès et votre ensemble d'autorisations. À côté du nom de votre ensemble d'autorisations, vous trouverez des options permettant d'accéder aux comptes manuellement ou par programmation à l'aide de cet ensemble d'autorisations.
Contactez votre équipe informatique pour obtenir de l'aide.
Après avoir accédé à IAM Identity Center, collectez les informations de votre IAM Identity Center en effectuant les opérations suivantes :
-
Rassemblez vos
SSO Region
valeursSSO Start URL
et celles dont vous avez besoin pour fonctionneraws configure sso
-
Dans votre portail AWS d'accès, sélectionnez l'ensemble d'autorisations que vous utilisez pour le développement, puis cliquez sur le lien Clés d'accès.
-
Dans la boîte de dialogue Obtenir les informations d'identification, choisissez l'onglet correspondant à votre système d'exploitation.
-
Choisissez la méthode d'identification IAM Identity Center pour obtenir les
SSO Region
valeursSSO Start URL
et.
-
-
À partir de la version 2.22.0, vous pouvez également utiliser l'URL de l'émetteur au lieu de l'URL de démarrage. L'URL de l'émetteur se trouve dans la AWS IAM Identity Center console à l'un des emplacements suivants :
-
Sur la page Tableau de bord, l'URL de l'émetteur se trouve dans le résumé des paramètres.
-
Sur la page Paramètres, l'URL de l'émetteur se trouve dans les paramètres de la source d'identité.
-
-
Pour plus d'informations sur la valeur d'étendue à enregistrer, consultez la section Étendue d'accès OAuth 2.0 dans le guide de l'utilisateur d'IAM Identity Center.
Configurez votre profil avec l'aws
configure sso
assistant
Pour configurer un profil IAM Identity Center pour votre AWS CLI :
-
Dans le terminal de votre choix, exécutez la
aws configure sso
commande. -
Les AWS CLI tentatives d'ouverture de votre navigateur par défaut pour le processus de connexion de votre compte IAM Identity Center. Ce processus peut vous demander d'autoriser l' AWS CLI accès à vos données. Étant donné que le AWS CLI est construit au-dessus du SDK pour Python, les messages d'autorisation peuvent contenir des variantes du
botocore
nom.S'il n'est AWS CLI pas possible d'ouvrir le navigateur, les instructions pour démarrer manuellement le processus de connexion s'affichent en fonction du type d'autorisation que vous utilisez.
-
Sélectionnez le AWS compte à utiliser dans la liste qui s'affiche. Si vous n'êtes autorisé à utiliser qu'un seul compte, celui-ci est AWS CLI automatiquement sélectionné et ignore l'invite.
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (
123456789011
) ProductionAccount, production-account-admin@example.com (123456789022
) -
Sélectionnez le rôle IAM à utiliser dans la liste affichée. S'il n'y a qu'un seul rôle disponible, il le sélectionne AWS CLI automatiquement et ignore l'invite.
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess -
Spécifiez le format de sortie par défaut Région AWS, le format par défaut auquel envoyer les commandes et le nom du profil. Si vous le spécifiez
default
comme nom de profil, ce profil devient le profil par défaut utilisé. Dans l'exemple ci-dessous, l'utilisateur entre une région par défaut, un format de sortie par défaut et le nom du profil.CLI default client Region [None]:
us-west-2
<ENTER>CLI default output format [None]:
json
<ENTER>CLI profile name [123456789011_ReadOnly]:
my-dev-profile
<ENTER> -
Un message final décrit la configuration de profil terminée. Vous pouvez désormais utiliser ce profil pour demander des informations d'identification. Utilisez la
aws sso login
commande pour demander et récupérer les informations d'identification nécessaires pour exécuter des commandes. Pour obtenir des instructions, consultez Connectez-vous à une session IAM Identity Center.
Ces étapes aboutissent à la création de la sso-session
section et du profil nommé dans le config
fichier qui se présentent comme suit :
Configurez uniquement votre sso-session
section avec aws configure sso-session
l'assistant
Note
Cette configuration n'est pas compatible avec l'ancien IAM Identity Center.
La aws configure sso-session
commande met à jour les sso-session
sections du ~/.aws/config
fichier. Exécutez la aws configure sso-session
commande et indiquez l'URL de démarrage ou l'URL de l'émetteur de votre IAM Identity Center ainsi que la AWS région qui héberge le répertoire de l'IAM Identity Center.
$
aws configure sso-session
SSO session name:
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
Configuration manuelle à l'aide du config
fichier
Les informations de configuration d'IAM Identity Center sont stockées dans le config
fichier et peuvent être modifiées à l'aide d'un éditeur de texte. Pour ajouter manuellement le support IAM Identity Center à un profil nommé, vous devez ajouter des clés et des valeurs au config
fichier.
La sso-session
section du config
fichier est utilisée pour regrouper les variables de configuration permettant d'acquérir des jetons d'accès SSO, qui peuvent ensuite être utilisés pour acquérir des AWS informations d'identification. Les paramètres suivants sont utilisés :
-
(Obligatoire)
sso_start_url
-
(Obligatoire)
sso_region
Vous définissez une sso-session
section et vous l'associez à un profil. Les sso_start_url
paramètres sso_region
et doivent être définis dans la sso-session
section. Généralement, sso_account_id
et sso_role_name
doit être défini dans la profile
section afin que le SDK puisse demander des informations d'identification SSO.
L'exemple suivant configure le SDK pour demander des informations d'identification SSO et prend en charge l'actualisation automatique des jetons :
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Cela permet également de réutiliser les sso-session
configurations sur plusieurs profils :
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[profileprod
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole2
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Cependant, ils sso_account_id
sso_role_name
ne sont pas obligatoires pour tous les scénarios de configuration de jetons SSO. Si votre application utilise uniquement des AWS services qui prennent en charge l'authentification par porteur, les informations d' AWS
identification traditionnelles ne sont pas nécessaires. L'authentification du porteur est un schéma d'authentification HTTP qui utilise des jetons de sécurité appelés jetons porteurs. Dans ce scénario, sso_account_id
et sso_role_name
ne sont pas obligatoires. Consultez le guide individuel de votre AWS service pour déterminer s'il prend en charge l'autorisation par jeton au porteur.
De plus, les étendues d'enregistrement peuvent être configurées dans le cadre d'unsso-session
. Scope est un mécanisme de la OAuth version 2.0 qui limite l'accès d'une application au compte d'un utilisateur. Une application peut demander une ou plusieurs étendues, et le jeton d'accès délivré à l'application sera limité aux étendues accordées. Ces étendues définissent les autorisations demandées pour être autorisées pour le client OIDC enregistré et les jetons d'accès récupérés par le client. L'exemple suivant fournit un accès sso_registration_scopes
pour répertorier les comptes/rôles :
[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 sso/cache
répertoire avec un nom de fichier basé sur le nom de session.
Note
L'actualisation automatique des jetons n'est pas prise en charge avec l'ancienne configuration non actualisable. Nous vous recommandons d'utiliser la configuration du jeton SSO.
Pour ajouter manuellement le support IAM Identity Center à un profil nommé, vous devez ajouter les clés et valeurs suivantes à la définition du profil dans le config
fichier.
Vous pouvez inclure toutes les autres clés et valeurs valides dans le .aws/config
fichier. L'exemple suivant est un profil IAM Identity Center :
[profile
my-sso-profile
] sso_start_url =https://my-sso-portal.awsapps.com/start
sso_region =us-west-2
sso_account_id =111122223333
sso_role_name =SSOReadOnlyRole
region =us-west-2
output =json
Pour exécuter des commandes, vous devez Connectez-vous à une session IAM Identity Center d'abord demander et récupérer vos informations d'identification temporaires.
Pour plus d'informations sur les credentials
fichiers config
et, consultezParamètres des fichiers de configuration et d'identification dans AWS CLI.
Connectez-vous à une session IAM Identity Center
Note
Le processus de connexion peut vous demander d'autoriser l' AWS CLI accès à vos données. Étant donné que le AWS CLI est construit au-dessus du SDK pour Python, les messages d'autorisation peuvent contenir des variantes du botocore
nom.
Pour récupérer et mettre en cache un ensemble d'informations d'identification IAM Identity Center, exécutez la commande suivante pour AWS CLI ouvrir votre navigateur par défaut et vérifier votre connexion à IAM Identity Center.
$
aws sso login --profile my-dev-profile
SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.
Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start
Les informations d'identification de votre session IAM Identity Center sont mises en cache et les AWS CLI utilisent pour récupérer en toute sécurité les AWS informations d'identification pour le rôle IAM spécifié dans le profil.
S'il n'est AWS CLI pas possible d'ouvrir automatiquement votre navigateur, les instructions pour démarrer manuellement le processus de connexion s'affichent en fonction du type d'autorisation que vous utilisez.
Vous pouvez également spécifier le sso-session
profil à utiliser lors de la connexion à l'aide du --sso-session
paramètre de la aws sso login
commande. L'sso-session
option n'est pas disponible pour l'ancien IAM Identity Center.
$
aws sso login --sso-session
my-dev-session
À partir de la version 2.22.0, l'autorisation PKCE est la valeur par défaut. Pour utiliser l'autorisation de l'appareil pour vous connecter, ajoutez l'--use-device-code
option.
$
aws sso login --profile my-dev-profile
--use-device-code
Le jeton d'authentification est mis en cache sur le disque sous le ~/.aws/sso/cache
répertoire avec un nom de fichier basé sur lesso_start_url
.
Exécutez une commande avec votre profil IAM Identity Center
Une fois connecté, vous pouvez utiliser vos informations d'identification pour appeler des AWS CLI commandes avec le profil nommé associé. L'exemple suivant montre une commande utilisant un profil :
$
aws sts get-caller-identity --profile
my-dev-profile
Tant que vous êtes connecté à IAM Identity Center et que ces informations d'identification mises en cache n'ont pas expiré, les informations d'identification expirées sont AWS CLI automatiquement renouvelées en cas de besoin AWS . Toutefois, si vos informations d'identification IAM Identity Center expirent, vous devez les renouveler explicitement en vous reconnectant à votre compte IAM Identity Center.
Déconnectez-vous de vos sessions IAM Identity Center
Lorsque vous avez terminé d'utiliser votre profil IAM Identity Center, vous pouvez laisser vos informations d'identification expirer ou exécuter la commande suivante pour supprimer vos informations d'identification mises en cache.
$
aws sso logout
Successfully signed out of all SSO profiles.
Résolution des problèmes
Si vous rencontrez des problèmes lors de l'utilisation du AWS CLI, consultez les étapes Résolution des erreurs liées au AWS CLI de résolution des problèmes.
Ressources connexes
Les ressources supplémentaires sont les suivantes.
-
Tutoriel : Utilisation d'IAM Identity Center pour exécuter des commandes Amazon S3 dans le AWS CLI
-
Installation ou mise à jour vers la dernière version du AWS CLI
-
Paramètres des fichiers de configuration et d'identification dans AWS CLI
-
aws configure sso
dans la AWS CLI version 2 Reference -
aws configure sso-session
dans la AWS CLI version 2 Reference -
aws sso login
dans la AWS CLI version 2 Reference -
aws sso logout
dans la AWS CLI version 2 Reference -
Configuration pour utiliser le AWS CLI with CodeCatalyst dans le guide de CodeCatalyst l'utilisateur Amazon
-
OAuth Étendue d'accès 2.0 dans le guide de l'utilisateur d'IAM Identity Center
-
Tutoriels de mise en route dans le guide de l'utilisateur d'IAM Identity Center