Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Explorer Graph API

Poster un commentaire

Graph API est une Api REST destinée à Azure AD (WAAD). Graph API est très utilisé aussitôt que l’on manipule des tenants Azure. On peut utiliser cette interface pour réaliser toutes opérations CRUD sur les répertoires et les objets du répertoire ((les groupes, les utilisateurs ou les applications par exemple).

La documentation MSDN de Graph Api est ici:

http://msdn.microsoft.com/en-us/library/hh974476.aspx

 

Dans cet article nous allons essayer d’explorer cette interface du point de vue d’un outil en ligne qui est une sorte de Management Studio pour Graph API, le GraphExplorer:

http://graphexplorer.cloudapp.net/

Cet outil permet comme l’indique son nom, d’explorer l’ AAD (Azure Active Directory), mais pas de le modifier.

Comment ça marche?

J’emprunte à la référence 2 l’idée de ce graphe qui résume la dynamique d’une requête Graph Api:

2014-08-24_11-25-50

  1. L’application réclame au tenant un jeton au format JWT en lui présentant des credentials valides
  2. Azure AD renvoie le jeton signé si les credentials sont valides
  3. L’application formule une requête Graph API à laquelle est joint le jeton
  4. Graph Api valide le jeton, vérifie les autorisation et répond à la requête

 

GraphExplorer

GraphExplorer peut vous intéresser si vous souhaitez explorer l’API Azure AD sans avoir à écrire tout de suite du code.

 

L’explorateur est accessible ici:

http://graphexplorer.cloudapp.net/

2014-08-24_13-14-55

On remarque une série de menus en haut à droite:

  • Documentation
    Ouvre un lien sur cette page:
    http://msdn.microsoft.com/en-us/library/hh974476.aspx
    Documentation de Graph Api
  • Use Demo Company
    Si vous n’avez pas d’application sous la main, vous pouvez découvrir l’explorateur avec le cas d’une compagnie fictive
  • Sign in
    Se connecter avec un compte Global administrator

2014-08-24_13-28-00

Les requêtes REST sont de la forme:

domaines1.onmicrosoft.com/<nom domaine>

Par exemple la requête:

https://graph.windows.net/domaines1.onmicrosoft.com/

Renvoie un menu général des opérations accessibles sur le domaine domaines1.onmicrosoft.com. Le résultat est affiché ci dessus.

La première constatation est que la réponse est du JSON-Lite par défaut. Mais on peut obtenir une réponse en XML.

 

Il existe un type particulier de requête: la requête différentielle. Ce type de requête ne retourne que les changement opérés dans un Azure AD. Ces requêtes sont caractérisées par la présence du paramètre deltaLink. On a besoin d’une requête initiale invoquée en passant le paramètre deltaLink sans valeur. par exemple:

https://graph.windows.net/domaines1.onmicrosoft.com/directoryObjects?api-version=2013-04-05&deltaLink=

Il s’affiche:

2014-08-24_14-28-55

Une propriété aad.deltaLink ou bien aad.nextLink est retournée dans la réponse.

  • aad.deltaLink indique qu’il n’y a plus de modifications à retourner dans le répertoire Azure
  • aad.nextLink amène vers la suite du différentiel

 

La réponse fournit également d’autres informations que l’on ne rencontre pas dans les requêtes plus usuelles:

  • les liens et les objets supprimés. Ces entités sont marquées avec la valeur true de la propriété aad.isDeleted
  • Les entités ne contiennent que les propriétés qui ont changées

Si vous avez besoin d’en savoir plus:

http://msdn.microsoft.com/library/azure/jj836245.aspx

 

Vous pouvez également lire une série d’article sur Graph Api ici:

http://community.office365.com/en-us/b/office_365_community_blog/archive/tags/GraphAPI/default.aspx

 

Bibliographie

  1. http://graphexplorer.cloudapp.net/
  2. http://msdn.microsoft.com/en-US/library/azure/dn151791.aspx
  3. http://msdn.microsoft.com/en-us/library/hh974476.aspx
  4. http://community.office365.com/en-us/b/office_365_community_blog/archive/tags/GraphAPI/default.aspx
  5. http://msdn.microsoft.com/library/azure/jj836245.aspx

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s