Synchronisation d’Azure AD Connect : Présentation de l’architectureAzure AD Connect sync: Understanding the architecture

Cette rubrique décrit l’architecture de base pour Azure AD Connect Sync. Celle-ci est similaire à ses prédécesseurs MIIS 2003, ILM 2007 et FIM 2010 et ce, sur plusieurs plans.This topic covers the basic architecture for Azure AD Connect sync. In many aspects, it is similar to its predecessors MIIS 2003, ILM 2007, and FIM 2010. Azure AD Connect Sync représente l’évolution de ces technologies.Azure AD Connect sync is the evolution of these technologies. Si vous connaissez ces technologies plus anciennes, le contenu de cette rubrique vous sera également familier.If you are familiar with any of these earlier technologies, the content of this topic will be familiar to you as well. Si vous ne connaissez pas la synchronisation, cette rubrique est pour vous.If you are new to synchronization, then this topic is for you. Il n’est toutefois pas nécessaire de connaître les détails de cette rubrique pour effectuer des personnalisations de Microsoft Azure AD Connect Sync (appelé « moteur de synchronisation » dans cette rubrique).It is however not a requirement to know the details of this topic to be successful in making customizations to Azure AD Connect sync (called sync engine in this topic).

ArchitectureArchitecture

Le moteur de synchronisation crée une vue intégrée des objets qui sont stockés dans plusieurs sources de données connectées et gère les informations d’identité dans ces dernières.The sync engine creates an integrated view of objects that are stored in multiple connected data sources and manages identity information in those data sources. Cette vue intégrée est déterminée par les informations d’identité, issues de sources de données connectées, et un ensemble de règles qui déterminent la manière de traiter ces informations.This integrated view is determined by the identity information retrieved from connected data sources and a set of rules that determine how to process this information.

Sources de données connectées et connecteursConnected Data Sources and Connectors

Le moteur de synchronisation traite les informations d’identité à partir de différents référentiels de données tels qu’Active Directory ou une base de données SQL Server.The sync engine processes identity information from different data repositories, such as Active Directory or a SQL Server database. Chaque référentiel de données qui organise ses données dans un format de type base de données et qui fournit des méthodes d’accès aux données standard est une source de données potentielle pour le moteur de synchronisation.Every data repository that organizes its data in a database-like format and that provides standard data-access methods is a potential data source candidate for the sync engine. Les référentiels de données qui sont synchronisés par le moteur de synchronisation sont appelés sources de données connectées ou annuaires connectés.The data repositories that are synchronized by sync engine are called connected data sources or connected directories (CD).

Le moteur de synchronisation encapsule l’interaction avec une source de données connectée au sein d’un module appelé connecteur.The sync engine encapsulates interaction with a connected data source within a module called a Connector. À chaque type de source de données connectée correspond un connecteur spécifique.Each type of connected data source has a specific Connector. Le connecteur traduit une opération requise dans un format que la source de données connectée peut comprendre.The Connector translates a required operation into the format that the connected data source understands.

Les connecteurs effectuent des appels d’API pour échanger des informations d’identité (en lecture et en écriture) avec une source de données connectée.Connectors make API calls to exchange identity information (both read and write) with a connected data source. Il est également possible d’ajouter un connecteur personnalisé à l’aide de l’infrastructure de connectivité extensible.It is also possible to add a custom Connector using the extensible connectivity framework. L’illustration suivante indique comment un connecteur relie une source de données connectée au moteur de synchronisation.The following illustration shows how a Connector connects a connected data source to the sync engine.

Arch1

Les données peuvent circuler dans les deux sens, mais pas simultanément.Data can flow in either direction, but it cannot flow in both directions simultaneously. En d’autres termes, un connecteur peut être configuré pour autoriser les données à circuler de la source de données connectée au moteur de synchronisation ou du moteur de synchronisation à la source de données connectée, mais il est uniquement possible d’effectuer l’une de ces opérations à la fois pour un objet et un attribut.In other words, a Connector can be configured to allow data to flow from the connected data source to sync engine or from sync engine to the connected data source, but only one of those operations can occur at any one time for one object and attribute. La direction peut être différente pour divers objets et attributs.The direction can be different for different objects and for different attributes.

Pour configurer un connecteur, vous spécifiez les types d’objets que vous souhaitez synchroniser.To configure a Connector, you specify the object types that you want to synchronize. Le fait de spécifier les types d’objet permet d’avoir une vue globale sur les objets qui sont inclus dans le processus de synchronisation.Specifying the object types defines the scope of objects that are included in the synchronization process. L’étape suivante consiste à sélectionner les attributs à synchroniser dans une liste, connue sous le nom de liste d’inclusion d’attributs.The next step is to select the attributes to synchronize, which is known as an attribute inclusion list. Ces paramètres peuvent être modifiés à tout moment suite aux modifications apportées aux règles d’entreprise.These settings can be changed any time in response to changes to your business rules. Ces paramètres sont configurés pour vous lorsque vous utilisez l’assistant d’installation de Microsoft Azure AD Connect.When you use the Azure AD Connect installation wizard, these settings are configured for you.

Pour exporter des objets vers une source de données connectée, la liste d’inclusion d’attributs doit inclure au moins le nombre minimal d’attributs requis pour créer un type d’objet spécifique dans une source de données connectée.To export objects to a connected data source, the attribute inclusion list must include at least the minimum attributes required to create a specific object type in a connected data source. Par exemple, l’attribut sAMAccountName doit être inclus dans la liste d’inclusion d’attributs pour exporter un objet utilisateur dans Active Directory. En effet, un attribut sAMAccountName doit être défini pour tous les objets utilisateur dans Active Directory.For example, the sAMAccountName attribute must be included in the attribute inclusion list to export a user object to Active Directory because all user objects in Active Directory must have a sAMAccountName attribute defined. Là encore, l’assistant d’installation effectue cette configuration pour vous.Again, the installation wizard does this configuration for you.

Si la source de données connectée utilise des composants structurels, tels que des partitions ou des conteneurs, pour organiser les objets, vous pouvez limiter les zones de la source de données connectée qui sont utilisées pour une solution donnée.If the connected data source uses structural components, such as partitions or containers to organize objects, you can limit the areas in the connected data source that are used for a given solution.

Structure interne de l’espace de noms du moteur de synchronisationInternal structure of the sync engine namespace

La totalité de l’espace de noms du moteur de synchronisation se compose de deux espaces de noms, qui stockent les informations d’identité.The entire sync engine namespace consists of two namespaces that store the identity information. Ces deux espaces sont les suivants :The two namespaces are:

  • L’espace connecteurThe connector space (CS)
  • Le métaverse (MV)The metaverse (MV)

L’ espace connecteur est une zone de transit contenant les représentations des objets désignés à partir d’une source de données connectée, ainsi que des attributs spécifiés dans la liste d’inclusion d’attributs.The connector space is a staging area that contains representations of the designated objects from a connected data source and the attributes specified in the attribute inclusion list. Le moteur de synchronisation utilise l’espace connecteur pour identifier les éléments modifiés dans la source de données connectée et pour préparer les modifications entrantes.The sync engine uses the connector space to determine what has changed in the connected data source and to stage incoming changes. Le moteur de synchronisation utilise également l’espace connecteur pour préparer les modifications sortantes à des fins d’exportation vers la source de données connectée.The sync engine also uses the connector space to stage outgoing changes for export to the connected data source. Le moteur de synchronisation gère un espace connecteur distinct en tant que zone de transit pour chaque connecteur.The sync engine maintains a distinct connector space as a staging area for each Connector.

Grâce à la zone de transit, le moteur de synchronisation reste indépendant des sources de données connectées et n’est pas affecté par leur disponibilité et leur accessibilité.By using a staging area, the sync engine remains independent of the connected data sources and is not affected by their availability and accessibility. Par conséquent, vous pouvez traiter les informations d’identité à tout moment en utilisant les données de la zone de transit.As a result, you can process identity information at any time by using the data in the staging area. Le moteur de synchronisation peut uniquement demander les modifications apportées à l’intérieur de la source de données connectée depuis l’arrêt de la dernière session de communication, ou émettre uniquement les modifications apportées aux informations d’identité que la source de données connectée n’a pas encore reçues, ce qui réduit le trafic réseau entre le moteur de synchronisation et la source de données connectée.The sync engine can request only the changes made inside the connected data source since the last communication session terminated or push out only the changes to identity information that the connected data source has not yet received, which reduces the network traffic between the sync engine and the connected data source.

En outre, le moteur de synchronisation stocke les informations d’état sur tous les objets qu’il prépare dans l’espace connecteur.In addition, sync engine stores status information about all objects that it stages in the connector space. Lors de la réception de nouvelles données, le moteur de synchronisation évalue toujours si celles-ci ont déjà été synchronisées.When new data is received, sync engine always evaluates whether the data has already been synchronized.

Le métaverse est une zone de stockage qui contient les informations d’identité agrégées à partir de plusieurs sources de données connectées, fournissant ainsi une vue globale et intégrée unique de tous les objets combinés.The metaverse is a storage area that contains the aggregated identity information from multiple connected data sources, providing a single global, integrated view of all combined objects. Les objets métaverse sont créés sur la base des informations d’identité récupérées à partir de sources de données connectées et d’un ensemble de règles qui vous permettent de personnaliser le processus de synchronisation.Metaverse objects are created based on the identity information that is retrieved from the connected data sources and a set of rules that allow you to customize the synchronization process.

L’illustration suivante représente l’espace de noms de l’espace connecteur ainsi que l’espace de noms du métaverse dans le moteur de synchronisation.The following illustration shows the connector space namespace and the metaverse namespace within the sync engine.

Arch2

Objets d’identité du moteur de synchronisationSync engine identity objects

Les objets du moteur de synchronisation sont des représentations des objets dans la source de données connectée, ou de la vue intégrée de ces objets dont dispose le moteur de synchronisation.The objects in the sync engine are representations of either objects in the connected data source or the integrated view that sync engine has of those objects. Chaque objet du moteur de synchronisation doit avoir un GUID.Every sync engine object must have a globally unique identifier (GUID). Les GUID garantissent l’intégrité des données et expriment les relations entre les objets.GUIDs provide data integrity and express relationships between objects.

Objets de l’espace connecteurConnector space objects

Lorsque le moteur de synchronisation communique avec une source de données connectée, il lit les informations d’identité dans cette dernière et utilise ces informations pour créer une représentation de l’objet d’identité dans l’espace connecteur.When sync engine communicates with a connected data source, it reads the identity information in the connected data source and uses that information to create a representation of the identity object in the connector space. Il est impossible de créer ou de supprimer ces objets individuellement.You cannot create or delete these objects individually. Cependant, vous pouvez supprimer manuellement tous les objets dans un espace connecteur.However, you can manually delete all objects in a connector space.

Tous les objets de l’espace connecteur présentent deux attributs :All objects in the connector space have two attributes:

  • Un GUIDA globally unique identifier (GUID)
  • Un nom uniqueA distinguished name (also known as DN)

Si la source de données connectée affecte un attribut unique à l’objet, les objets de l’espace connecteur peuvent également présenter un attribut d’ancre.If the connected data source assigns a unique attribute to the object, then objects in the connector space can also have an anchor attribute. L’attribut d’ancre identifie un objet de manière unique dans la source de données connectée.The anchor attribute uniquely identifies an object in the connected data source. Le moteur de synchronisation utilise l’ancre pour localiser la représentation correspondante de cet objet dans la source de données connectée.The sync engine uses the anchor to locate the corresponding representation of this object in the connected data source. Le moteur de synchronisation suppose que l’ancre d’un objet ne change jamais pendant toute la durée de vie de l’objet.Sync engine assumes that the anchor of an object never changes over the lifetime of the object.

Plusieurs connecteurs utilisent un identificateur unique connu pour générer automatiquement une ancre pour chaque objet lors de son importation.Many of the Connectors use a known unique identifier to generate an anchor automatically for each object when it is imported. Par exemple, le connecteur Active Directory utilise l’attribut objectGUID à titre d’ancre.For example, the Active Directory Connector uses the objectGUID attribute for an anchor. Pour les sources de données connectées qui ne fournissent pas un identificateur unique clairement défini, vous pouvez spécifier la génération d’une ancre dans le cadre de la configuration du connecteur.For connected data sources that do not provide a clearly defined unique identifier, you can specify anchor generation as part of the Connector configuration.

Dans ce cas, l’ancre est construite à partir d’un ou de plusieurs attributs uniques d’un type d’objet. Aucun de ces derniers n’est modifié, ce qui permet d’identifier l’objet de manière unique dans l’espace connecteur (par exemple, un numéro d’employé ou un ID d’utilisateur).In that case, the anchor is built from one or more unique attributes of an object type, neither of which changes, and that uniquely identifies the object in the connector space (for example, an employee number or a user ID).

Un objet d’espace connecteur peut être :A connector space object can be one of the following:

  • Un objet intermédiaireA staging object
  • Un espace réservéA placeholder

Objets intermédiairesStaging Objects

Un objet intermédiaire représente une instance des types d’objet désignés de la source de données connectée.A staging object represents an instance of the designated object types from the connected data source. Outre le GUID et le nom unique, un objet intermédiaire présente toujours une valeur qui indique le type d’objet.In addition to the GUID and the distinguished name, a staging object always has a value that indicates the object type.

Les objets intermédiaires importés présentent toujours une valeur pour l’attribut d’ancre.Staging objects that have been imported always have a value for the anchor attribute. Les objets intermédiaires récemment configurés par le moteur de synchronisation et en cours de création dans la source de données connectée ne présentent aucune valeur pour l’attribut d’ancre.Staging objects that have been newly provisioned by sync engine and are in the process of being created in the connected data source do not have a value for the anchor attribute.

Les objets intermédiaires comportent aussi des valeurs actuelles pour les attributs d’entreprise ainsi que des informations opérationnelles nécessaires au moteur pour exécuter le processus de synchronisation.Staging objects also carry current values of business attributes, and operational information needed by sync engine to perform the synchronization process. Les informations opérationnelles comprennent des indicateurs qui désignent le type des mises à jour préparées sur l’objet intermédiaire.Operational information includes flags that indicate the type of updates that are staged on the staging object. Si un objet intermédiaire a reçu de nouvelles informations d’identité, qui proviennent de la source de données connectée et qui n’ont pas encore été traitées, l’objet est marqué d’un indicateur « Importation en attente».If a staging object has received new identity information from the connected data source that has not yet been processed, the object is flagged as pending import. Si un objet intermédiaire contient de nouvelles informations d’identité qui n’ont pas encore été exportées vers la source de données connectée, l’objet est marqué d’un indicateur « En attente d’exportation ».If a staging object has new identity information that has not yet been exported to the connected data source, it is flagged as pending export.

Un objet intermédiaire peut être un objet d’importation ou d’exportation.A staging object can be an import object or an export object. Le moteur de synchronisation crée un objet d’importation à l’aide des informations relatives aux objets envoyées par la source de données connectée.The sync engine creates an import object by using object information received from the connected data source. Lorsque le moteur de synchronisation reçoit des informations sur l’existence d’un nouvel objet qui correspond à l’un des types d’objet sélectionnés dans le connecteur, il crée un objet d’importation dans l’espace connecteur en tant que représentation de l’objet dans la source de données connectée.When sync engine receives information about the existence of a new object that matches one of the object types selected in the Connector, it creates an import object in the connector space as a representation of the object in the connected data source.

L’illustration suivante montre un objet d’importation représentant un objet dans la source de données connectée.The following illustration shows an import object that represents an object in the connected data source.

Arch3

Le moteur de synchronisation crée un objet d’exportation à l’aide des informations relatives aux objets dans le métaverse.The sync engine creates an export object by using object information in the metaverse. Les objets d’exportation sont exportés vers la source de données connectée lors de la session de communication suivante.Export objects are exported to the connected data source during the next communication session. Du point de vue du moteur de synchronisation, les objets d’exportation n’existent pas encore dans la source de données connectée.From the perspective of the sync engine, export objects do not exist in the connected data source yet. Par conséquent, l’attribut d’ancre d’un objet d’exportation n’est pas disponible.Therefore, the anchor attribute for an export object is not available. Après avoir reçu l’objet du moteur de synchronisation, la source de données connectée crée une valeur unique pour l’attribut d’ancre de l’objet.After it receives the object from sync engine, the connected data source creates a unique value for the anchor attribute of the object.

L’illustration suivante illustre la création d’un objet d’exportation à l’aide des informations d’identité dans le métaverse.The following illustration shows how an export object is created by using identity information in the metaverse.

Arch4

Le moteur de synchronisation confirme l’exportation de l’objet en le réimportant depuis la source de données connectée.The sync engine confirms the export of the object by reimporting the object from the connected data source. Les objets d’exportation deviennent des objets d’importation lorsque le moteur de synchronisation les reçoit à la prochaine importation depuis cette source de données connectée.Export objects become import objects when sync engine receives them during the next import from that connected data source.

Espaces réservésPlaceholders

Le moteur de synchronisation utilise un espace de noms plat pour stocker des objets.The sync engine uses a flat namespace to store objects. Toutefois, certaines sources de données connectées, telles qu’Active Directory, utilisent un espace de noms hiérarchique.However, some connected data sources such as Active Directory use a hierarchical namespace. Pour transformer les informations d’un espace de noms hiérarchique dans un espace de noms plat, le moteur de synchronisation utilise des espaces réservés, afin de conserver la hiérarchie.To transform information from a hierarchical namespace into a flat namespace, sync engine uses placeholders to preserve the hierarchy.

Chaque espace réservé représente un composant (par exemple, une unité d’organisation) d’un nom hiérarchique d’objet qui n’a pas été importé dans le moteur de synchronisation, mais qui est requis pour construire le nom hiérarchique.Each placeholder represents a component (for example, an organizational unit) of an object's hierarchical name that has not been imported into sync engine but is required to construct the hierarchical name. Ces éléments comblent les vides créés par des références, dans la source de données connectée, à des objets qui ne sont pas des objets intermédiaires dans l’espace connecteur.They fill gaps created by references in the connected data source to objects that are not staging objects in the connector space.

Le moteur de synchronisation utilise également des espaces réservés pour stocker les objets référencés qui n’ont pas encore été importés.The sync engine also uses placeholders to store referenced objects that have not yet been imported. Par exemple, si la synchronisation est configurée pour inclure l’attribut manager pour l’objet Abbie Spencer et si la valeur reçue est un objet qui n’a pas été importé, tel que CN=Lee Sperry,CN=Users,DC=fabrikam,DC=com, les informations de l’élément manager sont stockées en tant qu’espaces réservés dans l’espace connecteur.For example, if sync is configured to include the manager attribute for the Abbie Spencer object and the received value is an object that has not been imported yet, such as CN=Lee Sperry,CN=Users,DC=fabrikam,DC=com, the manager information is stored as placeholders in the connector space. Si l’objet manager est ensuite importé, l’objet de l’espace réservé est remplacé par l’objet intermédiaire qui représente le gestionnaire.If the manager object is later imported, the placeholder object is overwritten by the staging object that represents the manager.

Objets métaverseMetaverse objects

Un objet métaverse contient la vue agrégée dont dispose le moteur de synchronisation sur les objets intermédiaires dans l’espace connecteur.A metaverse object contains the aggregated view that sync engine has of the staging objects in the connector space. Le moteur de synchronisation crée des objets métaverse à l’aide des informations contenues dans les objets importés.Sync engine creates metaverse objects by using the information in import objects. Plusieurs objets CS (Connector Space) peuvent être liés à un objet métaverse unique, mais un objet CS (Connector Space) ne peut pas être lié à plusieurs objets métaverse.Several connector space objects can be linked to a single metaverse object, but a connector space object cannot be linked to more than one metaverse object.

Les objets métaverse ne peuvent pas être créés ou supprimés manuellement.Metaverse objects cannot be manually created or deleted. Le moteur de synchronisation supprime automatiquement les objets métaverse qui n’ont pas de lien vers un objet d’espace connecteur quelconque dans l’espace connecteur.The sync engine automatically deletes metaverse objects that do not have a link to any connector space object in the connector space.

Pour mapper des objets dans une source de données connectée vers un type d’objet correspondant dans le métaverse, le moteur de synchronisation fournit un schéma extensible avec un ensemble prédéfini de types d’objets et attributs associés.To map objects within a connected data source to a corresponding object type within the metaverse, sync engine provides an extensible schema with a predefined set of object types and associated attributes. Vous pouvez créer des attributs et des types d’objets pour les objets métaverse.You can create new object types and attributes for metaverse objects. Les attributs peuvent être à valeur unique ou à plusieurs valeurs et les types d’attribut peuvent correspondre à des chaînes, des références, des chiffres et des valeurs booléennes.Attributes can be single-valued or multivalued, and the attribute types can be strings, references, numbers, and Boolean values.

Relations entre les objets intermédiaires et les objets métaverseRelationships between staging objects and metaverse objects

Dans l’espace de noms du moteur de synchronisation, le flux de données est activé par la relation entre les objets intermédiaires et les objets métaverse.Within the sync engine namespace, the data flow is enabled by the link relationship between staging objects and metaverse objects. Un objet intermédiaire lié à un objet métaverse est appelé objet joint (ou objet connecteur).A staging object that is linked to a metaverse object is called a joined object (or connector object). Un objet intermédiaire non lié à un objet métaverse est appelé objet disjoint (ou objet déconnecteur).A staging object that is not linked to a metaverse object is called a disjoined object (or disconnector object). L’utilisation des termes « joint » et « disjoint » est préférable, afin de ne pas les confondre avec les connecteurs responsables de l’importation et de l’exportation de données à partir d’un annuaire connecté.The terms joined and disjoined are preferred to not confuse with the Connectors responsible for importing and exporting data from a connected directory.

Les espaces réservés ne sont jamais liés à un objet métaversePlaceholders are never linked to a metaverse object

Un objet joint comprend un objet intermédiaire et sa relation liée à un objet métaverse unique.A joined object comprises a staging object and its linked relationship to a single metaverse object. Les objets joints sont utilisés pour synchroniser les valeurs d’attribut entre un objet CS (Connector Space) et un objet métaverse.Joined objects are used to synchronize attribute values between a connector space object and a metaverse object.

Lorsqu’un objet intermédiaire devient un objet joint au cours de la synchronisation, les attributs peuvent circuler entre l’objet intermédiaire et l’objet métaverse.When a staging object becomes a joined object during synchronization, attributes can flow between the staging object and the metaverse object. Le flux d’attributs est bidirectionnel ; il est configuré à l’aide de règles d’attribut d’importation et d’exportation.Attribute flow is bidirectional and is configured by using import attribute rules and export attribute rules.

Un objet CS (Connector Space) unique peut être lié à un seul objet métaverse.A single connector space object can be linked to only one metaverse object. Toutefois, chaque objet métaverse peut être lié à plusieurs objets CS (Connector Space) dans le même espace connecteur ou dans des espaces connecteur différents, comme indiqué dans l’illustration suivante.However, each metaverse object can be linked to multiple connector space objects in the same or in different connector spaces, as shown in the following illustration.

Arch5

La relation entre l’objet intermédiaire et un objet métaverse est persistante et ne peut être supprimée que par les règles que vous spécifiez.The linked relationship between the staging object and a metaverse object is persistent and can be removed only by rules that you specify.

Un objet disjoint est un objet intermédiaire non lié à un objet métaverse.A disjoined object is a staging object that is not linked to any metaverse object. Les valeurs d’attribut d’un objet disjoint ne sont pas traitées davantage dans le métaverse.The attribute values of a disjoined object are not processed any further within the metaverse. Les valeurs d’attribut de l’objet correspondant dans la source de données connectée ne sont pas mises à jour par le moteur de synchronisation.The attribute values of the corresponding object in the connected data source are not updated by sync engine.

À l’aide des objets disjoints, vous pouvez stocker des informations d’identité dans le moteur de synchronisation et les traiter ultérieurement.By using disjoined objects, you can store identity information in sync engine and process it later. Le fait de conserver un objet intermédiaire sous forme d’objet disjoint dans l’espace connecteur présente de nombreux avantages.Keeping a staging object as a disjoined object in the connector space has many advantages. Étant donné que le système a déjà préparé les informations requises concernant cet objet, il n’est pas nécessaire de créer une représentation de ce dernier lors de l’importation suivante à partir de la source de données connectée.Because the system has already staged the required information about this object, it is not necessary to create a representation of this object again during the next import from the connected data source. De cette façon, le moteur de synchronisation a toujours un aperçu complet de la source de données connectée, même s’il n’existe aucune connexion active à la source de données connectée.This way, sync engine always has a complete snapshot of the connected data source, even if there is no current connection to the connected data source. Les objets disjoints peuvent être convertis en objets joints (et vice versa) en fonction des règles que vous spécifiez.Disjoined objects can be converted into joined objects, and vice versa, depending on the rules that you specify.

Un objet d’importation est créé en tant qu’objet disjoint.An import object is created as a disjoined object. Un objet d’exportation doit être un objet joint.An export object must be a joined object. La logique du système applique cette règle et supprime chaque objet d’exportation qui n’est pas un objet joint.The system logic enforces this rule and deletes every export object that is not a joined object.

Processus de gestion des identités du moteur de synchronisationSync engine identity management process

Le processus de gestion des identités détermine de quelle manière les informations d’identité sont mises à jour entre les différentes sources de données connectées.The identity management process controls how identity information is updated between different connected data sources. La gestion des identités s’effectue en trois phases :Identity management occurs in three processes:

  • ImporterImport
  • SynchronisationSynchronization
  • ExportationExport

Pendant le processus d’importation, le moteur de synchronisation évalue les informations d’identité entrantes à partir d’une source de données connectée.During the import process, sync engine evaluates the incoming identity information from a connected data source. Lorsque des modifications sont détectées, il crée des objets intermédiaires ou met à jour les objets intermédiaires existants dans l’espace connecteur, à des fins de synchronisation.When changes are detected, it either creates new staging objects or updates existing staging objects in the connector space for synchronization.

Pendant le processus de synchronisation, le moteur de synchronisation met à jour le métaverse afin de refléter les modifications qui se sont produites dans l’espace connecteur, actualisant l’espace connecteur pour refléter les modifications apportées dans le métaverse.During the synchronization process, sync engine updates the metaverse to reflect changes that have occurred in the connector space and updates the connector space to reflect changes that have occurred in the metaverse.

Pendant le processus d’exportation, le moteur de synchronisation envoie les modifications préparées sur les objets intermédiaires et marquées d’un indicateur signalant l’attente d’une exportation.During the export process, sync engine pushes out changes that are staged on staging objects and that are flagged as pending export.

L’illustration suivante montre où chaque processus se produit lorsque les informations d’identité circulent d’une source de données à une autre.The following illustration shows where each of the processes occurs as identity information flows from one connected data source to another.

Arch6

Processus d’importationImport process

Lors du processus d’importation, le moteur de synchronisation évalue les mises à jour des informations d’identité.During the import process, sync engine evaluates updates to identity information. Le moteur de synchronisation compare les informations d’identité provenant de la source de données connectée avec celles d’un objet intermédiaire et détermine si l’objet intermédiaire nécessite des mises à jour.Sync engine compares the identity information received from the connected data source with the identity information about a staging object and determines whether the staging object requires updates. S’il est nécessaire de mettre à jour l’objet intermédiaire avec les nouvelles données, ce dernier est marqué d’un indicateur signalant une attente d’importation.If it is necessary to update the staging object with new data, the staging object is flagged as pending import.

En configurant avec étape intermédiaire les objets dans l’espace connecteur avant la synchronisation, le moteur de synchronisation peut traiter uniquement les informations d’identité qui ont changé.By staging objects in the connector space before synchronization, sync engine can process only the identity information that has changed. Ce processus permet de bénéficier des avantages suivants :This process provides the following benefits:

  • Une synchronisation efficace.Efficient synchronization. La quantité de données traitées pendant la synchronisation est réduite au minimum.The amount of data processed during synchronization is minimized.
  • Une resynchronisation efficace.Efficient resynchronization. Vous pouvez modifier le mode de traitement des informations d’identité par le moteur de synchronisation sans reconnecter la source de données à ce dernier.You can change how sync engine processes identity information without reconnecting the sync engine to the data source.
  • La possibilité d’afficher un aperçu de la synchronisation.Opportunity to preview synchronization. Vous pouvez afficher un aperçu de la synchronisation pour vérifier que vos hypothèses sur le processus de gestion d’identité sont correctes.You can preview synchronization to verify that your assumptions about the identity management process are correct.

Pour chaque objet spécifié dans le connecteur, le moteur de synchronisation essaie tout d’abord de localiser une représentation de l’objet dans l’espace connecteur du connecteur.For each object specified in the Connector, the sync engine first tries to locate a representation of the object in the connector space of the Connector. Le moteur de synchronisation examine tous les objets intermédiaires dans l’espace connecteur et tente de trouver un objet intermédiaire qui possède un attribut d’ancre correspondant.Sync engine examines all staging objects in the connector space and tries to find a corresponding staging object that has a matching anchor attribute. Si aucun objet intermédiaire existant ne présente d’attribut d’ancre correspondant, le moteur de synchronisation essaie de trouver un objet intermédiaire correspondant portant le même nom unique.If no existing staging object has a matching anchor attribute, sync engine tries to find a corresponding staging object with the same distinguished name.

Lorsque le moteur de synchronisation détecte un objet intermédiaire dont le nom unique correspond, mais non l’ancre, il adopte le comportement spécifique suivant :When sync engine finds a staging object that matches by distinguished name but not by anchor, the following special behavior occurs:

  • Si l’objet situé dans l’espace connecteur n’a aucune ancre, le moteur de synchronisation supprime cet objet de l’espace connecteur et indique sur l’objet métaverse avec lequel il est lié le message suivant : « refaire une tentative d’approvisionnement lors de l’exécution de la synchronisation suivante».If the object located in the connector space has no anchor, then sync engine removes this object from the connector space and marks the metaverse object it is linked to as retry provisioning on next synchronization run. Il crée ensuite un objet d’importation.Then it creates the new import object.
  • Si l’objet situé dans l’espace connecteur a une ancre, le moteur de synchronisation suppose que cet objet a été renommé ou supprimé dans l’annuaire connecté.If the object located in the connector space has an anchor, then sync engine assumes that this object has either been renamed or deleted in the connected directory. Il assigne un nouveau nom unique temporaire à l’objet CS (Connector Space) afin de pouvoir préparer l’objet entrant.It assigns a temporary, new distinguished name for the connector space object so that it can stage the incoming object. L’ancien objet devient alors temporaire; il attend que le connecteur importe l’objet renommé ou supprimé pour résoudre le problème.The old object then becomes transient, waiting for the Connector to import the rename or deletion to resolve the situation.

Si le moteur de synchronisation localise un objet intermédiaire qui correspond aux objets spécifiés dans le connecteur, il détermine le type de modifications à appliquer.If sync engine locates a staging object that corresponds to the object specified in the Connector, it determines what kind of changes to apply. Le moteur de synchronisation peut, par exemple, renommer ou supprimer l’objet dans la source de données connectée, ou seulement mettre à jour les valeurs d’attribut de l’objet.For example, sync engine might rename or delete the object in the connected data source, or it might only update the object’s attribute values.

Les objets intermédiaires avec des données mises à jour sont marqués comme étant en attente d’importation.Staging objects with updated data are marked as pending import. Plusieurs types d’importation en attente sont disponibles.Different types of pending imports are available. Selon le résultat du processus d’importation, un objet intermédiaire dans l’espace connecteur présente l’un des types d’importations en attente suivants :Depending on the result of the import process, a staging object in the connector space has one of the following pending import types:

  • None.None. Aucune modification des attributs de l’objet intermédiaire n’est disponible.No changes to any of the attributes of the staging object are available. Le moteur de synchronisation ne marque pas ce type d’un indicateur d’attente d’importation.Sync engine does not flag this type as pending import.
  • Ajouter.Add. L’objet intermédiaire est un nouvel objet d’importation dans l’espace connecteur.The staging object is a new import object in the connector space. Le moteur de synchronisation marque ce type d’un indicateur d’attente d’importation à des fins de traitement supplémentaire dans le métaverse.Sync engine flags this type as pending import for additional processing in the metaverse.
  • Mettre à jour.Update. Le moteur de synchronisation recherche un objet intermédiaire correspondant dans l’espace connecteur et marque ce type d’un indicateur d’attente d’importation, afin que les mises à jour des attributs puissent être traitées dans le métaverse.Sync engine finds a corresponding staging object in the connector space and flags this type as pending import so that updates to the attributes can be processed in the metaverse. Les mises à jour comprennent la modification des noms d’objets.Updates include object renaming.
  • Supprimer.Delete. Le moteur de synchronisation recherche un objet intermédiaire correspondant dans l’espace connecteur et marque ce type d’un indicateur d’attente d’importation afin de pouvoir supprimer l’objet joint.Sync engine finds a corresponding staging object in the connector space and flags this type as pending import so that the joined object can be deleted.
  • Supprimer/Ajouter.Delete/Add. Le moteur de synchronisation recherche un objet intermédiaire correspondant dans l’espace connecteur, mais les types d’objet ne correspondent pas.Sync engine finds a corresponding staging object in the connector space, but the object types do not match. Dans ce cas, une modification de type suppression-ajout est préparée.In this case, a delete-add modification is staged. Une modification de type suppression-ajout indique au moteur de synchronisation qu’une resynchronisation complète de cet objet doit être effectuée, car un ensemble de règles différentes est appliqué à cet objet lorsque le type de ce dernier change.A delete-add modification indicates to the sync engine that a complete resynchronization of this object must occur because different sets of rules apply to this object when the object type changes.

En définissant un objet intermédiaire comme étant en attente d’importation, vous pouvez réduire considérablement la quantité de données traitées pendant la synchronisation. Cela permet au système de traiter uniquement les objets dont les données sont mises à jour.By setting the pending import status of a staging object, it is possible to reduce significantly the amount of data processed during synchronization because doing so allows the system to process only those objects that have updated data.

Processus de synchronisationSynchronization process

La synchronisation consiste en deux processus connexes :Synchronization consists of two related processes:

  • la synchronisation entrante, lorsque le contenu du métaverse est mis à jour via les données de l’espace connecteur ;Inbound synchronization, when the content of the metaverse is updated by using the data in the connector space.
  • la synchronisation sortante, lorsque le contenu de l’espace connecteur est mis à jour à l’aide des données du métaverse.Outbound synchronization, when the content of the connector space is updated by using data in the metaverse.

En utilisant les informations préparées dans l’espace connecteur, le processus de synchronisation entrante crée dans le métaverse la vue intégrée des données stockées dans les sources de données connectées.By using the information staged in the connector space, the inbound synchronization process creates in the metaverse the integrated view of the data that is stored in the connected data sources. Tous les objets intermédiaires, ou ceux qui sont en attente d’importation seulement, sont regroupés, selon le mode de configuration des règles.Either all staging objects or only those with a pending import information are aggregated, depending on how the rules are configured.

Le processus de synchronisation sortante met à jour les objets d’exportation lorsque les objets métaverse sont modifiés.The outbound synchronization process updates export objects when metaverse objects change.

La synchronisation entrante crée, dans le métaverse, la vue intégrée des informations d’identité provenant des sources de données connectées.Inbound synchronization creates the integrated view in the metaverse of the identity information that is received from the connected data sources. Le moteur de synchronisation peut traiter les informations d’identité à tout moment, en utilisant les dernières informations d’identité qu’il a reçues de la source de données connectée.Sync engine can process identity information at any time by using the latest identity information that it has from the connected data source.

Synchronisation entranteInbound synchronization

La synchronisation entrante comprend les processus suivants :Inbound synchronization includes the following processes:

  • Configuration (également appelée Projection s’il s’avère nécessaire de distinguer ce processus de l’approvisionnement de synchronisation sortante).Provision (also called Projection if it is important to distinguish this process from outbound synchronization provisioning). Le moteur de synchronisation crée un objet métaverse basé sur un objet intermédiaire et les lie l’un à l’autre.The Sync engine creates a new metaverse object based on a staging object and links them. La configuration est une opération de niveau objet.Provision is an object-level operation.
  • Jointure.Join. Le moteur de synchronisation lie un objet intermédiaire à un objet de métaverse existant.The Sync engine links a staging object to an existing metaverse object. L’opération de jointure s’effectue au niveau de l’objet.A join is an object-level operation.
  • Flux d’attributs d’importation.Import attribute flow. Le moteur de synchronisation met à jour les valeurs d’attribut de l’objet, appelées flux de valeur d’attribut, dans le métaverse.Sync engine updates the attribute values, called attribute flow, of the object in the metaverse. Le flux de valeur d’attribut d’importation est une opération au niveau de l’attribut, qui nécessite un lien entre un objet intermédiaire et un objet de métaverse.Import attribute flow is an attribute-level operation that requires a link between a staging object and a metaverse object.

La configuration est le seul processus qui crée des objets dans le métaverse.Provision is the only process that creates objects in the metaverse. La configuration affecte uniquement les objets d’importation qui correspondent à des objets disjoints.Provision affects only import objects that are disjoined objects. Pendant la configuration, le moteur de synchronisation crée un objet métaverse qui correspond au type de l’objet d’importation et établit un lien entre les deux objets, créant ainsi un objet joint.During provision, sync engine creates a metaverse object that corresponds to the object type of the import object and establishes a link between both objects, thus creating a joined object.

Le processus de jointure établit également un lien entre des objets d’importation et un objet métaverse.The join process also establishes a link between import objects and a metaverse object. Il existe une différence entre la jointure et l’approvisionnement : le processus de jointure nécessite que l’objet d’importation soit lié à un objet métaverse existant, tandis que le processus d’approvisionnement crée un objet métaverse.The difference between join and provision is that the join process requires that the import object are linked to an existing metaverse object, where the provision process creates a new metaverse object.

Le moteur de synchronisation tente de joindre un objet d’importation à un objet métaverse à l’aide des critères spécifiés dans la configuration de la règle de synchronisation.Sync engine tries to join an import object to a metaverse object by using criteria that is specified in the Synchronization Rule configuration.

Durant les processus d’approvisionnement et de jointure, le moteur de synchronisation lie un objet disjoint à un objet métaverse, les joignant.During the provision and join processes, sync engine links a disjoined object to a metaverse object, making them joined. Une fois ces opérations de niveau objet terminées, le moteur de synchronisation peut mettre à jour les valeurs d’attribut de l’objet métaverse associé.After these object-level operations are completed, sync engine can update the attribute values of the associated metaverse object. Ce processus est appelé flux de valeur d’attribut d’importation.This process is called import attribute flow.

Le flux de valeur d’attribut d’importation se produit sur tous les objets d’importation qui comportent de nouvelles données et sont liés à un objet métaverse.Import attribute flow occurs on all import objects that carry new data and are linked to a metaverse object.

Synchronisation sortanteOutbound synchronization

La synchronisation sortante met à jour les objets d’exportation lorsqu’un objet métaverse est modifié sans être supprimé.Outbound synchronization updates export objects when a metaverse object change but is not deleted. L’objectif de la synchronisation sortante consiste à évaluer si les modifications apportées aux objets métaverse nécessitent des mises à jour des objets intermédiaires dans les espaces connecteur.The objective of outbound synchronization is to evaluate whether changes to metaverse objects require updates to staging objects in the connector spaces. Dans certains cas, les modifications peuvent exiger que les objets intermédiaires dans tous les espaces connecteur soient mis à jour.In some cases, the changes can require that staging objects in all connector spaces be updated. Les objets intermédiaires modifiés sont marqués d’un indicateur d’attente d’exportation, ce qui fait d’eux des objets d’exportation.Staging objects that are changed are flagged as pending export, making them export objects. Ces objets d’exportation sont ensuite transmis à la source de données connectée pendant le processus d’exportation.These export objects are later pushed out to the connected data source during the export process.

La synchronisation sortante s’effectue en trois phases :Outbound synchronization has three processes:

  • ApprovisionnementProvisioning
  • Annulation de l’approvisionnementDeprovisioning
  • Flux de valeur d’attribut d’exportation.Export attribute flow

L’approvisionnement et l’annulation de l’approvisionnement sont des opérations de niveau objet.Provisioning and deprovisioning are both object-level operations. L’annulation de l’approvisionnement est fonction de l’approvisionnement, car ce dernier est le seul à pouvoir l’initier.Deprovisioning depends on provisioning because only provisioning can initiate it. L’annulation est déclenchée lorsque l’approvisionnement supprime le lien entre un objet métaverse et un objet d’exportation.Deprovisioning is triggered when provisioning removes the link between a metaverse object and an export object.

L’approvisionnement se déclenche toujours lorsque des modifications sont appliquées aux objets dans le métaverse.Provisioning is always triggered when changes are applied to objects in the metaverse. Lorsque des modifications sont apportées aux objets métaverse, le moteur de synchronisation peut effectuer les tâches suivantes dans le cadre du processus d’approvisionnement :When changes are made to metaverse objects, sync engine can perform any of the following tasks as part of the provisioning process:

  • La création d’objets joints, lors de laquelle un objet métaverse est lié à un objet d’exportation nouvellement créé.Create joined objects, where a metaverse object is linked to a newly created export object.
  • Le changement de nom d’un objet joint.Rename a joined object.
  • La séparation des liens entre un objet métaverse et des objets intermédiaires, créant un objet disjoint.Disjoin links between a metaverse object and staging objects, creating a disjoined object.

Si l’approvisionnement nécessite que le moteur de synchronisation crée un objet connecteur, l’objet intermédiaire auquel est lié l’objet métaverse est toujours un objet d’exportation, car l’objet n’existe pas encore dans la source de données connectée.If provisioning requires sync engine to create a new connector object, the staging object to which the metaverse object is linked is always an export object, because the object does not yet exist in the connected data source.

Si l’approvisionnement nécessite que le moteur de synchronisation sépare un objet joint, créant un objet disjoint, l’annulation de l’approvisionnement est déclenchée.If provisioning requires sync engine to disjoin a joined object, creating a disjoined object, deprovisioning is triggered. Ce processus d’annulation supprime l’objet.The deprovisioning process deletes the object.

Lors de cette annulation, la suppression d’un objet d’exportation ne supprime pas physiquement l’objet.During deprovisioning, deleting an export object does not physically delete the object. L’objet est marqué d’un indicateur supprimé, ce qui signifie que l’opération de suppression est préparée sur l’objet.The object is flagged as deleted, which means that the delete operation is staged on the object.

Le flux de valeur d’attribut d’exportation se produit également lors du processus de synchronisation sortante, de la même manière que le flux de valeur d’attribut d’importation se produit pendant la synchronisation entrante.Export attribute flow also occurs during the outbound synchronization process, similar to the way that import attribute flow occurs during inbound synchronization. Le flux de valeur d’attribut d’exportation se produit uniquement entre les objets métaverse et les objets d’exportation qui sont joints.Export attribute flow occurs only between metaverse and export objects that are joined.

Processus d’exportationExport process

Pendant le processus d’exportation, le moteur de synchronisation examine tous les objets d’exportation qui sont marqués d’un indicateur d’attente d’exportation dans l’espace connecteur, puis envoie des mises à jour à la source de données connectée.During the export process, sync engine examines all export objects that are flagged as pending export in the connector space, and then sends updates to the connected data source.

Le moteur de synchronisation peut indiquer la réussite d’une exportation, mais ne peut pas déterminer avec précision si le processus de gestion des identités est terminé.The sync engine can determine the success of an export but it cannot sufficiently determine that the identity management process is complete. Les objets de la source de données connectée peuvent toujours être modifiés par d’autres processus.Objects in the connected data source can always be changed by other processes. Étant donné que le moteur de synchronisation ne dispose pas d’une connexion permanente à la source de données connectée, il ne suffit pas d’émettre des hypothèses sur les propriétés d’un objet dans la source de données connectée sur la seule base d’une notification d’exportation réussie.Because sync engine does not have a persistent connection to the connected data source, it is not sufficient to make assumptions about the properties of an object in the connected data source based only on a successful export notification.

Par exemple, un processus dans la source de données connectée peut basculer les attributs de l’objet vers leurs valeurs d’origine (autrement dit, la source de données connectée peut remplacer les valeurs immédiatement après l’envoi des données par le moteur de synchronisation et leur application réussie dans la source de données connectée).For example, a process in the connected data source could change the object’s attributes back to their original values (that is, the connected data source could overwrite the values immediately after the data is pushed out by sync engine and successfully applied in the connected data source).

Le moteur de synchronisation stocke les informations d’état de l’exportation et de l’importation de chaque objet intermédiaire.The sync engine stores export and import status information about each staging object. Si les valeurs des attributs indiqués dans la liste d’inclusion d’attributs ont changé depuis la dernière exportation, le stockage des informations d’état de l’exportation et de l’importation permet au moteur de synchronisation de réagir en conséquence.If values of the attributes that are specified in the attribute inclusion list have changed since the last export, the storage of import and export status enables sync engine to react appropriately. Le moteur de synchronisation utilise le processus d’importation pour vérifier les valeurs d’attribut qui ont été exportées vers la source de données connectée.Sync engine uses the import process to confirm attribute values that have been exported to the connected data source. Une comparaison entre les informations importées et exportées, comme indiqué dans l’illustration suivante, permet au moteur de synchronisation de déterminer si l’exportation a réussi ou si elle doit être répétée.A comparison between the imported and exported information, as shown in the following illustration, enables sync engine to determine whether the export was successful or if it needs to be repeated.

Arch7

Par exemple, si le moteur de synchronisation exporte l’attribut C, qui a la valeur 5, vers une source de données connectée, il stocke la valeur C=5 dans sa mémoire de statut d’exportation.For example, if sync engine exports attribute C, which has a value of 5, to a connected data source, it stores C=5 in its export status memory. Chaque exportation supplémentaire de cet objet entraîne une nouvelle tentative d’exportation de la valeur C=5 vers la source de données connectée, car le moteur de synchronisation suppose que cette valeur n’a pas été appliquée à l’objet de manière continue (sauf si une valeur différente a été importée récemment à partir de la source de données connectée).Each additional export on this object results in an attempt to export C=5 to the connected data source again because sync engine assumes that this value has not been persistently applied to the object (that is, unless a different value was imported recently from the connected data source). La mémoire d’exportation est désactivée en cas de réception de la valeur C=5 au cours d’une opération d’importation sur l’objet.The export memory is cleared when C=5 is received during an import operation on the object.

Étapes suivantesNext steps

En savoir plus sur la configuration de la synchronisation Azure AD Connect .Learn more about the Azure AD Connect sync configuration.

En savoir plus sur l’ intégration de vos identités locales avec Azure Active Directory.Learn more about Integrating your on-premises identities with Azure Active Directory.