Tutoriel : développer un exemple de point de terminaison SCIM dans Microsoft Entra ID

Ce tutoriel explique comment déployer le code de référence SCIM avec Azure App Service. Ensuite, testez le code à l’aide de Postman ou en l’intégrant au service d’approvisionnement Microsoft Entra. Le tutoriel s’adresse aux développeurs qui cherchent à prendre en main SCIM ou à toute personne souhaitant tester un point de terminaison SCIM.

Dans ce tutoriel, vous allez apprendre à :

  • Déployer votre point de terminaison SCIM dans Azure.
  • Tester votre point de terminaison SCIM.

Déployer votre point de terminaison SCIM dans Azure

Les étapes fournies ici permettent de déployer le point de terminaison SCIM sur un service à l’aide de Visual Studio 2019 et Visual Studio Code avec Azure App Service. Le code de référence SCIM peut s’exécuter localement, être hébergé par un serveur local ou déployé sur un autre service externe. Pour plus d’informations sur l’approvisionnement d’un point de terminaison SCIM, consultez Tutoriel : Développer et planifier l’approvisionnement pour un point de terminaison SCIM.

Obtenir et déployer l’exemple d’application

Accédez au code de référence à partir de GitHub et sélectionnez Clone or download (Cloner ou télécharger). Sélectionnez Ouvrir dans le bureau ou copiez le lien, ouvrez Visual Studio, puis sélectionnez Cloner ou extraire le code pour entrer le lien copié et effectuer une copie locale. Enregistrez les fichiers dans un dossier où la longueur totale du chemin est inférieure ou égale à 260 caractères.

  1. Dans Visual Studio, veillez à vous connecter au compte qui a accès à vos ressources d’hébergement.

  2. Dans l’Explorateur de solutions, ouvrez Microsoft.SCIM.sln et cliquez avec le bouton droit sur le fichier Microsoft.SCIM.WebHostSample. Cliquez sur Publier.

    Screenshot that shows the sample file.

    Remarque

    Pour exécuter cette solution localement, double-cliquez sur le projet et sélectionnez IIS Express pour lancer le projet en tant que page web avec une URL d’hôte local. Pour plus d’informations, consultez vue d’ensemble d’IIS Express.

  3. Sélectionnez Créer un profil et assurez-vous que les options App Service et Créer sont sélectionnées.

    Screenshot that shows the Publish window.

  4. Parcourez les options de la boîte de dialogue et renommez l’application avec le nom de votre choix. Ce nom est utilisé à la fois dans l’application et dans l’URL du point de terminaison SCIM.

    Screenshot that shows creating a new app service.

  5. Sélectionnez le groupe de ressources à utiliser et sélectionnez Publier.

    Screenshot that shows publishing a new app service.

Configurer App Service

Accédez à l’application dans Azure App Service>Configuration et sélectionnez Nouveau paramètre d’application pour ajouter le paramètre Token__TokenIssuer avec la valeur https://sts.windows.net/<tenant_id>/. Remplacez <tenant_id> par votre ID de locataire Microsoft Entra. Si vous souhaitez tester le point de terminaison SCIM à l’aide de Postman, ajoutez un paramètre ASPNETCORE_ENVIRONMENT avec la valeur Development.

Screenshot that shows the Application settings window.

Lorsque vous testez votre point de terminaison avec une application d’entreprise dans le centre d’administration Microsoft Entra, vous avez deux options. Vous pouvez conserver l’environnement dans Development et fournir le jeton de test à partir du point de terminaison /scim/token, ou vous pouvez remplacer l’environnement par Production et laisser le champ de jeton vide.

Et voilà ! Votre point de terminaison SCIM est désormais publié et vous pouvez utiliser l’URL Azure App Service pour tester le point de terminaison SCIM.

Tester votre point de terminaison SCIM

Les demandes adressées à un point de terminaison SCIM nécessitent une autorisation. La norme SCIM a plusieurs options disponibles. Les requêtes peuvent utiliser les cookies, l’authentification de base, l’authentification TLS client ou n’importe quel méthodes inscrites dans RFC 7644.

Veillez à éviter les méthodes non sécurisées, comme le nom d’utilisateur et le mot de passe, au profit d’une méthode plus sûre, comme OAuth. Microsoft Entra ID prend en charge les jetons du porteur à longue durée de vie (pour les applications de la galerie et les autres) et l’octroi d’autorisation OAuth (pour les applications de la galerie).

Remarque

Les méthodes d’autorisation fournies dans le référentiel sont à des fins de test uniquement. Quand vous effectuez l’intégration à Microsoft Entra ID, vous pouvez réviser les conseils en matière d’autorisation. Consultez Planifier le provisionnement d’un point de terminaison SCIM.

L’environnement de développement active des fonctionnalités potentiellement dangereuses pour la production, comme le code de référence pour contrôler le comportement de la validation du jeton de sécurité. Le code de validation du jeton utilise un jeton de sécurité auto-signé et la clé de signature est stockée dans le fichier de configuration. Consultez le paramètre Token:IssuerSigningKey dans le fichier appsettings.Development.json.

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

Notes

Lorsque vous envoyez une requête GET au point de terminaison /scim/token, un jeton est émis à l’aide de la clé configurée. Ce jeton peut être utilisé en tant que jeton du porteur pour une autorisation ultérieure.

Le code de validation du jeton par défaut est configuré pour utiliser un jeton Microsoft Entra et requiert que le locataire émetteur soit configuré à l’aide du paramètre Token:TokenIssuer dans le fichier appsettings.json.

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

Étapes suivantes