Obtenir des données à partir de l’API Intune Data Warehouse avec un client REST
Vous pouvez accéder au modèle de données Intune Data Warehouse via des points de terminaison RESTful. Pour accéder à vos données, votre client doit autoriser avec Microsoft Entra ID à l’aide d’OAuth 2.0. Pour activer l’accès, configurez d’abord une application native dans Azure et accordez des autorisations à l’API Microsoft Intune. Votre client local obtient l’autorisation, puis il peut communiquer avec les points de terminaison Data Warehouse via l’application native.
Les étapes de configuration d’un client pour obtenir des données à partir de l’API Data Warehouse vous obligent à :
- Créer une application cliente en tant qu’application native dans Azure
- Accorder à l’application cliente l’accès à l’API Microsoft Intune
- Créer un client REST local pour obtenir les données
Suivez les étapes suivantes pour apprendre à autoriser et à accéder à l’API avec un client REST. Tout d’abord, vous allez examiner l’utilisation d’un client REST générique à l’aide de Postman. Postman est un outil couramment utilisé pour résoudre les problèmes et développer des clients REST pour travailler avec des API. Pour plus d’informations sur Postman, consultez le site Postman . Vous pouvez ensuite examiner un exemple de code C#. L’exemple fournit un exemple d’autorisation d’un client et d’obtention de données à partir de l’API.
Créer une application cliente en tant qu’application native dans Azure
Créez une application native dans Azure. Cette application native est l’application cliente. Le client s’exécutant sur votre ordinateur local fait référence à l’API Intune Data Warehouse lorsque le client local demande des informations d’identification.
- Connectez-vous au Centre d'administration Microsoft 365.
- Choisissez Microsoft Entra ID Inscriptions>des applications pour ouvrir le volet inscriptions d'applications.
- Sélectionnez Nouvelle inscription d’application.
- Tapez les détails de l’application.
- Tapez un nom convivial, tel que « Intune Data Warehouse client » pour le nom.
- Sélectionnez Comptes dans cet annuaire organisationnel uniquement (Microsoft uniquement - Monolocataire) pour les types de comptes pris en charge.
- Tapez une URL pour l’URI de redirection. L’URI de redirection dépend du scénario spécifique, mais si vous envisagez d’utiliser Postman, tapez
https://www.getpostman.com/oauth2/callback
. Vous utiliserez le rappel pour l’étape d’authentification du client lors de l’authentification auprès de Microsoft Entra ID.
- Sélectionner Inscription.
- Notez l’ID d’application (client) de cette application. Vous utiliserez l’ID dans la section suivante.
Accorder à l’application cliente l’accès à l’API Microsoft Intune
Vous disposez maintenant d’une application définie dans Azure. Accordez l’accès à partir de l’application native à l’API Microsoft Intune.
- Connectez-vous au Centre d'administration Microsoft 365.
- Choisissez Microsoft Entra ID Inscriptions>des applications pour ouvrir le volet inscriptions d'applications.
- Sélectionnez l’application dont vous avez besoin pour accorder l’accès. Vous avez nommé l’application comme Intune Data Warehouse Client.
- Sélectionnez Autorisations d’API>Ajouter une autorisation.
- Recherchez et sélectionnez l’API Intune. Il est nommé Microsoft Intune API.
- Sélectionnez la zone Autorisations déléguées, puis cliquez sur la zone Obtenir des informations sur l’entrepôt de données à partir de Microsoft Intune.
- Cliquez sur Ajouter des autorisations.
- Si vous le souhaitez, sélectionnez Accorder le consentement administrateur pour Microsoft dans le volet Autorisations configurées, puis sélectionnez Oui. Cela permet d’accorder l’accès à tous les comptes dans l’annuaire actif. Cela empêche la boîte de dialogue de consentement d’apparaître pour chaque utilisateur du locataire. Pour plus d’informations, consultez Intégration d’applications à Microsoft Entra ID.
- Sélectionnez Certificats & secrets>+ Nouvelle clé secrète client et générez-en un. Veillez à le copier à un endroit sûr, car vous ne pourrez plus y accéder.
Obtenir des données à partir de l’API Microsoft Intune avec Postman
Vous pouvez utiliser l’API Intune Data Warehouse avec un client REST générique tel que Postman. Postman peut fournir des insights sur les fonctionnalités de l’API, le modèle de données OData sous-jacent et résoudre les problèmes de connexion aux ressources de l’API. Dans cette section, vous trouverez des informations sur la génération d’un jeton Auth2.0 pour votre client local. Le client a besoin du jeton pour s’authentifier auprès de Microsoft Entra ID et accéder aux ressources de l’API.
Informations dont vous aurez besoin pour effectuer l’appel
Vous avez besoin des informations suivantes pour effectuer un appel REST à l’aide de Postman :
Attribut | Description | Exemple |
---|---|---|
URL de rappel | Définissez-la en tant qu’URL de rappel dans la page des paramètres de votre application. | https://www.getpostman.com/oauth2/callback |
Nom du jeton | Chaîne utilisée pour passer les informations d’identification à l’application Azure. Le processus génère votre jeton afin que vous puissiez effectuer un appel à l’API Data Warehouse. | Porteur |
URL d’authentification | Il s’agit de l’URL utilisée pour l’authentification. | https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/ |
URL du jeton d’accès | Il s’agit de l’URL utilisée pour accorder le jeton. | https://login.microsoftonline.com/common/oauth2/token |
ID du client | Vous avez créé et noté cela lors de la création de l’application native dans Azure. | 4184c61a-e324-4f51-83d7-022b6a81b991 |
Clé secrète client | Vous avez créé et noté cela lors de la création de l’application native dans Azure. | Ksml3dhDJs+jfK1f8Mwc8 |
Étendue (facultatif) | Vous pouvez laisser le champ vide. REMARQUE : Certains sdk, tels que la bibliothèque d’authentification Microsoft (MSAL) pour Python, peuvent nécessiter l’étendue définie avec des barres obliques doubles (//). |
SCOPE = ['https://api.manage.microsoft.com//.default'] |
Type d’octroi | Le jeton est un code d’autorisation. | Code d’autorisation |
Point de terminaison OData
Vous avez également besoin du point de terminaison. Pour obtenir votre point de terminaison Data Warehouse, vous avez besoin de l’URL de flux personnalisé. Vous pouvez obtenir le point de terminaison OData à partir du volet Data Warehouse.
- Connectez-vous au Centre d’administration Microsoft Intune.
- Ouvrez le volet Data Warehouse en sélectionnantEntrepôt de données rapports>.
- Copiez l’URL du flux personnalisé sous Flux OData pour le service de création de rapports. Il doit ressembler à ceci :
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0
Le point de terminaison suit le format suivant : https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}
Par exemple, l’entité dates ressemble à ceci : https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Pour plus d’informations, consultez Intune Data Warehouse point de terminaison d’API.
Effectuer l’appel REST
Pour obtenir un nouveau jeton d’accès pour Postman, vous devez ajouter l’URL d’autorisation Microsoft Entra, ajouter votre ID client et votre clé secrète client. Postman charge la page d’autorisation dans laquelle vous tapez vos informations d’identification.
Avant d’effectuer l’appel, vérifiez que vous avez déjà ajouté l’URL de rappel à votre application dans Azure. L’URL de rappel est https://www.getpostman.com/oauth2/callback
.
Ajouter les informations utilisées pour demander le jeton
Téléchargez Postman si vous ne l’avez pas déjà installé. Pour télécharger Postman, consultez www.getpostman.com.
Ouvrez Postman. Choisissez l’opération HTTP GET.
Collez l’URL du point de terminaison dans l’adresse. Il doit ressembler à ceci :
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Choisissez l’onglet Autorisation , puis sélectionnez OAuth 2.0 dans la liste Type .
Faites défiler jusqu’à la section Configurer un nouveau jeton .
Tapez Porteur pour le nom du jeton.
Sélectionnez Code d’autorisation comme Type d’octroi.
Ajoutez l’URL de rappel. L’URL de rappel est
https://www.getpostman.com/oauth2/callback
.Ajoutez l’URL d’authentification. Il doit ressembler à ceci :
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Ajoutez l’URL du jeton d’accès. Il doit ressembler à ceci :
https://login.microsoftonline.com/common/oauth2/token
Ajoutez l’ID client de l’application native que vous avez créée dans Azure et nommée
Intune Data Warehouse Client
. Il doit ressembler à ceci :88C8527B-59CB-4679-A9C8-324941748BB4
Ajoutez la clé secrète client que vous avez générée à partir de l’application native que vous avez créée dans Azure. Il doit ressembler à ceci :
Ksml3dhDJs+jfK1f8Mwc8
Sélectionnez Obtenir un nouveau jeton d’accès.
Tapez vos informations d’identification dans la page d’autorisation Active AD. La liste des jetons dans Postman contient désormais le jeton nommé
Bearer
.Sélectionnez Utiliser le jeton. La liste des en-têtes contient la nouvelle valeur de clé d’Autorisation et la valeur
Bearer <your-authorization-token>
.
Envoyer l’appel au point de terminaison à l’aide de Postman
Créer un client REST (C#) pour obtenir des données à partir du Intune Data Warehouse
L’exemple suivant contient un client REST simple. Le code utilise la classe httpClient de la bibliothèque .NET. Une fois que le client obtient des informations d’identification pour Microsoft Entra ID, il construit un appel REST GET pour récupérer l’entité dates à partir de l’API Data Warehouse.
Remarque
Vous pouvez accéder à l’exemple de code suivant sur GitHub. Reportez-vous au référentiel GitHub pour connaître les dernières modifications et mises à jour de l’exemple.
Ouvrez Microsoft Visual Studio.
Choisissez Fichier>Nouveau projet. Développez Visual C#, puis choisissez Application console (.NET Framework) .
Nommez le projet
IntuneDataWarehouseSamples
, accédez à l’emplacement où vous souhaitez enregistrer le projet, puis sélectionnez OK.Cliquez avec le bouton droit sur le nom de la solution dans le Explorateur de solutions, puis sélectionnez Gérer les packages NuGet pour la solution. Sélectionnez Parcourir, puis tapez
Microsoft.Identity.Client
dans la zone de recherche.Remarque
Vous devez utiliser la bibliothèque d’authentification Microsoft (MSAL). Pour plus d’informations, consultez Mettre à jour vos applications afin d’utiliser la bibliothèque d’authentification Microsoft (MSAL) et l’API Microsoft Graph.
Choisissez le package, sélectionnez le projet IntuneDataWarehouseSamples sous Gérer les packages pour votre solution, puis sélectionnez Installer.
Sélectionnez J’accepte pour accepter la licence du package NuGet.
Ouvrez
Program.cs
à partir du Explorateur de solutions.Remplacez le code dans Program.cs par le code suivant :
namespace IntuneDataWarehouseSamples { using System; using System.Net.Http; using System.Net.Http.Headers; using Microsoft.Identity.Client; class Program { static void Main(string[] args) { /** * TODO: Replace the below values with your own. * emailAddress - The email address of the user that you will authenticate as. * * password - The password for the above email address. * This is inline only for simplicity in this sample. We do not * recommend storing passwords in plaintext. * * applicationId - The application ID of the native app that was created in AAD. * * warehouseUrl - The data warehouse URL for your tenant. This can be found in * the Microsoft Intune admin center. * * collectionName - The name of the warehouse entity collection you would like to * access. */ var emailAddress = "intuneadmin@yourcompany.com"; var password = "password_of(intuneadmin@yourcompany.com)"; var applicationId = "<Application ID>"; var warehouseUrl = "https://fef.{yourinfo}.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0"; var collectionName = "dates"; var msalContext = new AuthenticationContext("https://login.windows.net/common/oauth2/token"); AuthenticationResult authResult = msalContext.AcquireTokenAsync( resource: "https://api.manage.microsoft.com/", clientId: applicationId, userCredential: new UserPasswordCredential(emailAddress, password)).Result; var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken); var uriBuilder = new UriBuilder(warehouseUrl); uriBuilder.Path += "/" + collectionName; HttpResponseMessage response = httpClient.GetAsync(uriBuilder.Uri).Result; Console.Write(response.Content.ReadAsStringAsync().Result); Console.ReadKey(); } } }
Mettez à jour les
TODO
s dans l’exemple de code.Appuyez sur Ctrl+ F5 pour générer et exécuter le Intune. Client DataWarehouseAPIClient en mode débogage.
Passez en revue la sortie de la console. La sortie contient des données au format JSON extraites de l’entité dates dans votre locataire Intune.
Étapes suivantes
Vous trouverez des détails sur l’autorisation, la structure d’URL de l’API et les points de terminaison OData dans Utiliser l’API Intune Data Warehouse.
Vous pouvez également vous référer au modèle de données Intune Data Warehouse pour rechercher les entités de données contenues dans l’API. Pour plus d’informations, consultez modèle de données d’API Intune Data Warehouse.