Comprendre l'authentification IAM Identity Center - AWS SDKset outils

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.

Comprendre l'authentification IAM Identity Center

Termes pertinents du centre d'identité IAM

Les termes suivants vous aident à comprendre le processus et la configuration sous-jacentsAWS IAM Identity Center. La documentation des API du AWS SDK utilise des noms différents de ceux d'IAM Identity Center pour certains de ces concepts d'authentification. Il est utile de connaître les deux noms.

Le tableau suivant montre comment les noms alternatifs sont liés les uns aux autres.

Nom du centre d'identité IAM Nom de l'API du SDK Description
Centre d'identité sso Bien que AWS Single Sign-On soit renommé, les espaces de noms de l'ssoAPI conserveront leur nom d'origine à des fins de rétrocompatibilité. Pour plus d'informations, voir Renommer le centre d'identité IAM dans le guide de l'AWS IAM Identity Centerutilisateur.

Console IAM Identity Center

Console d'administration

La console que vous utilisez pour configurer l'authentification unique.
AWSURL du portail d'accès Une URL propre à votre compte IAM Identity Center, par exemplehttps://xxx.awsapps.com/start. Vous vous connectez à ce portail à l'aide de vos identifiants de connexion IAM Identity Center.
Session sur le portail d'accès à l'IAM Identity Center Session d'authentification Fournit un jeton d'accès au porteur à l'appelant.
Session d'ensemble d'autorisations La session IAM que le SDK utilise en interne pour effectuer les Service AWS appels. Dans les discussions informelles, il est possible que cette session soit incorrectement appelée « session de rôle ».
Informations d'identification du jeu d'autorisations

AWSInformations d'identification

informations d'identification sigv4

Les informations d'identification que le SDK utilise réellement pour la plupart des Service AWS appels (en particulier, tous les Service AWS appels sigv4). Dans les discussions informelles, il est possible que cela soit appelé à tort « informations d'identification du rôle ».
Fournisseur d'identifiants IAM Identity Center Fournisseur d'informations d'identification SSO Comment obtenez-vous les informations d'identification, telles que la classe ou le module fournissant les fonctionnalités.

Comprendre la résolution des informations d'identification du SDK pour Services AWS

L'API IAM Identity Center échange les informations d'identification du jeton porteur contre des informations d'identification sigv4. La plupart Services AWS sont des API sigv4, à quelques exceptions près, comme Amazon CodeWhisperer etAmazon CodeCatalyst. Ce qui suit décrit le processus de résolution des informations d'identification permettant de prendre en charge la plupart des Service AWS appels visant à obtenir le code de votre application. AWS IAM Identity Center

Démarrage d’une session de portail d'accès AWS

  • Commencez le processus en vous connectant à la session avec vos informations d'identification.

    • Utilisez la aws sso login commande dans le AWS Command Line Interface (AWS CLI). Cela démarre une nouvelle session IAM Identity Center si vous n'avez pas encore de session active.

  • Lorsque vous démarrez une nouvelle session, vous recevez un jeton d'actualisation et un jeton d'accès de la part d'IAM Identity Center. AWS CLIIl met également à jour un fichier JSON de cache SSO avec un nouveau jeton d'accès et un nouveau jeton d'actualisation et le rend disponible pour utilisation par les SDK.

  • Si vous avez déjà une session active, la AWS CLI commande réutilise la session existante et expirera chaque fois que la session existante expirera. Pour savoir comment définir la durée d'une session IAM Identity Center, voir Configurer la durée des sessions du portail d'AWSaccès de vos utilisateurs dans le Guide de l'AWS IAM Identity Centerutilisateur.

    • La durée maximale des sessions a été étendue à 90 jours afin de réduire le besoin de connexions fréquentes.

Comment le SDK obtient les informations d'identification pour les appels Service AWS

Les SDK fournissent un accès Services AWS lorsque vous instanciez un objet client par service. Lorsque le profil sélectionné du AWS config fichier partagé est configuré pour la résolution des informations d'identification IAM Identity Center, IAM Identity Center est utilisé pour résoudre les informations d'identification de votre application.

Pour récupérer les informations d'identification des API sigv4 à l'aide de l'authentification unique IAM Identity Center, le SDK utilise le jeton d'accès IAM Identity Center pour obtenir une session IAM. Cette session IAM est appelée session d'ensemble d'autorisations et permet d'AWSaccéder au SDK en assumant un rôle IAM.

  • La durée de session de l'ensemble d'autorisations est définie indépendamment de celle de la session IAM Identity Center.

    • Pour savoir comment définir la durée de session définie par les autorisations, voir Définir la durée de session dans le guide de AWS IAM Identity Center l'utilisateur.

  • Sachez que les informations d'identification de l'ensemble d'autorisations sont également appelées informations AWSd'identification et informations d'identification sigv4 dans la plupart des documentations d'API du AWS SDK.

Les informations d'identification de l'ensemble d'autorisations sont renvoyées par un appel getRoleCredentialsde l'API IAM Identity Center au SDK. L'objet client du SDK utilise ce rôle IAM supposé pour effectuer des appelsService AWS, par exemple pour demander à Amazon S3 de répertorier les buckets de votre compte. L'objet client peut continuer à fonctionner en utilisant ces informations d'identification du jeu d'autorisations jusqu'à l'expiration de la session du jeu d'autorisations.

Expiration et actualisation de la session

Lorsque vous utilisez leSSOconfiguration du fournisseur de jetons, le jeton d'accès horaire obtenu auprès d'IAM Identity Center est automatiquement actualisé à l'aide du jeton d'actualisation.

  • Si le jeton d'accès a expiré lorsque le SDK essaie de l'utiliser, le SDK utilise le jeton d'actualisation pour essayer d'obtenir un nouveau jeton d'accès. L'IAM Identity Center compare le jeton d'actualisation à la durée de la session de votre portail d'accès IAM Identity Center. Si le jeton d'actualisation n'est pas expiré, le centre d'identité IAM répond avec un autre jeton d'accès.

  • Ce jeton d'accès peut être utilisé soit pour actualiser la session d'ensemble d'autorisations des clients existants, soit pour résoudre les informations d'identification des nouveaux clients.

Toutefois, si la session du portail d'accès IAM Identity Center est expirée, aucun nouveau jeton d'accès n'est accordé. Par conséquent, la durée définie d'autorisations ne peut pas être renouvelée. Il expirera (et l'accès sera perdu) chaque fois que la durée de session définie par le cache expirera pour les clients existants.

Tout code qui crée un nouveau client échouera à l'authentification dès l'expiration de la session IAM Identity Center. Cela est dû au fait que les informations d'identification du jeu d'autorisations ne sont pas mises en cache. Votre code ne sera pas en mesure de créer un nouveau client et de terminer le processus de résolution des informations d'identification tant que vous ne disposerez pas d'un jeton d'accès valide.

Pour récapituler, lorsque le SDK a besoin de nouvelles informations d'identification d'un ensemble d'autorisations, le SDK vérifie d'abord si des informations d'identification existantes sont valides et les utilise. Cela s'applique qu'il s'agisse d'un nouveau client ou d'un client existant dont les informations d'identification ont expiré. Si les informations d'identification ne sont pas trouvées ou si elles ne sont pas valides, le SDK appelle l'API IAM Identity Center pour obtenir de nouvelles informations d'identification. Pour appeler l'API, elle a besoin du jeton d'accès. Si le jeton d'accès est expiré, le SDK utilise le jeton d'actualisation pour essayer d'obtenir un nouveau jeton d'accès auprès du service IAM Identity Center. Ce jeton est accordé si votre session du portail d'accès à l'IAM Identity Center n'a pas expiré.