Domaines d'identité OCI avec facteur
Dans ce tutoriel, vous effectuerez des appels d'API (interface de programmation d'application REST) vers un domaine d'identité à l'aide de Postman, un logiciel généralement utilisé pour les tests d'API REST.
Les API REST des domaines d'identité permettent d'intégrer des domaines d'identité aux clients REST afin de gérer les utilisateurs, les groupes, les applications et les paramètres, et d'effectuer une authentification unique et une autorisation fédérées dans le nuage. Les API prennent en charge OAuth 2.0, OpenID Connect et le système de gestion des identités entre domaines (SCIM).
Dans ce tutoriel, vous allez :
- Enregistrer une application client OAuth
- Définir les paramètres d'environnement dans Postman
- Importer la collection Postman des domaines d'identité
- Demander un jeton d'accès OAuth
- Créer un utilisateur
- Obtenir un utilisateur
- Supprimer un utilisateur
Ce tutoriel prend environ 20 minutes.
Ce tutoriel est propre à la gestion des identités et des accès OCI avec des domaines d'identité.
Avant de commencer
Pour suivre ce tutoriel, vous devez disposer des éléments suivants :
- Accès à un domaine d'identité doté du rôle d'administrateur de domaine d'identité. Assurez-vous d'avoir les valeurs suivantes :
- Le nom de la location, le nom du domaine d'identité et les données d'identification (nom d'utilisateur et mot de passe) pour vous connecter à une location de la console Oracle Cloud Infrastructure dotée d'un domaine d'identité.
- URL du domaine affichée dans la page des détails du domaine d'identité après la connexion. Par exemple,
https://<idcs-letterandnumberstring>.identity.oraclecloud.com
. Si vous avez besoin d'aide pour trouver l'URL du domaine, voir Recherche d'une URL de domaine d'identité dans la documentation. L'URL du domaine d'identité est utilisée pour créer une demande REST.
- Connaissance du style d'architecture REST
- L'application de bureau Postman est installée.
- La connaissance du facteur n'est pas nécessaire.
- Créez un compte Postman. Un compte est requis pour utiliser des variables d'environnement.
- (Facultatif) Créez un espace de travail dans Postman.
1. Enregistrer une application client
Pour authentifier un appel d'API REST vers un domaine d'identité, enregistrez une application client OAuth dans le domaine d'identité.
Cette tâche est requise pour obtenir les données d'identification (ID client et clé secrète client) utilisées pour l'authentification. Les données d'identification sont équivalentes aux données d'identification de service (ID et mot de passe) que le client utilise pour communiquer avec un domaine d'identité. Cette tâche vous aide également à déterminer quelles demandes sont autorisées au moyen de l'API REST.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
- Sélectionnez le nom du domaine d'identité dans lequel vous voulez travailler. Vous devrez peut-être modifier le compartiment pour trouver le domaine souhaité.
- Dans la page des détails du domaine, sélectionnez Applications intégrées.
- Sélectionnez Ajouter une application.
- Dans la boîte de dialogue Ajouter une application, sélectionnez Application confidentielle, puis Lancer le flux de travail.
- À l'étape Ajouter les détails de l'application du flux de travail, entrez un nom d'application et une description, puis sélectionnez Suivant.
- À l'étape Configurer OAuth, effectuez les actions suivantes :
- Dans la zone Configuration du client, sélectionnez Configurer cette application comme client maintenant.
La boîte se développe, affichant plus d'options.
- Sous Autorisation, sélectionnez uniquement Données d'identification du client comme type d'autorisation autorisé.
- Faites défiler vers le bas jusqu'à la fin de la boîte. Sélectionnez Ajouter des rôles d'application, puis Ajouter des rôles.
- Dans le panneau Ajouter des rôles d'application, sélectionnez Administrateur de domaine d'identité, puis Ajouter.
- Dans la zone Configuration du client, sélectionnez Configurer cette application comme client maintenant.
- À l'étape Configurer OAuth, sélectionnez Suivant, puis Terminer.
Vous pouvez ignorer l'étape de configuration de la politique dans ce tutoriel.
Lorsque l'application est créée, son état initial est Inactif.
- Dans la page Détails de l'application, sélectionnez Activer. Sélectionnez ensuite Activer l'application pour confirmer l'activation de cette application.
- Dans la page des détails de l'application, faites défiler l'affichage vers le bas jusqu'à Informations générales et suivez ces étapes pour copier l'ID client et les valeurs de clé secrète client.
- Mettez en surbrillance la valeur affichée à côté de ID client et copiez-la dans un fichier texte.
- Sous Clé secrète client, sélectionnez Afficher la clé secrète. Dans la boîte de dialogue qui s'affiche, sélectionnez Copier, puis Fermer. La valeur est copiée dans le presse-papiers. Collez la valeur dans un fichier texte.
- Stockez les valeurs d'ID client et de clé secrète client que vous avez copiées dans un emplacement sécurisé.
2. Définir les paramètres d'environnement dans Postman
Pour exécuter ce tutoriel avec succès dans Postman, importez les exemples de variable REST idcs-rest-clients
et définissez les paramètres d'environnement.
- Ouvrez l'application de bureau Postman et connectez-vous à l'aide de votre compte. Si vous avez un espace de travail, sélectionnez Espace de travail et sélectionnez-le. Sinon, vous pouvez utiliser l'espace de travail par défaut.
- Dans l'espace de travail, sélectionnez Importer.
- Dans la boîte de dialogue Importer, collez l'URL suivante des variables d'environnement GitHub dans le champ.
https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/example_environment.json
Postman commence l'importation dès que vous collez l'URL. Une fois l'importation terminée, sélectionnez Omettre pour fermer la boîte de message.
- Dans la barre latérale de gauche, sélectionnez Environnement. Cliquez ensuite avec le bouton droit de la souris sur Exemple d'environnement Oracle Identity Cloud Service avec variables et sélectionnez Dupliquer.
- Dans la liste des environnements, cliquez avec le bouton droit de la souris sur Exemple d'environnement Oracle Identity Cloud Service avec copie de variables qui s'affiche sous l'environnement initial et sélectionnez Renommer. Dans le champ, entrez
Environment A for REST API Testing
et appuyez sur Entrée. - Pour mettre à jour les variables dans l'environnement renommé, entrez les valeurs suivantes dans les champs Valeur initiale et Valeur courante.
- HOST : URL de domaine que vous avez obtenue à partir de la page des détails du domaine d'identité après vous être connecté à la console Oracle Cloud Infrastructure. Par exemple,
https://<idcs-letterandnumber123string>.identity.oraclecloud.com
. Si vous avez besoin d'aide pour trouver l'URL du domaine, voir Recherche d'une URL de domaine d'identité dans la documentation. - CLIENT_ID et CLIENT_SECRET : ID client et clé secrète client que vous avez copiés dans un fichier texte à partir de l'application approuvée du domaine d'identité, comme décrit dans la tâche de tutoriel Enregistrer une application client.
- USER_LOGIN et USER_PW : Votre nom d'utilisateur et votre mot de passe de connexion
- HOST : URL de domaine que vous avez obtenue à partir de la page des détails du domaine d'identité après vous être connecté à la console Oracle Cloud Infrastructure. Par exemple,
- Sélectionnez Enregistrer.
- Dans la liste des environnements, cochez la case
Environment A for REST API Testing
pour en faire l'environnement actif.L'environnement actif est affiché dans le sélecteur d'environnement dans le coin supérieur droit de l'atelier.
3. Importer la collection Postman de domaines d'identité
Pour exécuter ce tutoriel avec succès dans Postman, importez la collection REST_API_for_Oracle_Identity_Cloud_Service
, qui contient des exemples de demandes d'API pouvant être utilisées pour effectuer des appels.
- Dans l'espace de travail Postman, sélectionnez Importer.
- Dans la boîte de dialogue Importer, collez l'URL suivante dans le champ pour importer la collection Postman d'API REST des domaines d'identité.
https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/REST_API_for_Oracle_Identity_Cloud_Service.postman_collection.json
Postman commence à importer dès que vous collez l'URL. Une fois l'importation terminée, vous pouvez sélectionner Omettre pour fermer la boîte de message.
- Dans la barre latérale de gauche, sélectionnez Collections (Collections).
- Sélectionnez le nom REST_API_for_Oracle_Identity_Cloud_Service.
Les demandes de la collection sont organisées dans des dossiers.
4. Demander un jeton d'accès
Pour effectuer des appels d'API à un domaine d'identité, vous devez authentifier le client par rapport au domaine d'identité, puis obtenir un jeton d'accès OAuth.
Le jeton d'accès fournit une session entre un client (dans ce tutoriel, Postman) et le domaine d'identité.
Par défaut, un jeton d'accès a un intervalle de temporisation de 60 minutes. Pour effectuer des appels d'API REST au-delà de l'intervalle, vous devez demander un nouveau jeton d'accès.
- Dans la barre latérale de gauche, sélectionnez Collections (Collections). Développez REST_API_for_Oracle_Identity_Cloud_Service, s'il n'est pas développé.
- Développez OAuth, puis Jetons.
- Sous Jetons, sélectionnez POST Obtenir access_token (données d'identification du client).
L'onglet
POST
de l'API s'affiche dans l'atelier. Le volet de demande de l'API est séparé du volet de réponse par une ligne. Vous pouvez faire glisser la ligne de séparation pour afficher plus ou moins de chaque volet.Dans le volet de demande, le champ URL affiche :
POST {{HOST}}/oauth2/v1/token
Les variables pour
{{HOST}}
, la connexion et les données d'identification d'authentification sont déjà définies lorsque vous avez terminé la tâche de tutoriel Définir les paramètres d'environnement dans Postman. - Sélectionnez envoyer.
Dans le visualiseur de réponse, vérifiez que le statut
200 OK
apparaît et que le jeton d'accès est retourné dans le corps de la réponse. Un jeton d'accès est une très longue chaîne de lettres et de chiffres. - Pour affecter la valeur du jeton d'accès à une variable d'environnement, procédez comme suit.
- Dans la réponse, mettez en surbrillance le contenu du jeton d'accès qui se trouve entre les guillemets et cliquez avec le bouton droit de la souris. Dans le menu contextuel, sélectionnez Définir : Environnement A pour le test d'API REST, puis sélectionnez access_token dans le menu secondaire pour affecter le contenu mis en surbrillance en tant que valeur d'environnement du jeton d'accès.
- Dans le coin supérieur droit de l'atelier, sélectionnez l'icône pour ouvrir le volet des variables.
La valeur
access_token
affectée est affichée sous Toutes les variables.
- Dans la réponse, mettez en surbrillance le contenu du jeton d'accès qui se trouve entre les guillemets et cliquez avec le bouton droit de la souris. Dans le menu contextuel, sélectionnez Définir : Environnement A pour le test d'API REST, puis sélectionnez access_token dans le menu secondaire pour affecter le contenu mis en surbrillance en tant que valeur d'environnement du jeton d'accès.
- Pour fermer le volet des variables, sélectionnez X dans le coin supérieur droit du volet ou sélectionnez l'icône des variables.
Si vous envoyez le prochain appel d'API REST au domaine d'identité avant l'expiration du jeton, l'appel d'API contient le jeton d'accès et d'autres informations relatives à la demande. Les informations REST sont envoyées au moyen d'un identificateur de ressource universel de demande, d'un en-tête, de paramètres ou d'un code JSON et varient en fonction de l'appel et de la méthode d'API REST que vous demandez.
5. Créer un utilisateur
Cette tâche suppose que vous avez demandé un jeton d'accès au cours de la dernière heure.
Si nécessaire, demandez un nouveau jeton avant de créer un utilisateur.
- Dans la barre latérale de gauche, sélectionnez Collections (Collections). Développez Utilisateurs, puis Créer.
- Sous Créer, sélectionnez Créer un utilisateur.
L'onglet
POST
de l'API s'affiche dans l'atelier. - Sélectionnez l'onglet Corps.
L'exemple utilise le mode brut et le format JSON pour les données de corps.
- Sélectionnez envoyer.
-
Dans le visualiseur de réponse, vérifiez que le statut
201 Created
apparaît et que le corps de la réponse contient des détails sur l'utilisateur qui a été créé avec succès dans le domaine d'identité. -
Si le statut
401 Unauthorized
s'affiche, avec le message d'erreurProper authorization is required for this area
, demandez un nouveau jeton d'accès et réessayez de créer l'utilisateur.
-
- Dans le corps de la réponse d'une création réussie, faites défiler l'affichage vers le bas jusqu'à la ligne 40, qui a la valeur OCID de l'utilisateur créé.
Par exemple :
ocid1.user.oc1..aabaaacaaaq7xxxxxx
- Mettez en surbrillance la valeur de l'OCID entre guillemets. Dans le menu contextuel, sélectionnez Définir : Environnement A pour le test d'API REST, puis sélectionnez ID utilisateur dans le menu secondaire.
- Dans le coin supérieur droit de l'atelier, sélectionnez l'icône pour ouvrir le volet des variables.
La valeur
userid
affectée est affichée sous Toutes les variables.
6. Obtenir un utilisateur
Cette tâche extrait les détails d'un utilisateur spécifique à l'aide de la variable userid
.
La procédure suivante suppose que vous avez terminé la tâche précédente Créer un utilisateur.
- Dans la barre latérale de gauche, sélectionnez Collections (Collections). Développez Utilisateurs, puis Rechercher.
- Sous Rechercher, sélectionnez Obtenir un utilisateur spécifique.
L'onglet
GET
de l'API s'affiche dans l'atelier. - Sélectionnez envoyer.
-
Si vous réussissez, confirmez que le statut
200 OK
apparaît dans le visualiseur de réponse. Vous devez également voir les détails de cet utilisateur spécifique dans l'onglet Corps. -
Si vous voyez le statut
401 Unauthorized
avec le message d'erreurProper authorization is required for this area
, demandez un nouveau jeton d'accès et réessayez d'extraire l'utilisateur spécifique.
-
7. Supprimer un utilisateur
Cette tâche supprime un utilisateur spécifié par la variable userid
.
La procédure suivante suppose que vous avez terminé les tâches de tutoriel Créer un utilisateur et Obtenir un utilisateur.
Si nécessaire, demandez un nouveau jeton d'accès avant d'effectuer cette tâche.
- Dans la barre latérale de gauche, sélectionnez Collections (Collections). Développez Utilisateurs, puis Supprimer.
- Sélectionnez Supprimer l'utilisateur.
L'onglet
DELETE
de l'API s'affiche dans l'atelier. - Dans le coin supérieur droit de l'atelier, sélectionnez l'icône pour ouvrir le volet des variables.
Sous Toutes les variables, vérifiez que la variable
userid
affiche toujours la même valeur d'OCID que celle utilisée pour extraire les détails de l'utilisateur. - Sélectionnez envoyer.
-
Si vous réussissez, confirmez que le statut
204 No content
apparaît dans le visualiseur de réponse. L'onglet Corps est vide, car aucun corps de réponse n'est retourné pour une opérationDELETE
. -
Si vous voyez le statut
401 Unauthorized
avec le message d'erreurProper authorization is required for this area
, demandez un nouveau jeton d'accès et réessayez de supprimer l'utilisateur spécifique.
-
- Lorsque la suppression est réussie, sélectionnez l'onglet Obtenir un utilisateur spécifique dans l'atelier. Sélectionnez ensuite Envoyer.
Dans le visualiseur de réponse, vérifiez que le statut
404 Not found
apparaît, ce qui indique que l'utilisateur a été supprimé.
Étape suivante
Pour explorer des directives pour créer des demandes et des cas d'utilisation courants à l'aide des API REST des domaines d'identité OCI, voir :