Approvisionnement d’utilisateurs en applications SQL
La documentation suivante fournit des informations sur la configuration et le tutoriel montrant comment le connecteur SQL générique et l’hôte connecteur ECMA (Extensible Connectivity) peuvent être utilisés avec une plateforme SQL Server.
Ce document décrit les étapes à suivre pour attribuer et désattribuer automatiquement des utilisateurs de Microsoft Entra ID dans une base de données SQL.
Pour obtenir des informations importantes sur le rôle de ce service, son fonctionnement et les questions fréquentes (FAQ), consultez les articles Automatiser l’attribution et la désattribution des utilisateurs dans les applications SaaS avec Microsoft Entra ID et Architecture de l’attribution d’applications locales.
La vidéo suivante offre une vue d’ensemble de l’approvisionnement local.
Prérequis pour provisionner une base de données SQL
Conditions préalables locales
L’application s’appuie sur une base de données SQL, dans laquelle les enregistrements des utilisateurs peuvent être créés, mis à jour et supprimés. L’ordinateur qui exécute l’agent de provisionnement doit avoir :
- Windows Server 2016 ou une version ultérieure.
- Une connectivité au système de base de données cible et une connectivité sortante à login.microsoftonline.com, d’autres services en ligne Microsoft et aux domaines Azure. Par exemple, une machine virtuelle Windows Server 2016 hébergée dans Azure IaaS ou derrière un proxy.
- Au moins 3 Go de RAM.
- .NET Framework 4.7.2.
- Le pilote ODBC pour la base de données SQL.
La configuration de la connexion à la base de données de l’application se fait via un Assistant. Selon les options que vous sélectionnez, certains écrans de l’Assistant peuvent ne pas être disponibles et les informations peuvent être légèrement différentes. Utilisez les informations ci-dessous pour vous guider dans votre configuration.
Bases de données prises en charge
- Microsoft SQL Server et Azure SQL
- IBM DB2 9.x
- IBM DB2 10.x
- IBM DB2 11.5
- Oracle 10g et 11g
- Oracle 12c et 18c
- MySQL 5.x
- MySQL 8.x
- Postgres
Conditions préalables requises du cloud
Un locataire Microsoft Entra avec Microsoft Entra ID P1 ou Premium P2 (ou EMS E3 ou E5).
L’utilisation de cette fonctionnalité nécessite des licences Microsoft Entra ID P1. Pour trouver la licence adaptée à vos besoins, consultez Comparer les fonctionnalités en disponibilité générale de Microsoft Entra ID.
Rôle Administrateur d’identité hybride pour la configuration de l’agent de provisionnement et rôles Administrateur d’application ou Administrateur d’application cloud pour la configuration du provisionnement dans le portail Azure.
Les utilisateurs Microsoft Entra à attribuer dans la base de données doivent déjà être configurés avec tous les attributs requis par le schéma de la base de données et qui ne sont pas générés automatiquement par la base de données.
Préparer l’exemple de base de données
Dans cet article, vous allez configurer le connecteur SQL Microsoft Entra pour interagir avec la base de données relationnelle de votre application. En règle générale, les applications gèrent l’accès avec une table dans leur base de données SQL, avec une ligne dans la table par utilisateur. Si vous disposez déjà d’une application avec une base de données, passez à la section suivante.
Si vous n’avez pas encore de base de données avec une table appropriée, vous devez, à des fins de démonstration, en créer une que Microsoft Entra ID peut être autorisé à utiliser. Si vous utilisez SQL Server, exécutez le script SQL trouvé dans l’Annexe A. Ce script crée un exemple de base de données avec le nom CONTOSO et une table unique Employees
. Cette table de base de données dans laquelle vous allez provisionner les utilisateurs.
Colonne de table | Source |
---|---|
ContosoLogin | Nom d’utilisateur principal Microsoft Entra |
FirstName | Nom donné Microsoft Entra |
LastName | Nom de famille Microsoft Entra |
Adresse e-mail Exchange Online | |
InternalGUID | Généré par la base de données elle-même |
AzureID | ID objet Microsoft Entra |
textID | Pseudonyme de messagerie Microsoft Entra ID |
Déterminer la façon dont le connecteur SQL Microsoft Entra interagit avec votre base de données
Vous devez avoir un compte d’utilisateur dans l’instance SQL avec les droits nécessaires pour effectuer des mises à jour des données dans les tables de la base de données. Si votre base de données SQL est gérée par une autre personne, contactez-la pour obtenir le nom et le mot de passe du compte que Microsoft Entra ID doit utiliser pour s’authentifier auprès de la base de données. Si l’instance SQL est installée sur un autre ordinateur, vous devez également vous assurer que la base de données SQL autorise les connexions entrantes à partir du pilote ODBC sur l’ordinateur agent.
Si vous disposez déjà d’une base de données pour votre application, vous devez déterminer la façon dont Microsoft Entra ID doit interagir avec cette base de données : interaction directe avec les tables et les vues, via des procédures stockées déjà présentes dans la base de données, ou via des instructions SQL que vous fournissez pour les requêtes et les mises à jour. En effet, une application plus complexe peut contenir d’autres tables auxiliaires dans sa base de données, nécessiter une pagination pour des tables avec des milliers d’utilisateurs, ou exiger que Microsoft Entra ID appelle une procédure stockée qui effectue le traitement de données supplémentaires, comme le chiffrement, le hachage ou les vérifications de validité.
Quand vous créez la configuration du connecteur définissant son interaction avec la base de données d’une application, vous configurez d’abord une approche de la façon dont l’hôte du connecteur lit le schéma de votre base de données, puis vous configurez l’approche que le connecteur doit utiliser de manière continue, via les profils d’exécution. Chaque profil d’exécution spécifie la manière dont le connecteur doit générer les instructions SQL. Le choix des profils d’exécution et de la méthode dans un profil d’exécution dépend des éléments pris en charge par votre moteur de base de données et des exigences de l’application.
Après la configuration, quand le service de provisionnement démarre, il effectue automatiquement les interactions configurées dans le profil d’exécution Importation complète. Dans ce profil d’exécution, le connecteur lit tous les enregistrements des utilisateurs de la base de données de l’application, en utilisant généralement une instruction SELECT. Ce profil d’exécution sera nécessaire ultérieurement si Microsoft Entra ID doit apporter un changement à un utilisateur. En effet, Microsoft Entra ID saura alors qu’il doit mettre à jour un enregistrement existant pour cet utilisateur dans la base de données, au lieu de créer un nouvel enregistrement pour cet utilisateur.
Chaque fois que des modifications sont effectuées dans Microsoft Entra ID, par exemple pour affecter un nouvel utilisateur à l’application ou mettre à jour un utilisateur existant, le service d’attribution effectue les interactions de base de données SQL configurées dans le profil d’exécution Exportation. Dans le profil d’exécution Exportation, Microsoft Entra ID génère des instructions SQL pour insérer, mettre à jour et supprimer des enregistrements dans la base de données, afin de synchroniser le contenu de la base de données par rapport à Microsoft Entra ID.
Si votre base de données prend en charge cette fonctionnalité, vous pouvez également configurer un profil d’exécution Importation différentielle. Dans ce profil d’exécution, Microsoft Entra ID lit les changements ayant été apportés dans la base de données, autres que par Microsoft Entra ID, depuis la dernière importation complète ou différentielle. Ce profil d’exécution est facultatif, car il nécessite que la base de données soit structurée pour permettre la lecture des modifications.
Dans la configuration de chaque profil d’exécution du connecteur, vous spécifiez si le connecteur Microsoft Entra doit générer ses propres instructions SQL pour une table ou une vue, appeler vos procédures stockées ou utiliser des requêtes SQL personnalisées que vous fournissez. En général, vous utilisez la même méthode pour tous les profils d’exécution dans un connecteur.
- Si vous sélectionnez la méthode Table ou Vue pour un profil d’exécution, le connecteur Microsoft Entra génère les instructions SQL nécessaires SELECT, INSERT, UPDATE et DELETE pour interagir avec la table ou la vue dans la base de données. Cette méthode est l’approche la plus simple si votre base de données dispose d’une table unique ou d’une vue pouvant être mise à jour avec peu de lignes existantes.
- Si vous sélectionnez la méthode de procédure stockée, votre base de données doit avoir quatre procédures stockées : lire une page des utilisateurs, ajouter un utilisateur, mettre à jour un utilisateur et supprimer un utilisateur. Vous allez configurer le connecteur Microsoft Entra avec les noms et les paramètres de ces procédures stockées à appeler. Cette approche nécessite davantage de configuration dans votre base de données SQL, qui sera généralement nécessaire seulement si votre application demande plus de traitement pour chaque modification apportée à un utilisateur ou pour la pagination dans des grands jeux de résultats.
- Si vous sélectionnez la méthode de requête SQL, vous tapez les instructions SQL spécifiques que vous voulez que le connecteur génère lors d’un profil d’exécution. Vous configurez le connecteur avec les paramètres que le connecteur doit remplir dans vos instructions SQL, comme parcourir les jeux de résultats pendant une importation ou définir les attributs d’un nouvel utilisateur créé pendant une exportation.
Cet article explique comment utiliser la méthode Table pour interagir avec l’exemple de table de base de données Employees
, dans les profils d’exécution Exportation et Importation complète. Pour en savoir plus sur la configuration des méthodes de procédure stockée ou de requête SQL, consultez le Guide de configuration SQL générique qui fournit plus de détails et des exigences spécifiques.
Choisir les identificateurs uniques dans le schéma de la base de données de votre application
La plupart des applications disposent d’un identificateur unique pour chaque utilisateur de l’application. Si vous effectuez le provisionnement dans une table de base de données existante, vous devez identifier une colonne de cette table qui présente une valeur pour chaque utilisateur. Cette valeur doit être unique et ne pas changer. Cette colonne est l’ancre que Microsoft Entra ID utilise pour identifier les lignes existantes afin de pouvoir les mettre à jour ou les supprimer. Pour plus d’informations sur les ancres, consultez À propos des attributs d’ancre et des noms uniques.
Si la base de données de votre application existe déjà, contient des utilisateurs et que vous souhaitez que Microsoft Entra ID tienne à jour ces utilisateurs, vous devez disposer d’un identificateur pour chaque utilisateur qui est identique dans la base de données de l’application et dans le schéma Microsoft Entra ID. Par exemple, si vous affectez un utilisateur à l’application dans Microsoft Entra ID, et que cet utilisateur se trouve déjà dans cette base de données, les modifications apportées à cet utilisateur dans Microsoft Entra ID doivent entraîner la mise à jour d’une ligne existante pour cet utilisateur, plutôt que d’ajouter une nouvelle ligne. Comme Microsoft Entra ID ne stocke probablement pas l’identificateur interne d’une application pour cet utilisateur, vous pouvez sélectionner une autre colonne pour interroger la base de données. La valeur de cette colonne peut être un nom d’utilisateur principal ou une adresse de messagerie, un ID d’employé ou tout autre identificateur présent dans Microsoft Entra ID sur chaque utilisateur qui se trouve dans l’étendue de l’application. Si l’identificateur de l’utilisateur dont se sert l’application n’est pas un attribut stocké dans la représentation Microsoft Entra ID de l’utilisateur, vous n’avez pas besoin d’étendre le schéma utilisateur Microsoft Entra ID avec un attribut d’extension et de renseigner cet attribut à partir de votre base de données. Vous pouvez étendre le schéma Microsoft Entra ID et définir des valeurs d’extension à l’aide de PowerShell.
Mapper des attributs dans Microsoft Entra ID au schéma de base de données
Une fois que Microsoft Entra ID a établi un lien entre un utilisateur de Microsoft Entra ID et un enregistrement de la base de données (soit pour un utilisateur déjà présent dans la base de données soit pour un nouvel utilisateur), Microsoft Entra ID peut attribuer des modifications de l’attribut de l’utilisateur Microsoft Entra ID vers la base de données. Outre les identificateurs uniques, inspectez votre base de données pour identifier si d’autres propriétés sont requises. Si c’est le cas, assurez-vous que les utilisateurs qui seront provisionnés dans la base de données ont des attributs qui peuvent être mappés aux propriétés requises.
Vous pouvez également configurer le comportement de déprovisionnement. Si un utilisateur affecté à l’application est supprimé dans Microsoft Entra ID, alors Microsoft Entra ID envoie une opération de suppression à la base de données. Vous pouvez également souhaiter que Microsoft Entra ID mette à jour la base de données lorsqu’un utilisateur ne peut plus utiliser l’application. Si un utilisateur est supprimé d’une application, supprimé de manière réversible dans Microsoft Entra ID ou bloqué à la connexion, vous pouvez configurer Microsoft Entra ID pour envoyer une modification d’attribut. Si vous provisionnez dans une table de base de données existante, vous devrez disposer d’une colonne de cette table à mapper à isSoftDeleted. Lorsque l’utilisateur sort de l’étendue, Microsoft Entra ID définit la valeur de cet utilisateur sur True.
1. Installer le pilote ODBC
Le serveur Windows sur lequel vous allez installer l’agent de provisionnement requiert un pilote ODBC pour votre base de données cible. Si vous envisagez de vous connecter à SQL Server ou à Azure SQL Database, vous devez télécharger le pilote ODBC pour SQL Server (x64) et l’installer sur le serveur Windows. Pour les autres bases de données SQL, reportez-vous aux instructions du fournisseur de logiciels indépendant sur l’installation du pilote ODBC.
2. Créer un fichier de connexion DSN
Le connecteur SQL générique requiert un fichier DSN (Data Source Name) pour se connecter au point de terminaison SQL. Vous devez tout d’abord créer un fichier avec les informations de connexion ODBC.
Démarrez l’utilitaire de gestion ODBC sur votre serveur. Utilisez la version 64 bits.
Accédez à l’onglet DSN de fichier et sélectionnez Ajouter.
Si vous utilisez SQL Server ou Azure SQL, sélectionnez SQL Server Native Client 11.0, puis Suivant. Si vous utilisez une autre base de données, sélectionnez son pilote ODBC.
Nommez le fichier, par exemple GenericSQL, et sélectionnez Suivant.
Sélectionnez Terminer.
Configurez maintenant la connexion. Les étapes suivantes varient en fonction du pilote ODBC que vous utilisez. Cette illustration part du principe que vous utilisez le pilote pour vous connecter à SQL Server. Si le serveur SQL Server se trouve sur un autre ordinateur serveur, entrez le nom du serveur. Sélectionnez ensuite Suivant.
Si l’utilisateur pour lequel vous exécutez cette étape est autorisé à se connecter à la base de données, gardez l’option Authentification Windows sélectionnée. Si l’administrateur SQL Server nécessite un compte local SQL, fournissez ces informations d’identification à la place. Sélectionnez ensuite Suivant.
Entrez le nom de la base de données, à savoir CONTOSO dans cet exemple.
Conservez toutes les valeurs par défaut sur cet écran, et sélectionnez Terminer.
Pour vérifier que tout fonctionne comme prévu, sélectionnez Tester la source de données.
Vérifiez que le test a réussi.
Sélectionnez OK deux fois. Fermez l’Administrateur de la source de données ODBC. Le fichier de connexion DSN est enregistré par défaut dans votre dossier Documents.
3. Installer et configurer l’agent d’approvisionnement Microsoft Entra Connect
Si vous avez déjà téléchargé l’agent de provisionnement et que vous l’avez configuré pour une autre application locale, passez directement à la section suivante.
- Connectez-vous au portail Azure.
- Accédez à Applications d’entreprise et sélectionnez Nouvelle application.
- Recherchez l’Application ECMA locale, donnez un nom à l’application, puis sélectionnez Créer pour l’ajouter à votre locataire.
- Dans le menu, accédez à la page Provisionnement de votre application.
- Sélectionnez Prise en main.
- Dans la page Provisioning, définissez le mode sur Automatic.
- Sous Connectivité locale, sélectionnez Télécharger et installer, puis sélectionnez Accepter les conditions générales et télécharger.
- Quittez le portail et exécutez le programme d’installation de l’agent d’approvisionnement, acceptez les conditions d’utilisation du service, puis sélectionnez Installer.
- Attendez que l’Assistant Configuration de l’agent d’approvisionnement Microsoft Entra s’affiche, puis sélectionnez Suivant.
- À l’étape Sélectionner une extension, sélectionnez Provisionnement d’application local, puis Suivant.
- L’agent de provisionnement utilisera le navigateur web du système d’exploitation pour afficher une fenêtre contextuelle qui vous permettra de vous authentifier dans Microsoft Entra et éventuellement aussi auprès du fournisseur d’identité de votre organisation. Si vous utilisez Internet Explorer comme navigateur sur Windows Server, vous devrez peut-être ajouter les sites web Microsoft à la liste des sites approuvés de votre navigateur pour permettre à JavaScript de s’exécuter correctement.
- Communiquez les informations d’identification relatives à un administrateur Microsoft Entra lorsque vous êtes invité à donner votre autorisation. L’utilisateur doit avoir au moins le rôle Administrateur d’identité hybride.
- Sélectionnez Confirmer pour confirmer le paramètre. Une fois l’installation réussie, vous pouvez sélectionner Quitter, puis fermer le programme d’installation du Package de l’agent de provisionnement.
4. Configurer l’application ECMA locale
Dans e portail, dans la section Connectivité locale, sélectionnez l’agent que vous venez de déployer, puis Attribuer les agents.
Gardez cette fenêtre de navigateur ouverte, car vous effectuez l’étape suivante de la configuration à l’aide de l’assistant Configuration.
5. Configurer le certificat de l’hôte de connecteur ECMA Microsoft Entra
Sur la machine Windows Server où l’agent de provisionnement est installé, cliquez avec le bouton droit sur Assistant Configuration de Microsoft ECMA2Host dans le menu Démarrer, puis exécutez-le en tant qu’administrateur. L’exécution en tant qu’administrateur Windows est obligatoire pour que l’Assistant puisse créer les journaux d’événements Windows nécessaires.
Lorsque la configuration de l’Hôte de connecteurs ECMA commence, si c’est la première fois que vous exécutez l’Assistant, vous êtes invité à créer un certificat. Laissez le port par défaut 8585 et sélectionnez Générer un certificat pour générer un certificat. Le certificat généré automatiquement est auto-signé dans le cadre de la racine de confiance. Le SAN du certificat correspond au nom d’hôte.
Sélectionnez Enregistrer.
Remarque
Si vous avez choisi de générer un nouveau certificat, notez la date d’expiration du certificat pour ne pas oublier de revenir dans l’Assistant Configuration afin de regénérer le certificat avant son expiration.
6. Créer un connecteur SQL générique
Dans cette section, vous créez la configuration du connecteur pour votre base de données.
6.1 Configurer la connexion SQL
Pour créer un connecteur SQL générique, suivez ces étapes :
Générez un jeton secret qui sera utilisé pour l’authentification de Microsoft Entra ID auprès du connecteur. Le jeton doit contenir au minimum 12 caractères et être unique pour chaque application.
Si vous ne l’avez pas déjà fait, lancez l’Assistant Configuration de Microsoft ECMA2Host à partir du menu Démarrer de Windows.
Sélectionnez Nouveau connecteur.
Dans la page Properties, renseignez les zones avec les valeurs spécifiées dans le tableau qui suit l’image, puis sélectionnez Next.
Propriété Valeur Nom Nom que vous avez choisi pour le connecteur, qui doit être unique sur tous les connecteurs de votre environnement. Par exemple, si vous n’avez qu’une seule base de données SQL, SQL
.Minuteur de synchronisation automatique (minutes) 120 Jeton secret Entrez le jeton secret que vous avez généré pour ce connecteur. La clé doit comporter 12 caractères au minimum. Extension DLL Pour le connecteur SQL générique, sélectionnez Microsoft.IAM.Connector.GenericSql.dll. Dans la page Connectivity, renseignez les zones avec les valeurs spécifiées dans le tableau qui suit l’image, puis sélectionnez Next.
Propriété Description Fichier DSN Fichier de nom de source de données que vous avez créé à l’étape précédente et qui est utilisé pour se connecter à l’instance SQL. User Name Nom d’utilisateur d’un compte disposant des droits nécessaires pour effectuer des mises à jour de la table dans l’instance SQL. Si la base de données cible est SQL Server et que vous utilisez l’Authentification Windows, le nom d’utilisateur doit se présenter sous la forme hostname\sqladminaccount pour les serveurs autonomes ou domain\sqladminaccount pour les serveurs membres du domaine. Pour les autres bases de données, le nom d’utilisateur est un compte local dans la base de données. Mot de passe Mot de passe du nom d’utilisateur fourni. DN est Ancre À moins que votre environnement ne soit connu pour exiger ces paramètres, ne sélectionnez pas les cases DN est Ancre ni Type d’exportation : remplacement de l’objet.
6.2 Récupérer le schéma de la base de données
Une fois que vous avez fourni les informations d’identification, l’hôte de connecteur ECMA est prêt à récupérer le schéma de votre base de données. Continuez avec la configuration de la connexion SQL :
Sur la page Schéma 1, vous allez spécifier la liste des types d’objets. Dans cet exemple, il y a un seul type d’objet,
User
. Renseignez les zones avec les valeurs spécifiées dans le tableau qui suit l’image, puis sélectionnez Next.Propriété Valeur Méthode de détection du type d’objet Valeur fixe Liste de valeurs fixes/Table/Vue/SP Utilisateur Une fois que vous sélectionnez Suivant, la page suivante s’affiche automatiquement pour la configuration du type d’objet
User
. Dans la page Schema 2, vous allez indiquer comment les utilisateurs sont représentés dans votre base de données. Dans cet exemple, il s’agit d’une table SQL unique nomméeEmployees
. Renseignez les zones avec les valeurs spécifiées dans le tableau qui suit l’image, puis sélectionnez Next.Propriété Valeur Utilisateur : Détection d’attribut Table de charge de travail Utilisateur : Table/Vue/SP Nom de la table dans votre base de données, par exemple Employees
Remarque
Si une erreur se produit, vérifiez la configuration de votre base de données pour avoir la certitude que l’utilisateur que vous avez spécifié dans la page Connectivité dispose d’un accès en lecture au schéma de la base de données.
Une fois que vous sélectionnez Suivant, la page suivante s’affiche automatiquement pour que vous sélectionniez les colonnes de la table spécifiée plus tôt, comme la table
Employees
dans cet exemple, qui doivent être utilisées commeAnchor
etDN
des utilisateurs. Ces colonnes contiennent des identificateurs uniques dans votre base de données. Vous pouvez utiliser les mêmes colonnes ou des colonnes différentes, mais vérifiez que toutes les lignes déjà présentes dans cette base de données ont des valeurs uniques dans ces colonnes. Dans la page Schema 3, renseignez les zones avec les valeurs spécifiées dans le tableau qui suit l’image, puis sélectionnez Next.Propriété Description Sélectionnez Ancre pour : Utilisateur Colonne de la table de base de données à utiliser pour l’ancre, par exemple User:ContosoLogin
Sélectionner l’attribut DN pour Utilisateur Colonne de la base de données à utiliser pour l’attribut DN, par exemple AzureID
Une fois que vous sélectionnez Suivant, la page suivante s’affiche automatiquement pour que vous confirmiez le type de données de chacune des colonnes de la table
Employee
. Vous devez également déterminer si le connecteur doit les importer ou les exporter. Dans la page Schema 4, conservez les valeurs par défaut et sélectionnez Next.Dans la page General, renseignez les zones et sélectionnez Next. Utilisez le tableau qui suit l’image pour obtenir des conseils concernant les différentes zones à renseigner.
Propriété Description Stratégie delta Pour IBM DB2, sélectionnez None
Requête de filigrane Pour IBM DB2, tapez SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1;
Format date/heure de la source de données Pour SQL Server, yyyy-MM-dd HH:mm:ss
, et pour IBM DB2,YYYY-MM-DD
Dans la page Partitions, sélectionnez Next.
6.3 Configurer les profils d’exécution
Vous allez ensuite configurer les profils d’exécution Exportation et Importation complète. Le profil d’exécution Exportation est utilisé quand l’hôte du connecteur ECMA doit envoyer des modifications de Microsoft Entra ID vers la base de données pour insérer, mettre à jour et supprimer des enregistrements. Le profil d’exécution Importation complète est utilisé lors du démarrage du service d’hôte du connecteur ECMA pour lire le contenu actuel de la base de données. Dans cet exemple, vous allez utiliser la méthode Table dans les deux profils d’exécution, afin que l’hôte du connecteur ECMA génère les instructions SQL nécessaires.
Continuez avec la configuration de la connexion SQL :
Dans la page Run Profiles, laissez la case Export cochée. Cochez la case Full import et sélectionnez Next.
Propriété Description Exporter Profil d’exécution qui exportera les données vers SQL. Ce profil d’exécution est obligatoire. Importation intégrale Profil d’exécution qui importera toutes les données des sources SQL spécifiées précédemment. Importation d’écart Profil d’exécution qui importera uniquement les modifications apportées aux sources SQL depuis la dernière importation complète ou différentielle. Une fois que vous sélectionnez Suivant, la page suivante s’affiche automatiquement pour que vous configuriez la méthode pour le profil d’exécution Exportation. Dans la page Export, renseignez les zones et sélectionnez Next. Utilisez le tableau qui suit l’image pour obtenir des conseils concernant les différentes zones à renseigner.
Propriété Description Méthode d’opération Table de charge de travail Table/Vue/SP Même table que celle configurée sous l’onglet Schéma 2, par exemple Employees
Dans la page Full Import, renseignez les zones et sélectionnez Next. Utilisez le tableau qui suit l’image pour obtenir des conseils concernant les différentes zones à renseigner.
Propriété Description Méthode d’opération Table de charge de travail Table/Vue/SP Même table que celle configurée sous l’onglet Schéma 2, par exemple Employees
6.4 Configurer la façon dont les attributs sont exposés dans Microsoft Entra ID
Dans la dernière étape des paramètres de connexion SQL, configurez la façon dont les attributs sont exposés dans Microsoft Entra ID :
Dans la page Object Types, renseignez les zones et sélectionnez Next. Utilisez le tableau qui suit l’image pour obtenir des conseils concernant les différentes zones à renseigner.
- Ancre : La valeur de cet attribut doit être unique pour chaque objet de la base de données cible. Le service d’approvisionnement Microsoft Entra va interroger l’hôte du connecteur ECMA à l’aide de cet attribut après le cycle initial. Cette valeur d’ancre doit être identique à la colonne d’ancre que vous avez configurée précédemment dans la page Schéma 3.
- Attribut de requête : Cet attribut doit être identique à l’ancre.
- DN : l’option Autogenerated doit être sélectionnée dans la plupart des cas. Si elle ne l’est pas, vérifiez que l’attribut DN est mappé à un attribut dans Microsoft Entra ID qui stocke le DN au format suivant :
CN = anchorValue, Object = objectType
. Pour plus d’informations sur les ancres et le DN, consultez À propos des attributs d’ancre et des noms uniques.
Propriété Description Objet cible Utilisateur Ancre Colonne configurée sous l’onglet Schéma 3, par exemple ContosoLogin
Query Attribute Même colonne que l’ancre, par exemple ContosoLogin
DN Même colonne que celle configurée dans l’onglet Schéma 3, par exemple ContosoLogin
Généré automatiquement Activée L’hôte de connecteur ECMA découvre les attributs pris en charge par la base de données cible. Parmi eux, vous pouvez choisir ceux que vous souhaitez exposer à Microsoft Entra ID. Ces attributs peuvent ensuite être configurés dans le portail Azure pour l’approvisionnement. Dans la page Sélectionner des attributs, ajoutez tous les attributs dans la liste déroulante, un à la fois.
La liste déroulante Attribut affiche tout attribut qui a été découvert dans la base de données cible et qui n’a pas été choisi dans la page Sélectionner des attributs précédente. Une fois tous les attributs pertinents ajoutés, sélectionnez Suivant.
- Dans la page Deprovisioning, sous Disable flow, sélectionnez Delete. Les attributs sélectionnés sur la page précédente ne pourront pas être sélectionnés sur la page Suppression les privilèges d’accès. Sélectionnez Terminer.
Remarque
Si vous utilisez Définir la valeur de l’attribut, sachez que seules les valeurs booléennes sont autorisées.
7. Vérifier que le service ECMA2Host est en cours d’exécution
Sur le serveur sur lequel s’exécute l’hôte du connecteur ECMA Microsoft Entra, sélectionnez Démarrer.
Entrez run et tapez services.msc dans la zone.
Dans la liste Services, vérifiez que Microsoft ECMA2Host est présent et en cours d’exécution. Si ce n’est pas le cas, sélectionnez Démarrer.
Si vous vous connectez à une nouvelle base de données ou à une base de données vide qui n’a pas d’utilisateurs, passez à la section suivante. Sinon, effectuez ces étapes pour vérifier que le connecteur a identifié les utilisateurs existants dans la base de données.
- Si vous avez démarré le service récemment et que vous avez de nombreux objets utilisateur dans la base de données, patientez quelques minutes le temps que le connecteur établisse une connexion à la base de données.
8. Configurer la connexion de l’application dans le portail Azure
Revenez à la fenêtre du navigateur web dans laquelle vous configurez l’approvisionnement d’applications.
Remarque
Si la fenêtre avait expiré, vous devrez sélectionner l’agent à nouveau.
- Connectez-vous au portail Azure.
- Accédez à Applications d’entreprise, puis à l’application On-premises ECMA app.
- Sélectionnez Provisionnement.
- Si Démarrer s’affiche, remplacez le mode par Automatique, dans la section Connectivité locale, sélectionnez l’agent que vous avez déployé, puis Attribuer des agents. Sinon, accédez à Modifier l’approvisionnement.
Dans la section Informations d’identification de l’administrateur, entrez l’URL suivante. Remplacez la partie
{connectorName}
par le nom du connecteur sur l’hôte de connecteurs ECMA, comme SQL. Le nom du connecteur est sensible à la casse et doit être identique à celui configuré dans l’Assistant. Vous pouvez également remplacerlocalhost
par le nom d’hôte de votre ordinateur.Propriété Valeur URL de locataire https://localhost:8585/ecma2host_{connectorName}/scim
Entrez la valeur Secret Token que vous avez définie lors de la création du connecteur.
Remarque
Si vous venez d’attribuer l’agent à l’application, patientez 10 minutes pour que l’inscription se termine. Le test de connectivité ne fonctionne pas tant que l’inscription n’est pas terminée. Pour accélérer le processus d’inscription, vous pouvez forcer l’inscription de l’agent en redémarrant l’agent d’approvisionnement sur votre serveur. Accédez à votre serveur, recherchez services dans la barre de recherche Windows, identifiez le service Agent d’approvisionnement Microsoft Entra Connect, cliquez avec le bouton droit sur le service, puis redémarrez.
Sélectionnez Test Connection et patientez une minute.
Une fois que le test de connexion est réussi et qu'il indique que les informations d'identification fournies sont autorisées à activer le provisionnement, sélectionnez Enregistrer.
9. Configurer les mappages d’attributs
Vous devez maintenant mapper les attributs entre la représentation de l’utilisateur dans Microsoft Entra ID et la représentation d’un utilisateur dans la base de données SQL de l’application locale.
Vous allez utiliser le portail Azure pour configurer le mappage entre les attributs des utilisateurs Microsoft Entra et les attributs que vous avez sélectionnés précédemment dans l’Assistant Configuration de l’hôte ECMA.
Vérifiez que le schéma Microsoft Entra inclut les attributs requis par la base de données. Si la base de données impose la configuration d’un attribut pour les utilisateurs, tel que
uidNumber
, et que cet attribut n’est pas encore inclus dans votre schéma Microsoft Entra pour un utilisateur, vous devez utiliser la fonctionnalité d’extension d’annuaire pour ajouter cet attribut comme extension.Dans le Centre d’administration Microsoft Entra, sous Applications d’entreprise, sélectionnez Application ECMA locale, puis la page Attribution.
Sélectionnez Modifier le provisionnement, puis attendez 10 secondes.
Développez Mappages et sélectionnez le mappage Approvisionner les utilisateurs Microsoft Entra ID. Si c’est la première fois que vous configurez les mappages d’attributs pour cette application, ce mappage sera le seul présent pour un espace réservé.
Pour vérifier que le schéma de la base de données est disponible dans Microsoft Entra ID, activez la case Afficher les options avancées, puis sélectionnez Modifier la liste d’attributs pour ScimOnPremises. Vérifiez que tous les attributs sélectionnés dans l’Assistant Configuration sont listés. Si ce n’est pas le cas, attendez quelques minutes le temps que le schéma s’actualise, puis rechargez la page. Une fois les attributs répertoriés, fermez la page pour revenir à la liste des mappages.
Maintenant, cliquez sur le mappage ESPACE RÉSERVÉ userPrincipalName. Ce mappage est ajouté par défaut lors de votre première configuration du provisionnement local.
Modifiez les valeurs de l’attribut pour qu’elles correspondent à ce qui suit :
Type de mappage | Attribut source | Attribut cible |
---|---|---|
Direct | userPrincipalName | urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin |
Sélectionnez maintenant Ajouter un nouveau mappage, puis répétez l’étape suivante pour chaque mappage.
Spécifiez les attributs source et cible pour chacun des mappages indiqués dans le tableau suivant.
Type de mappage Attribut source Attribut cible Direct userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin Direct objectId urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:AzureID Direct mail urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:Email Direct givenName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:FirstName Direct surname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:LastName Direct mailNickName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:textID Une fois que tous les mappages ont été ajoutés, sélectionnez Enregistrer.
10. Affecter des utilisateurs à une application
Maintenant que l’hôte du connecteur ECMA Microsoft Entra est capable de communiquer avec Microsoft Entra ID, et que le mappage des attributs est configuré, vous pouvez passer à la configuration de l’étendue de l’approvisionnement.
Important
Si vous étiez connecté avec un rôle Administrateur d’identité hybride, vous devez vous déconnecter et vous connecter avec un compte disposant au moins du rôle Administrateur d’application pour cette section. Le rôle Administrateur d’identité hybride ne dispose pas des autorisations nécessaires pour affecter des utilisateurs à des applications.
S’il existe des utilisateurs dans la base de données SQL, vous devez leur créer des attributions de rôles d’application. Pour en savoir plus sur la création en bloc d’attributions de rôles d’application, consultez l’article Gouvernance des utilisateurs existants d’une application dans Microsoft Entra ID.
S’il n’existe aucun utilisateur actuel de l’application, sélectionnez un utilisateur de test dans Microsoft Entra afin qu’il soit attribué pour l’application.
Assurez-vous que l’utilisateur possède toutes les propriétés qui seront mappées aux attributs requis par le schéma de la base de données.
Dans le portail Azure, sélectionnez Applications d’entreprise.
Sélectionnez l’application Application ECMA locale.
À gauche, sous Gérer, sélectionnez Utilisateurs et groupes.
Sélectionner Ajouter un utilisateur/groupe.
Sous Utilisateurs, sélectionnez Aucun sélectionné.
Sélectionnez des utilisateurs à droite, puis cliquez sur le bouton Sélectionner.
Sélectionnez Affecter.
11. Tester le provisionnement
Maintenant que vos attributs sont mappés et que les utilisateurs sont affectés, vous pouvez tester le provisionnement à la demande avec l’un de vos utilisateurs.
Dans le portail Azure, sélectionnez Applications d’entreprise.
Sélectionnez l’application Application ECMA locale.
Sur la gauche, sélectionnez Provisionnement.
Sélectionnez Approvisionner à la demande.
Recherchez l’un de vos utilisateurs de test, puis sélectionnez Provisionner.
Après plusieurs secondes, le message Utilisateur créé dans le système cible s’affiche, avec une liste des attributs utilisateur.
12. Démarrer le provisionnement des utilisateurs
Une fois le provisionnement à la demande réussi, revenez à la page de configuration du provisionnement. Vérifiez que l’étendue est définie sur les seuls utilisateurs et groupes affectés, activez le provisionnement, puis sélectionnez Enregistrer.
Attendez que le provisionnement démarre. Cela peut prendre jusqu’à 40 minutes. Une fois le travail de provisionnement terminé, comme décrit dans la section suivante, si vous avez fini le test, vous pouvez remplacer l’état du provisionnement par Désactivé et sélectionner Enregistrer. Cette action empêche que le service de provisionnement s’exécute à l’avenir.
Résolution des erreurs de provisionnement
Si une erreur s’affiche, sélectionnez Afficher les journaux de provisionnement. Recherchez dans le journal une ligne dans laquelle l’état est Échec, puis sélectionnez cette ligne.
Si le message d’erreur est Échec de la création de l’utilisateur, vérifiez les attributs affichés par rapport aux exigences du schéma de base de données.
Pour plus d’informations, accédez à l’onglet Résolution des problèmes et recommandations. Si le pilote ODBC a retourné un message, il est peut-être affiché à cet endroit. Par exemple, le message ERROR [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'FirstName', table 'CONTOSO.dbo.Employees'; column does not allow nulls.
est une erreur du pilote ODBC. Dans ce cas, column does not allow nulls
peut indiquer que la colonne FirstName
de la base de données est obligatoire, mais l’utilisateur en cours de provisionnement n’avait pas l’attribut givenName
, de sorte que l’utilisateur n’a pas pu être provisionné.
Vérifier que les utilisateurs ont été correctement provisionnés
Après avoir attendu, vérifiez la base de données SQL pour vous assurer que les utilisateurs sont en cours de provisionnement.
Annexe A
Si vous utilisez SQL Server, vous pouvez utiliser le script SQL suivant pour créer l’exemple de base de données.
---Creating the Database---------
Create Database CONTOSO
Go
-------Using the Database-----------
Use [CONTOSO]
Go
-------------------------------------
/****** Object: Table [dbo].[Employees] Script Date: 1/6/2020 7:18:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Employees](
[ContosoLogin] [nvarchar](128) NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[Email] [nvarchar](128) NULL,
[InternalGUID] [uniqueidentifier] NULL,
[AzureID] [uniqueidentifier] NULL,
[textID] [nvarchar](128) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Employees] ADD CONSTRAINT [DF_Employees_InternalGUID] DEFAULT (newid()) FOR [InternalGUID]
GO