Configuration du navigateur de stockage pour S3 - Amazon Simple Storage Service

Configuration du navigateur de stockage pour S3

Pour connecter les utilisateurs finaux aux emplacements Amazon S3, vous devez d’abord configurer une méthode d’authentification et d’autorisation. Il existe trois méthodes pour configurer une méthode d’authentification et d’autorisation avec le navigateur de stockage :

Méthode 1 : gérer l’accès aux données pour vos clients et partenaires tiers

Avec cette méthode, vous pouvez utiliser AWS Amplify Auth pour gérer le contrôle d’accès et la sécurité des fichiers. Cette méthode est idéale lorsque vous souhaitez connecter vos clients ou partenaires tiers aux données dans S3. Grâce à cette option, vos clients peuvent s’authentifier à l’aide de fournisseurs d’identité sociaux ou d’entreprise.

Vous fournissez des informations d’identification IAM aux utilisateurs finaux et à des partenaires tiers à l’aide d’AWS Amplify Auth avec un compartiment S3 configuré pour utiliser Amplify Storage. AWS Amplify Auth repose sur Amazon Cognito, un service entièrement géré de gestion de l’identité et de l’accès des clients. Il vous permet d’authentifier et d’autoriser les utilisateurs à partir d’un annuaire intégré d’utilisateurs, d’un annuaire d’entreprise ou de fournisseurs d’identité grand public. Le modèle d’autorisation Amplify définit les préfixes auxquels l’utilisateur authentifié actif peut accéder. Pour plus d’informations sur la configuration de l’autorisation pour AWS Amplify, consultez Configuration du stockage.

Pour initialiser le composant avec les méthodes d’authentification et de stockage Amplify, ajoutez l’extrait de code suivant à votre application web :

import { createAmplifyAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; import config from './amplify_outputs.json'; Amplify.configure(config); export const { StorageBrowser } = createStorageBrowser({ config: createAmplifyAuthAdapter(), });

Méthode 2 : gestion de l’accès aux données pour vos principaux IAM pour votre compte AWS

Si vous souhaitez gérer l’accès pour vos principaux IAM ou votre Compte AWS directement, vous pouvez créer un rôle IAM autorisé à invoquer l’opération d’API S3 GetDataAccess. Pour configurer cela, vous devez créer une instance S3 Access Grants afin de mapper les autorisations des compartiments à usage général et les préfixes S3 aux identités IAM spécifiées. Le composant Navigateur de stockage (qui doit également être appelé côté client après l’obtention des informations d’identification IAM) invoque ensuite l’opération d’API ListCallerAccessGrants de S3 pour récupérer les autorisations disponibles pour le demandeur d’identité et renseigner les emplacements dans le composant. Une fois que vous avez obtenu l’autorisation s3:GetDataAccess, ces informations d’identification sont ensuite utilisées par le composant Navigateur de stockage pour demander l’accès aux données à S3.

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date() }, } }, // AWS `region` and `accountId` region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Méthode 3 : gestion de l’accès aux données à l’échelle

Si vous souhaitez associer une instance S3 Access Grants à IAM Identity Center pour bénéficier d’une solution plus évolutive (par exemple, si vous souhaitez fournir l’accès aux données à l’ensemble de votre entreprise), vous pouvez demander des données à Amazon S3 au nom de l’utilisateur authentifié actuel. Par exemple, vous pouvez autoriser les groupes d’utilisateurs de votre annuaire d’entreprise à accéder à vos données dans S3. Cette approche vous permet de gérer de manière centralisée les autorisations S3 Access Grants pour vos utilisateurs et groupes, y compris celles hébergées par des fournisseurs externes tels que Microsoft Entra, Okta, etc.

Lorsque vous utilisez cette méthode, l’intégration à l’IAM Identity Center vous permet d’utiliser les annuaires d’utilisateurs existants. Un autre avantage de la propagation d’identité approuvée d’IAM Identity Center est que chaque événement de données AWS CloudTrail pour Amazon S3 contient une référence directe à l’identité de l’utilisateur final qui a accédé aux données S3.

Si votre application prend en charge OAuth 2.0 et que vos utilisateurs ont besoin d’accéder à des services AWS depuis ces applications, nous vous recommandons d’utiliser la propagation d’identité approuvée. Grâce à la propagation d’identité approuvée, un utilisateur peut se connecter à une application, et cette application peut transmettre l’identité de l’utilisateur dans toutes les demandes d’accès aux données dans les services AWS. Cette application interagit avec IAM Identity Center pour le compte de tous les utilisateurs authentifiés. Pour plus d’informations, consultez Utilisation de la propagation d’identité approuvée entre applications.

La propagation fiable des identités est une fonctionnalité AWS IAM Identity Center que les administrateurs de Services AWS connectés peuvent utiliser pour accorder et auditer l’accès aux données de service. L'accès à ces données est basé sur les attributs de l'utilisateur tels que les associations de groupes. La mise en place d'une propagation d'identité sécurisée nécessite une collaboration entre les administrateurs de Services AWS connectés et les administrateurs d'IAM Identity Center. Pour plus d’informations, consultez Prérequis et considérations.​

Configuration

Pour configurer l’authentification du navigateur de stockage dans la AWS Management Console à l’aide de S3 Access Grants et de la propagation d’identité approuvée d’IAM Identity Center, vos applications doivent demander des données à Amazon S3 au nom de l’utilisateur authentifié actuel. Grâce à cette approche, vous pouvez donner aux utilisateurs ou aux groupes d’utilisateurs de votre annuaire d’entreprise un accès direct à vos compartiments, préfixes ou objets S3. Votre application n’a donc pas besoin de mapper des utilisateurs à un principal IAM.

Le flux de travail suivant décrit les étapes de configuration du navigateur de stockage pour S3, à l’aide d’IAM Identity Center et de S3 Access Grants :

Étapes Description
1 Activation d’IAM Identity Center pour AWS Organizations
2 Configuration de la fédération Gestion des identités et des accès AWS Identity Center
3 Ajout d’un émetteur de jetons approuvés dans la console Gestion des identités et des accès AWS Identity Center

L’émetteur de jetons approuvés représente votre fournisseur d’identité (IdP) externe au sein d’IAM Identity Center, ce qui lui permet de reconnaître les jetons d’identité des utilisateurs authentifiés de votre application.

4 Création d’un rôle IAM pour l’application bootstrap et le identity bearer
5 Création et configuration de votre application dans IAM Identity Center

Cette application interagit avec IAM Identity Center pour le compte des utilisateurs authentifiés.

6 Ajout de S3 Access Grants en tant qu’application approuvée pour la propagation des identités

Cette étape connecte votre application à S3 Access Grants, afin qu’elle puisse envoyer des demandes aux autorisations d’accès S3 au nom des utilisateurs authentifiés.

7 Création d’une autorisation pour un utilisateur ou un groupe d’utilisateurs

Cette étape synchronise les utilisateurs depuis Gestion des identités et des accès AWS Identity Center avec le système de gestion des identités interdomaines (SCIM). SCIM synchronise les identités de votre IAM Identity Center avec les identités de votre fournisseur d’identité (IdP).

8 Création du composant Navigateur de stockage pour S3

Activation d’IAM Identity Center pour AWS Organizations

Pour activer IAM Identity Center pour AWS Organizations, effectuez les opérations suivantes :

  1. Connectez-vous à la AWS Management Console à l’aide de l’une des méthodes suivantes :

    1. Nouvel utilisateur d’AWS (utilisateur racine) : connectez-vous en tant que propriétaire du compte en sélectionnant Root user (Utilisateur racine) et en saisissant votre adresse e-mail Compte AWS. Sur la page suivante, saisissez votre mot de passe.

    2. Utilisateur existant d’AWS (informations d’identification IAM) : connectez-vous à l’aide de vos informations d’identification IAM avec des autorisations administratives.

  2. Ouvrez la console IAM Identity Center.

  3. Sous Activer IAM Identity Center, sélectionnez Activer.

    Note

    IAM Identity Center nécessite la configuration d’AWS Organizations. Si vous n’avez pas encore créé d’organisation, AWS peut en créer une pour vous. Choisissez Créer une organisation AWS pour effectuer ce processus.

  4. Choisissez Activer avec AWS Organizations.

  5. Choisissez Continuer.

  6. (Facultatif) Ajoutez les balises que vous souhaitez associer à l’instance de cette organisation.

  7. (Facultatif) Configurez l’administration déléguée.

    Note

    Si vous utilisez un environnement à plusieurs comptes, nous vous recommandons de configurer l’administration déléguée. Grâce à l’administration déléguée, vous pouvez limiter le nombre de personnes ayant besoin d’accéder au compte de gestion dans AWS Organizations. Pour plus d’informations, consultez Administration déléguée.

  8. Choisissez Enregistrer.

Au besoin, AWS Organizations envoie automatiquement un e-mail de vérification à l’adresse associée à votre compte de gestion. Il peut y avoir un délai avant la réception de l’e-mail de vérification. Assurez-vous de vérifier votre adresse e-mail dans les 24 heures, avant l’expiration de l’e-mail de vérification.

Configuration de la fédération Gestion des identités et des accès AWS Identity Center

Pour utiliser le navigateur de stockage pour S3 avec les utilisateurs de l’annuaire d’entreprise, vous devez configurer IAM Identity Center pour qu’il utilise un fournisseur d’identité (IdP) externe. Vous pouvez utiliser le fournisseur d’identité de votre choix. Sachez toutefois que chaque fournisseur d’identité utilise des paramètres de configuration différents. Pour en savoir plus sur l’utilisation de différents fournisseurs d’identité externes, consultez les didacticiels sources d’IAM Identity Center.

Note

Assurez-vous d’enregistrer l’URL de l’émetteur et les attributs d’audience du fournisseur d’identité que vous avez configuré, car vous devrez vous y référer ultérieurement. Si vous ne disposez pas de l’accès ni des autorisations nécessaires pour configurer un fournisseur d’identité externe, vous devrez peut-être contacter l’administrateur de ce fournisseur pour les obtenir.

Ajout d’un émetteur de jetons approuvés dans la console Gestion des identités et des accès AWS Identity Center

L’émetteur de jetons approuvés représente votre fournisseur d’identité externe au sein d’Gestion des identités et des accès AWS Identity Center, et reconnaît les jetons d’identité des utilisateurs authentifiés de votre application. Le propriétaire du compte de l’instance IAM Identity Center de votre entité AWS Organizations doit effectuer ces étapes. Cela peut avoir lieu soit dans la console IAM Identity Center, soit par programmation.

Pour ajouter un émetteur de jetons approuvés dans la console Gestion des identités et des accès AWS Identity Center, effectuez les opérations suivantes :

  1. Ouvrez la console IAM Identity Center.

  2. Sélectionnez Paramètres.

  3. Choisissez l’onglet Authentification.

  4. Accédez à la section Émetteurs de jetons approuvés et renseignez les informations suivantes :

    1. Sous URL de l’émetteur, entrez l’URL du fournisseur d’identité externe qui sert d’émetteur de jetons approuvés. Vous devrez peut-être contacter l’administrateur du fournisseur d’identité externe pour obtenir ces informations. Pour plus d’informations, consultez Utilisation d’applications avec un émetteur de jetons approuvés.

    2. Sous Nom de l’émetteur de jeton approuvé, entrez le nom de l’émetteur de jetons approuvés. Ce nom apparaît dans la liste des émetteurs de jetons approuvés que vous pouvez sélectionner à l’étape 8, lorsqu’une ressource d’application est configurée pour la propagation des identités.

  5. Mettez à jour la section Mapper les attributs en fonction de l’attribut de votre application préférée. Notez que chaque attribut du fournisseur d’identité est mappé à un attribut d’IAM Identity Center. Par exemple, vous pouvez mapper l’attribut d’application email à l’attribut utilisateur IAM Identity Center email. Pour consulter la liste des attributs utilisateur autorisés dans IAM Identity Center, consultez le tableau figurant dans la section Mappages d’attributs pour le répertoire AWS Managed Microsoft AD.

  6. (Facultatif) Si vous souhaitez ajouter une balise de ressource, entrez la paire clé/valeur. Pour ajouter plusieurs balises de ressources, choisissez Ajouter une nouvelle balise afin de générer une nouvelle entrée, puis saisissez les paires clé/valeur.

  7. Choisissez Créer un émetteur de jetons approuvés.

  8. Une fois que vous avez créé l’émetteur de jetons approuvés, contactez l’administrateur de l’application pour lui communiquer le nom de l’émetteur de jetons approuvés, afin qu’il puisse confirmer que cet émetteur est visible dans la console appropriée.

  9. Assurez-vous que l’administrateur de l’application sélectionne cet émetteur de jetons approuvés dans la console applicable pour permettre l’accès utilisateur à l’application à partir d’applications configurées pour la propagation d’identité approuvée.

Création d’un rôle IAM pour l’application bootstrap et le identity bearer

Pour que l’application bootstrap et les utilisateurs du identity bearer puissent interagir de manière appropriée, veillez à créer deux rôles IAM. Un rôle IAM est requis pour l’application bootstrap, et l’autre rôle IAM doit être utilisé pour le porteur d’identité ou pour les utilisateurs finaux qui accèdent à l’application web demandant l’accès via S3 Access Grants. L’application bootstrap recevra le jeton émis par le fournisseur d’identité et invoquera l’API CreateTokenWithIAM, en échangeant ce jeton avec celui émis par Identity Center.

Créez un rôle IAM, comme bootstrap-role, avec les autorisations suivantes. L’exemple suivant de politique IAM donne les autorisations nécessaires pour que bootstrap-role effectue l’échange de jetons :

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "sso-oauth:CreateTokenWithIAM", ], "Resource": "arn:${Partition}:sso::${AccountId}:application/${InstanceId}/${ApplicationId}", "Effect": "Allow" }, { "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Resource": "arn:aws:iam::${AccountId}:role/identity-bearer-role", "Effect": "Allow" }] }

Créez ensuite un deuxième rôle IAM (comme identity-bearer-role), que le fournisseur d’identité utilisera pour générer les informations d’identification IAM. Les informations d’identification IAM renvoyées par le fournisseur d’identité à l’application web sont utilisées par le composant Navigateur de stockage pour S3 afin d’autoriser l’accès aux données S3 :

{ "Action": [ "s3:GetDataAccess", "s3:ListCallerAccessGrants", ], "Resource": "arn:${Partition}:s3:${Region}:${Account}:access-grants/default", "Effect": "Allow" }

Ce rôle IAM (identity-bearer-role) doit utiliser une politique d’approbation avec l’instruction suivante :

{ "Effect": "Allow", "Principal": { "AWS": "arn:${Partition}:iam::${Account}:role/${RoleNameWithPath}" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] }

Création et configuration de votre application dans IAM Identity Center

Note

Avant de commencer, vérifiez que vous avez créé les rôles IAM requis à l’étape précédente. Vous devrez spécifier l’un de ces rôles IAM au cours de cette étape.

Pour créer et configurer une application gérée par le client dans AWS IAM Identity Center, effectuez les étapes suivantes :

  1. Ouvrez la console IAM Identity Center.

  2. Choisissez Applications.

  3. Choisissez l’onglet Gérée par le client.

  4. Choisissez Add application (Ajouter une application).

  5. Sur la page Sélectionner le type d’application, sous Préférence de configuration, choisissez J’ai une application que je souhaite configurer.

  6. Sous Type d’application, choisissez OAuth 2.0.

  7. Choisissez Suivant. La page Spécifier l’application s’affiche.

  8. Dans la section Nom et description de l’application, entrez un nom d’affichage pour l’application, tel que storage-browser-oauth.

  9. Saisissez une Description. La description de l’application apparaît dans la console IAM Identity Center et dans les demandes d’API, mais pas dans le portail d’accès AWS.

  10. Sous Procédé d’affectation des utilisateurs et des groupes, choisissez Ne pas exiger d’affectations. Cette option permet à tous les utilisateurs et groupes autorisés d’IAM Identity Center d’accéder à cette application.

  11. Sous Portail d’accès AWS, entrez l’URL de l’application à laquelle les utilisateurs peuvent accéder.

  12. (Facultatif) Si vous souhaitez ajouter une balise de ressource, entrez la paire clé/valeur. Pour ajouter plusieurs balises de ressources, choisissez Ajouter une nouvelle balise afin de générer une nouvelle entrée, puis saisissez les paires clé/valeur.

  13. Choisissez Suivant. La page de spécification de l’authentification s’affiche.

  14. Sous Authentification avec un émetteur de jetons approuvés, cochez la case pour sélectionner l’émetteur de jetons approuvés que vous avez créé précédemment.

  15. Sous Configurer les émetteurs de jeton approuvé sélectionné, entrez la réclamation Aud. La réclamation Aud identifie l’audience du jeton web JSON, ou jeton JWT. Il s’agit du nom sous lequel l’émetteur de jetons approuvés identifie cette application.

    Note

    Vous devrez peut-être contacter l’administrateur du fournisseur d’identité externe pour obtenir ces informations.

  16. Choisissez Suivant. La page de spécification des informations d’identification pour l’authentification s’affiche.

  17. Sous Méthode de configuration, choisissez Saisir un ou plusieurs rôles IAM.

  18. Sous Saisir les rôles IAM, ajoutez le rôle IAM ou l’ Amazon Resource Name (ARN) du jeton porteur d’identité. Vous devez saisir le rôle IAM que vous avez créé à l’étape précédente pour l’application de fournisseur d’identité (par exemple, bootstrap-role).

  19. Choisissez Suivant.

  20. Sur la page Vérification et configuration, passez en revue les détails de la configuration de votre application. Si vous devez modifier des paramètres, choisissez Modifier pour la section que vous souhaitez modifier, puis apportez les modifications nécessaires.

  21. Sélectionnez Envoyer. La page de détails de l’application que vous venez d’ajouter s’affiche.

Une fois que vous avez configuré vos applications, vos utilisateurs peuvent y accéder depuis leur portail d’accès AWS en fonction des ensembles d’autorisations que vous avez créés et de l’accès utilisateur que vous avez attribué.

Ajout de S3 Access Grants en tant qu’application approuvée pour la propagation des identités

Après avoir configuré votre application gérée par le client, vous devez spécifier S3 Access Grants pour la propagation des identités. S3 Access Grants fournit des informations d’identification aux utilisateurs pour qu’ils puissent accéder aux données Amazon S3. Lorsque vous vous connectez à votre application gérée par le client, S3 Access Grants transmet votre identité d’utilisateur à l’application approuvée.

Prérequis : assurez-vous d’avoir configuré S3 Access Grants (par exemple, en créant une instance S3 Access Grants et en enregistrant un emplacement) avant de suivre ces étapes. Pour plus d’informations, consultez Bien démarrer avec S3 Access Grants.

Pour ajouter S3 Access Grants à des fins de propagation d’identité à votre application gérée par le client, effectuez les opérations suivantes :

  1. Ouvrez la console IAM Identity Center.

  2. Choisissez Applications.

  3. Choisissez l’onglet Gérée par le client.

  4. Dans la liste Applications gérées par le client, sélectionnez l’application OAuth 2.0 pour laquelle vous souhaitez lancer des demandes d’accès. Il s’agit de l’application à laquelle vos utilisateurs se connecteront.

  5. Sur la page Détails, sous Applications approuvées pour la propagation d’identité, choisissez Spécifier les applications approuvées.

  6. Sous Type de configuration, sélectionnez Applications individuelles et spécifiez l’accès, puis choisissez Suivant.

  7. Sur la page Sélectionner un service, choisissez S3 Access Grants. S3 Access Grants comprend des applications que vous pouvez utiliser pour définir votre propre application web pour la propagation d’identité approuvée.

  8. Choisissez Suivant. Vous sélectionnerez vos applications à l’étape suivante.

  9. Sur la page Sélectionner les applications, choisissez Applications individuelles, cochez la case correspondant à chaque application pouvant recevoir des demandes d’accès, puis choisissez Suivant.

  10. Sur la page Configuration d’accès, sous Méthode de configuration, sélectionnez l’une des options suivantes :

    • Sélectionnez l’accès pour chaque application : sélectionnez cette option pour configurer différents niveaux d’accès pour chaque application. Choisissez l’application pour laquelle vous souhaitez configurer le niveau d’accès, puis choisissez Modifier l’accès. Dans Niveau d’accès à appliquer, modifiez les niveaux d’accès selon vos besoins, puis sélectionnez Enregistrer les modifications.

    • Appliquer le même niveau d’accès à toutes les applications : sélectionnez cette option si vous n’avez pas besoin de configurer les niveaux d’accès pour chaque application.

  11. Choisissez Suivant.

  12. Sur la page Vérifier la configuration, passez en revue les choix que vous avez effectués.

    Note

    Assurez-vous que l’autorisation s3:access_grants:read_write est accordée à vos utilisateurs. Cette autorisation permet à vos utilisateurs de récupérer les informations d’identification leur permettant d’accéder à Amazon S3. Assurez-vous d’utiliser la politique IAM que vous avez créée précédemment, ou S3 Access Grants, pour limiter l’accès aux opérations d’écriture.

  13. Pour apporter des modifications, choisissez Modifier pour la section de configuration à laquelle vous voulez apporter des modifications. Effectuez les modifications nécessaires, puis sélectionnez Enregistrer les modifications.

  14. Choisissez Applications approuvées pour ajouter l’application sécurisée pour la propagation d’identité.

Création d’une autorisation pour un utilisateur ou un groupe d’utilisateurs

Au cours de cette étape, vous utiliserez IAM Identity Center pour provisionner vos utilisateurs. Vous pouvez utiliser SCIM pour le provisionnement automatique ou manuel des utilisateurs et des groupes. SCIM synchronise les identités de votre IAM Identity Center avec les identités de votre fournisseur d’identité (IdP). Cela inclut le provisionnement, les mises à jour et le déprovisionnement des utilisateurs entre votre fournisseur d’identité et IAM Identity Center.

Note

Cette étape est nécessaire, car lorsque S3 Access Grants est utilisé avec IAM Identity Center, les utilisateurs locaux d’IAM Identity Center ne sont pas utilisés. Au lieu de cela, les utilisateurs doivent être synchronisés depuis le fournisseur d’identité avec IAM Identity Center.

Pour synchroniser les utilisateurs du fournisseur d’identité avec IAM Identity Center, effectuez les opérations suivantes :

Pour obtenir des exemples de configuration du fournisseur d’identité avec IAM Identity Center pour votre cas d’utilisation spécifique, consultez les didacticiels sur les sources d’identité d’IAM Identity Center.

Création du composant Navigateur de stockage pour S3

Après avoir configuré une instance IAM Identity Center et après avoir créé des autorisations dans S3 Access Grants, ouvrez l’application React. Dans l’application React, utilisez createManagedAuthAdapter pour configurer les règles d’autorisation. Vous devez indiquer un fournisseur d’informations d’identification pour renvoyer les informations d’identification que vous avez obtenues auprès d’IAM Identity Center. Vous pouvez ensuite appeler createStorageBrowser pour initialiser le composant Navigateur de stockage pour S3 :

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import '@aws-amplify/ui-react-storage/styles.css'; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date(), }, } }, // AWS `region` and `accountId` of the S3 Access Grants Instance. region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Créez ensuite un mécanisme pour échanger les jetons web JSON (JWT) de votre application web avec les informations d’identification IAM d’IAM Identity Center. Pour plus d’informations sur l’échange de jetons JWT, consultez les ressources suivantes :

Configurez ensuite un point de terminaison d’API pour gérer les demandes d’extraction d’informations d’identification. Pour valider l’échange de jetons web JSON (JWT), effectuez les opérations suivantes :

  1. Récupérez le jeton web JSON à partir de l’en-tête d’autorisation des demandes entrantes.

  2. Validez le jeton à l’aide des clés publiques de l’URL du jeu JWKS (JSON Web Key Set) spécifié.

  3. Vérifiez les déclarations relatives à l’expiration, à l’émetteur, au sujet et à l’audience du jeton.

Pour échanger le jeton web JSON du fournisseur d’identité avec les informations d’identification AWS IAM, effectuez les opérations suivantes :

Astuce

Évitez de consigner des informations sensibles. Nous vous recommandons d’utiliser des contrôles de gestion des erreurs pour les autorisations manquantes, les jetons ayant expiré et les autres exceptions. Pour plus d’informations, consultez l’article Implementing AWS Lambda error handling patterns dans le blog AWS Compute.

  1. Vérifiez que les paramètres Autorisation et Portée requis sont fournis dans la demande.

  2. Utilisez l’API CreateTokenWithIAM pour échanger le jeton web JSON contre un jeton IAM Identity Center.

    Note

    Une fois que le jeton Web JSON du fournisseur d’identité a été utilisé, il ne peut pas être réutilisé. Un nouveau jeton devra être utilisé pour l’échange avec IAM Identity Center.

  3. Utilisez l’opération d’API AssumeRole pour endosser un rôle transitoire à l’aide du jeton IAM Identity Center. Assurez-vous d’utiliser le rôle du porteur d’identité, également connu sous le nom de rôle porteur du contexte d’identité (par exemple, identity-bearer-role), pour demander les informations d’identification.

  4. Renvoyez les informations d’identification IAM à l’application web.

    Note

    Assurez-vous d’avoir mis en place un mécanisme de journalisation approprié. Les réponses sont renvoyées dans un format JSON standardisé avec un code d’état HTTP approprié.