Différences de fonctionnalités entre Azure AD Graph et Microsoft Graph

Cet article fait partie de l’étape 1 : passer en revue les différences d’API du processus de migration des applications.

De nombreuses fonctionnalités de Microsoft Graph fonctionnent de la même façon que leurs équivalents Azure Active Directory (Azure AD) Graph. Toutefois, quelques-uns ont changé ou amélioré. Dans cet article, vous allez apprendre à adapter vos applications pour tirer parti de ces différences.

Cet article explique comment Microsoft Graph gère :

  • Extensions du schéma Directory
  • Requêtes différentielles
  • Traitement par lots

Extensions du schéma Directory

Si votre application utilise des extensions d’annuaire Azure AD Graph, vous pouvez continuer à utiliser les mêmes API de base (avec les URL de requête Microsoft Graph) pour :

  • Gérez les définitions d’extension d’annuaire à l’aide de la ressource extensionProperty et des méthodes associées.
  • Obtenez les propriétés d’extension disponibles à l’aide de l’action getAvailableExtensionProperties .
  • Lire les valeurs d’extension à l’aide de GET et pour les utilisateurs, uniquement avec une $select requête via le point de v1.0 terminaison
  • Recherche sur les valeurs d’extension à l’aide de GET et$filter
  • Mettre à jour les valeurs d’extension à l’aide de PATCH
  • Supprimer des valeurs d’extension à l’aide de PATCH (défini sur Null)

Microsoft Graph fournit une expérience de développement améliorée des extensions de schéma, qui n’est pas aujourd’hui rétrocompatible avec les extensions d’annuaire Azure AD Graph. Pour en savoir plus, consultez Choisir un type d’extension pour votre application.

Si votre application Azure AD Graph utilise des extensions d’annuaire, utilisez une approche incrémentielle pour migrer l’application vers Microsoft Graph.

Tout d’abord, basculez votre application vers l’utilisation des appels microsoft API Graph, mais laissez-la continuer à utiliser les extensions d’annuaire Azure AD Graph.

Ensuite, vous pouvez passer à l’utilisation des extensions de schéma Microsoft Graph. Dans certains cas, le basculement n’est pas approprié. Ne changez pas si :

  • Votre application utilise des extensions d’annuaire créées via AD Connect
  • Votre application définit les valeurs d’extension d’annuaire utilisées dans les revendications de jeton par d’autres applications
  • Votre application définit les valeurs d’extension d’annuaire utilisées dans les règles d’appartenance dynamique

REMARQUE : L’utilisation des propriétés d’extension de schéma Microsoft Graph en tant que revendications dans un jeton à l’aide de revendications facultatives ou dans une règle d’appartenance dynamique n’est pas encore prise en charge.

Pour basculer vers le modèle d’extension de schéma Microsoft Graph le plus récent, vous devez :

  • Définissez de nouvelles définitions d’extension de schéma à l’aide de Microsoft Graph.
  • Mettez à jour l’application pour prendre en charge les nouvelles définitions d’extension de schéma.
  • Migrez les données des propriétés d’extension d’annuaire Azure AD Graph vers les propriétés d’extension de schéma Microsoft Graph. La migration automatique des données n’est pas prise en charge.

Requêtes différentielles

Azure AD Graph et Microsoft Graph vous permettent de suivre les modifications à l’aide de requêtes. L’approche générale est similaire entre les deux API, mais la syntaxe est différente.

Azure AD Graph appelle ces requêtes différentielles, tandis que Microsoft Graph les appelle des requêtes delta.

Le tableau suivant met en évidence les principales similitudes et différences :

Demande delta Azure AD Graph Microsoft Graph
Demande de données initiale Utilise un paramètre de requête :
GET /groups?deltaLink=
Utilise une fonction :
GET /groups/delta
Obtenir de nouvelles modifications GET /groups?deltaLink={deltaToken} GET /groups/delta?$deltaToken={deltaToken}
Synchroniser à partir de maintenant Utilise un en-tête HTTP personnalisé :
ocp-aad-dq-include-only-delta-token: true
Utilise un paramètre de requête :
GET /groups/delta?$deltaToken=latest
Suivre les modifications apportées aux objets d’annuaire Obtient les modifications pour plusieurs ressources (utilisateur et groupe) dans la même opération :
GET /directoryObject?$filter=isof('User') or isof('Group')&deltaLink=
Utilise des requêtes distinctes avec Microsoft Graph, une pour chaque ressource.
Obtenir les modifications des ressources et des relations Toutes les demandes retournent des modifications de ressource et de relation, si la ressource a des relations. GET /groups/delta?$expand=members
Réponse indiquant les éléments nouveaux et modifiés
  • Représente les instances nouvellement créées à l’aide de leur représentation standard.

  • Les instances mises à jour sont représentées par leur ID avec au moins les propriétés qui ont été mises à jour. D’autres propriétés peuvent être incluses.

  • Les relations sont représentées en tant que directoryLinkChange type.

  • Représente les instances nouvellement créées à l’aide de leur représentation standard.

  • Les instances mises à jour sont représentées par leur ID avec au moins les propriétés qui ont été mises à jour. D’autres propriétés peuvent être incluses.

  • Les relations sont représentées sous forme d’annotations sur la représentation de ressource standard. Ces annotations utilisent le format propertyName@delta, par exemple members@delta pour les modifications d’appartenance d’un groupe.

Réponse indiquant les éléments supprimés Indique un élément supprimé avec une propriété supplémentaire aad.isDeleted définie sur true. Indique un élément supprimé avec l’annotation @removed . Il peut également contenir un code de raison, qui indique si l’élément est supprimé, mais peut être restauré ou définitivement supprimé.

Si votre application stocke déjà des données d’état, envisagez d’utiliser la fonctionnalité de « synchronisation à partir de maintenant » pour gérer la transition vers les requêtes delta.

Traitement par lots

Azure AD Graph utilisait un système appelé messages MIME en plusieurs parties pour gérer le traitement par lots. Microsoft Graph utilise le traitement par lot JSON pour autoriser jusqu’à 20 demandes en une seule opération de traitement par lots. Le mécanisme de traitement par lot JSON est plus simple à utiliser, en particulier avec les bibliothèques d’analyse JSON. Il permet également de séquencer les opérations par lots. Toutefois, il n’est pas rétrocompatible avec l’approche de traitement par lots d’Azure AD Graph.

Étape suivante