Tutoriel : Valider un point de terminaison SCIM

Ce tutoriel explique comment utiliser le validateur SCIM Microsoft Entra pour valider la compatibilité de votre serveur de provisionnement avec le client SCIM Azure. Le tutoriel est destiné aux développeurs qui souhaitent générer un serveur compatible SCIM pour gérer leurs identités avec le service de provisionnement Microsoft Entra.

Dans ce tutoriel, vous allez apprendre à :

  • Sélectionner une méthode de test
  • Configurer la méthode de test
  • Valider votre point de terminaison SCIM

Prérequis

Sélectionner une méthode de test

La première étape consiste à sélectionner une méthode de test pour valider votre point de terminaison SCIM.

  1. Ouvrez votre navigateur web, puis accédez au validateur SCIM : https://scimvalidator.microsoft.com/.

  2. Sélectionnez l’une des trois options de test. Vous pouvez utiliser les attributs par défaut, découvrir automatiquement le schéma ou charger un schéma.

    Screenshot of SCIM Validator main page.

Utiliser les attributs par défaut - Le système fournit les attributs par défaut, que vous devez modifier en fonction de vos besoins.

Découvrir le schéma : si votre point de terminaison prend en charge /Schemas, cette option permet à l’outil de découvrir les attributs pris en charge. Nous recommandons cette option, car elle réduit la surcharge liée à la mise à jour de votre application au fur et à mesure de sa génération.

Charger Microsoft Entra schéma : chargez le schéma que vous avez téléchargé à partir de votre exemple d’application sur Microsoft Entra ID.

Configurer la méthode de test

Une fois que vous avez sélectionné une méthode de test, l’étape suivante consiste à la configurer.

Screenshot of SCIM Validator attributes page.

  1. Si vous utilisez l’option relative aux attributs par défaut, renseignez tous les champs indiqués.
  2. Si vous utilisez l’option relative à la découverte du schéma, entrez l’URL et le jeton du point de terminaison SCIM.
  3. Si vous chargez un schéma, sélectionnez le fichier .json à charger. L’option accepte un fichier .json exporté à partir de votre exemple d’application sur le centre administrateur Microsoft Entra. Pour savoir comment exporter un schéma, consultez Guide pratique : Exporter la configuration de provisionnement et restaurer la dernière bonne configuration connue.

Notes

Pour tester les attributs de groupe, veillez à sélectionner Activer les tests de groupe.

  1. Modifiez la liste comme vous le souhaitez pour les attributs utilisateur et de groupe en utilisant l’option « Ajouter un attribut » à la fin de la liste d’attributs et le signe moins (-) sur le côté droit de la page.
  2. Sélectionnez la propriété de jonction dans la liste des attributs utilisateur et de groupe.

Notes

La propriété de jonction, également appelée attribut de correspondance, est un attribut sur lequel les ressources d’utilisateur et de groupe peuvent être interrogées de manière unique à la source, et mises en correspondance sur le système cible.

Valider votre point de terminaison SCIM

Enfin, vous devez tester et valider votre point de terminaison.

  1. Sélectionnez Tester le schéma pour commencer le test.

  2. Passez en revue les résultats avec un récapitulatif des tests réussis et non réussis.

  3. Sélectionnez l’onglet Afficher les détails, puis passez en revue les problèmes pour les corriger.

  4. Continuez à tester votre schéma jusqu’à ce que tous les tests soient réussis.

    Screenshot of SCIM Validator results page.

Utilisation des expressions sur le validateur SCIM

Le validateur SCIM prend en charge l’utilisation des expressions pour générer des valeurs souhaitées pour les attributs.

Comment utiliser des expressions

  1. Accédez à la page Attributs.
  2. Saisissez votre expression souhaitée dans la colonne valeur de l’attribut que vous souhaitez personnaliser.
  3. Exécutez votre test

Remarque

Ces expressions fonctionnent à la fois pour les attributs Utilisateur et Groupe.

Expressions disponibles

Le tableau ci-dessous référence les expressions disponibles

Expression Signification Exemple Résultat
generateRandomString {Count of String Characters} Générer une chaîne aléatoire avec le nombre spécifié de caractères alphabétiques {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generateRandomNumber {Count of Numbers} Générer un nombre aléatoire avec le nombre spécifié de chiffres {%generateRandomNumber 4%} 8 821
generateAlphaNumeric {Count of Characters} Générer une chaîne aléatoire avec un mélange de lettres et de nombres, avec le nombre spécifié de caractères {%generateAlphaNumeric 7%} 59Q2M9W
generateAlphaNumericWithSpecialCharacters {Count of Characters} Générer une chaîne aléatoire avec un mix de lettres, de nombres et d’un caractère spécial, en fonction du nombre spécifié de caractères {%generateAlphaNumericWithSpecialCharacters 8%} TEST D385N05’TEST

Vous pouvez ajouter des valeurs avant ou après les expressions pour obtenir le résultat souhaité, par exemple, lorsque vous ajoutez {% generateRandomString 6 %}@contoso.com dans un champ valeur de l’attribut userName, il génère une nouvelle valeur userName avec chaque test tout en conservant le domaine contoso.com.

Utiliser Postman pour tester les points de terminaison (facultatif)

En plus du validateur SCIM, vous pouvez également utiliser Postman pour valider un point de terminaison. Cet exemple fournit un ensemble de tests dans Postman. L’exemple valide les opérations CRUD (Create, Read, Update et Delete). Les opérations sont validées sur les utilisateurs et les groupes, le filtrage, les mises à jour de l’appartenance au groupe et la désactivation des utilisateurs.

Les points de terminaison se trouvent dans le répertoire {host}/scim/ et vous pouvez utiliser des requêtes HTTP standard pour interagir avec eux. Pour modifier l’itinéraire /scim/, consultez ControllerConstant.cs dans AzureADProvisioningSCIMreference>ScimReferenceApi>Controllers.

Notes

Vous ne pouvez utiliser que des points de terminaison HTTP pour les tests locaux. Le service de provisionnement Microsoft Entra requiert que votre point de terminaison prenne en charge le protocole HTTPS.

  1. Téléchargez Postman et démarrez l’application.

  2. Copiez et collez ce lien dans Postman pour importer la collection de tests : https://aka.ms/ProvisioningPostman.

    Screenshot that shows importing the test collection in Postman.

  3. Créez un environnement de test qui contient les variables suivantes :

    Environnement Variable Valeur
    Exécuter le projet localement à l’aide d’IIS Express
    Serveur localhost
    Port :44359(n’oubliez pas :)
    Api scim
    Exécuter le projet localement à l’aide de Kestrel
    Serveur localhost
    Port :5001(n’oubliez pas :)
    Api scim
    Héberger le point de terminaison dans Azure
    Serveur (entrez votre URL SCIM)
    Port (laissez vide)
    Api scim
  4. Utilisez Get Key de la collection Postman pour envoyer une requête GET au point de terminaison de jeton et récupérer un jeton de sécurité à stocker dans la variable token pour les requêtes suivantes.

    Screenshot that shows the Postman Get Key folder.

    Remarque

    Pour sécuriser un point de terminaison SCIM, vous avez besoin d’un jeton de sécurité avant de vous connecter. Le tutoriel utilise le point de terminaison {host}/scim/token pour générer un jeton auto-signé.

Et voilà ! Vous pouvez maintenant exécuter la collection Postman pour tester la fonctionnalité du point de terminaison SCIM.

Nettoyer les ressources

Si vous avez créé dans vos tests des ressources Azure qui ne sont plus nécessaires, n’oubliez pas de les supprimer.

Problèmes connus avec Microsoft Entra validateur SCIM

  • Les suppressions réversibles (désactivations) ne sont pas encore prises en charge.
  • Le format de fuseau horaire est généré de manière aléatoire et ne fonctionne pas pour les systèmes qui tentent de le valider.
  • Le correctif de suppression d’attributs utilisateur peut tenter de supprimer des attributs obligatoires pour certains systèmes. Ce genre de défaillance doit être ignoré.

Étapes suivantes