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.
Configurez le AWS CLI pour utiliser les informations d'identification du fournisseur de jetons IAM Identity Center avec actualisation automatique de l'authentification
Cette rubrique décrit comment configurer la configuration du fournisseur AWS CLI de jetons AWS IAM Identity Center (IAM Identity Center) pour authentifier les utilisateurs. À l'aide de cette configuration de fournisseur de jetons SSO, votre AWS SDK ou outil peut récupérer automatiquement des jetons d'authentification actualisés.
Lorsque vous utilisez IAM Identity Center, vous pouvez vous connecter à Active Directory, à un annuaire IAM Identity Center intégré ou à un autre IdP connecté à IAM Identity Center. Vous pouvez associer ces informations d'identification à un rôle AWS Identity and Access Management (IAM) pour exécuter des AWS CLI commandes.
Quel que soit l'IdP que vous utilisez, IAM Identity Center élimine ces distinctions. Par exemple, vous pouvez connecter Microsoft Azure AD comme décrit dans l'article de blog The Next Evolution in IAM Identity Center
Note
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.
Vous pouvez utiliser la configuration du fournisseur de jetons SSO pour actualiser automatiquement les jetons d'authentification selon les besoins de votre application et pour utiliser des options de durée de session prolongée. Vous pouvez le configurer de la manière suivante :
-
Automatiquement, à l'aide
aws configure sso
desaws configure sso-session
commandes et. Les commandes suivantes sont des assistants qui vous guident dans la configuration de votre profil. Lessso-session
informations sont les suivantes :-
Utilisez-le aws configure ssopour créer ou modifier à la fois vos
config
profils et vossso-session
sections. -
aws configure sso-sessionÀ utiliser pour créer ou modifier uniquement
sso-session
des sections.
-
-
Manuellement, en éditant le
config
fichier qui contient les profils nommés.
Prérequis
-
Installez le AWS CLI. Pour plus d’informations, consultez Installez ou mettez à jour 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 options Comptes AWS et celles pour Administrator
ouPowerUserAccess
. Sélectionnez PowerUserAccess
lorsque vous travaillez avec le SDK. Cela vous permet également de trouver des informations sur l'accès programmatique.
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 le 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.
Configurez votre profil avec l'aws configure sso
assistant
Pour configurer à la fois un profil IAM Identity Center et sso-session
votre AWS CLI
-
Rassemblez les informations de votre centre d'identité IAM en effectuant les opérations suivantes :
-
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 dont vous avez besoin pour exécuteraws configure sso
. -
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.
-
-
Dans le terminal de votre choix, exécutez la
aws configure sso
commande et indiquez l'URL de démarrage de votre centre d'identité IAM et la AWS région qui héberge le répertoire du centre d'identité.$
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
-
Les AWS CLI tentatives d'ouverture de votre navigateur par défaut et de lancement du processus de connexion à votre compte IAM Identity Center.
Attempting to automatically open the SSO authorization page in your default browser.
S'il n'est AWS CLI pas possible d'ouvrir le navigateur, le message suivant apparaît avec des instructions sur la façon de démarrer manuellement le processus de connexion.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
Then enter the code:QCFK-N451
IAM Identity Center utilise le code pour associer la session IAM Identity Center à votre session en cours AWS CLI . La page du navigateur IAM Identity Center vous invite à vous connecter à l'aide de vos informations d'identification IAM Identity Center. Cela permet de récupérer et AWS CLI d'afficher les AWS comptes et les rôles que vous êtes autorisé à utiliser avec 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. -
AWS CLI Affiche les AWS comptes que vous pouvez utiliser. Si vous n'êtes autorisé à utiliser qu'un seul compte, celui-ci est automatiquement AWS CLI sélectionné pour vous et ignore l'invite. Les AWS comptes que vous pouvez utiliser sont déterminés par votre configuration utilisateur dans IAM Identity Center.
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (
123456789011
) ProductionAccount, production-account-admin@example.com (123456789022
)Utilisez les touches fléchées pour sélectionner le compte que vous souhaitez utiliser. Le caractère « > » sur la gauche pointe vers le choix actuel. Appuyez sur ENTRÉE pour effectuer votre sélection.
-
Cela AWS CLI confirme votre choix de compte et affiche les rôles IAM disponibles dans le compte sélectionné. Si le compte sélectionné ne répertorie qu'un seul rôle, il le AWS CLI sélectionne automatiquement et ignore l'invite. Les rôles que vous pouvez utiliser sont déterminés par votre configuration utilisateur dans IAM Identity Center.
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess<ENTER>Utilisez les touches fléchées pour sélectionner le rôle IAM que vous souhaitez utiliser, puis appuyez dessus.
-
Spécifiez le format de sortie par défaut, le format par défaut Région AWS auquel envoyer les commandes, et fournissez un nom pour le profil afin de pouvoir référencer ce profil parmi tous ceux définis sur l'ordinateur local. 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. Si vous avez déjà une configuration existante, vous pouvez également
<ENTER>
appuyer sur cette touche pour sélectionner les valeurs par défaut affichées entre crochets. Le nom de profil suggéré est le numéro d'ID de compte suivi d'un trait de soulignement, lui-même suivi du nom du rôle.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>Note
Si vous le spécifiez
default
comme nom de profil, ce profil devient celui utilisé chaque fois que vous exécutez une AWS CLI commande et que vous ne spécifiez pas de nom de profil. -
Un message final décrit la configuration de profil terminée.
To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile
my-dev-profile
-
Cela entraîne la création de la
sso-session
section et du profil nommé~/.aws/config
qui ressemblent à ce qui suit :[profile
my-dev-profile
] sso_session =my-sso
sso_account_id =123456789011
sso_role_name =readOnly
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
Vous pouvez désormais l'utiliser,
sso-session
ainsi que le profil, pour demander des informations d'identification actualisées. Utilisez laaws sso login
commande pour demander et récupérer les informations d'identification nécessaires pour exécuter des commandes. Pour obtenir des instructions, veuillez consulter Utiliser un profil nommé IAM Identity Center .
Configurez uniquement votre sso-session
section avec aws configure sso-session
l'assistant
La aws configure sso-session
commande met uniquement à jour les sso-session
sections du ~/.aws/config
fichier. Cette commande peut être utilisée pour créer ou mettre à jour vos sessions. Cela est utile si vous avez déjà des paramètres de configuration existants et que vous souhaitez créer une nouvelle configuration ou modifier une sso-session
configuration existante.
Exécutez la aws configure sso-session
commande et indiquez l'URL de démarrage de votre centre d'identité IAM et la AWS région qui héberge le répertoire du centre d'identité.
$
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
Après avoir saisi vos informations, un message décrit la configuration complète du profil.
Completed configuring SSO session: my-sso
Run the following to login and refresh access token for this session:
aws sso login --sso-session my-sso
Note
Si vous êtes connecté au sso-session
que vous mettez à jour, actualisez votre jeton en exécutant la aws sso login
commande.
Configuration manuelle à l'aide du 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. sso_region
et sso_start_url
doit être défini 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 d'OAuth 2.0 permettant de limiter 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 ~/.aws/sso/cache
répertoire avec un nom de fichier basé sur le nom de session.