Share via


Gegevens ophalen uit de Intune Data Warehouse-API met een REST-client

U hebt toegang tot het Intune Data Warehouse-gegevensmodel via RESTful-eindpunten. Om toegang te krijgen tot uw gegevens, moet uw client autoriseren met Microsoft Entra ID met behulp van OAuth 2.0. Als u toegang wilt inschakelen, stelt u eerst een systeemeigen app in Azure in en verleent u machtigingen aan de Microsoft Intune-API. Uw lokale client krijgt autorisatie en vervolgens kan de client communiceren met de datawarehouse-eindpunten via de systeemeigen app.

Voor de stappen voor het instellen van een client voor het ophalen van gegevens uit de Data Warehouse-API moet u het volgende doen:

  1. Een client-app maken als een systeemeigen app in Azure
  2. De client-app toegang verlenen tot de Microsoft Intune-API
  3. Een lokale REST-client maken om de gegevens op te halen

Gebruik de volgende stappen voor meer informatie over het autoriseren en openen van de API met een REST-client. Eerst gaat u kijken naar het gebruik van een algemene REST-client met Behulp van Postman. Postman is een veelgebruikt hulpprogramma voor het oplossen van problemen en het ontwikkelen van REST-clients voor het werken met API's. Zie de Postman-site voor meer informatie over Postman. Vervolgens kunt u een C#-codevoorbeeld bekijken. Het voorbeeld bevat een voorbeeld voor het autoriseren van een client en het ophalen van gegevens uit de API.

Een client-app maken als een systeemeigen app in Azure

Een systeemeigen app maken in Azure. Deze systeemeigen app is de client-app. De client die op uw lokale computer wordt uitgevoerd, verwijst naar de Intune Data Warehouse-API wanneer de lokale client referenties aanvraagt.

  1. Meld u aan bij het Microsoft Entra-beheercentrum.
  2. Kies Microsoft EntraID-app-registraties> om het deelvenster App-registraties te openen.
  3. Selecteer Nieuwe app-registratie.
  4. Typ de app-details.
    1. Typ een beschrijvende naam, zoals 'Intune Data Warehouse-client' als naam.
    2. Selecteer Alleen accounts in deze organisatiemap (alleen Microsoft - enkele tenant) voor de ondersteunde accounttypen.
    3. Typ een URL voor de omleidings-URI. De omleidings-URI is afhankelijk van het specifieke scenario, maar als u postman wilt gebruiken, typt https://www.getpostman.com/oauth2/callbacku . U gebruikt de callback voor clientverificatiestap bij het verifiëren bij Microsoft Entra ID.
  5. Selecteer Registreren.
  6. Noteer de toepassings-id (client) van deze app. U gebruikt de id in de volgende sectie.

De client-app toegang verlenen tot de Microsoft Intune-API

U hebt nu een app gedefinieerd in Azure. Toegang verlenen vanuit de systeemeigen app tot de Microsoft Intune-API.

  1. Meld u aan bij het Microsoft Entra-beheercentrum.
  2. Kies Microsoft EntraID-app-registraties> om het deelvenster App-registraties te openen.
  3. Selecteer de app die u nodig hebt om toegang te verlenen. U hebt de app bijvoorbeeld Intune Data Warehouse Client genoemd.
  4. Selecteer API-machtigingen>Een machtiging toevoegen.
  5. Zoek en selecteer de Intune-API. Deze heet Microsoft Intune API.
  6. Selecteer het vak Gedelegeerde machtigingen en klik op het vak Datawarehouse-gegevens ophalen uit Microsoft Intune .
  7. Klik op Machtigingen toevoegen.
  8. Selecteer eventueel Beheerderstoestemming verlenen aan Microsoft in het deelvenster Geconfigureerde machtigingen en selecteer vervolgens Ja. Hiermee verleent u toegang tot alle accounts in de huidige map. Hierdoor wordt voorkomen dat het toestemmingsdialoogvenster wordt weergegeven voor elke gebruiker in de tenant. Zie Toepassingen integreren met Microsoft Entra ID voor meer informatie.
  9. Selecteer Certificaten & geheimen>+ Nieuw clientgeheim en genereer een nieuw geheim. Zorg ervoor dat u deze ergens veilig kopieert, omdat u er geen toegang meer toe hebt.

Gegevens ophalen uit de Microsoft Intune-API met Postman

U kunt met de Intune Data Warehouse-API werken met een algemene REST-client, zoals Postman. Postman kan inzicht geven in de functies van de API, het onderliggende OData-gegevensmodel en het oplossen van problemen met uw verbinding met de API-resources. In deze sectie vindt u informatie over het genereren van een Auth2.0-token voor uw lokale client. De client heeft het token nodig om te verifiëren met Microsoft Entra ID en toegang te krijgen tot de API-resources.

Informatie die u nodig hebt om te bellen

U hebt de volgende informatie nodig om een REST-aanroep te maken met behulp van Postman:

Attribuut Beschrijving Voorbeeld
Callback-URL Stel deze in als de callback-URL op de pagina met app-instellingen. https://www.getpostman.com/oauth2/callback
Tokennaam Een tekenreeks die wordt gebruikt om de referenties door te geven aan de Azure-app. Het proces genereert uw token, zodat u een aanroep naar de Data Warehouse-API kunt maken. Drager
Verificatie-URL Dit is de URL die wordt gebruikt om te verifiëren. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
URL van toegangstoken Dit is de URL die wordt gebruikt om het token toe te kennen. https://login.microsoftonline.com/common/oauth2/token
Client-id U hebt dit gemaakt en genoteerd bij het maken van de systeemeigen app in Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Clientgeheim U hebt dit gemaakt en genoteerd bij het maken van de systeemeigen app in Azure. Ksml3dhDJs+jfK1f8Mwc8
Bereik (optioneel) U kunt het veld leeg laten.

OPMERKING: voor sommige SDK's, zoals de Microsoft Authentication Library (MSAL) voor Python, moet het bereik mogelijk worden gedefinieerd met dubbele schuine streepjes (//).

BEREIK = ['https://api.manage.microsoft.com//.default'']
Toekenningstype Het token is een autorisatiecode. Autorisatiecode

OData-eindpunt

U hebt ook het eindpunt nodig. Als u uw datawarehouse-eindpunt wilt ophalen, hebt u de url van de aangepaste feed nodig. U kunt het OData-eindpunt ophalen vanuit het deelvenster Datawarehouse.

  1. Meld je aan bij het Microsoft Intune-beheercentrum.
  2. Open het deelvenster Datawarehouse door Rapporten>Datawarehouse te selecteren.
  3. Kopieer de aangepaste feed-URL onder OData-feed voor rapportageservice. Dit ziet er ongeveer als volgt uit: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

Het eindpunt heeft de volgende indeling: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

De datumentiteit ziet er bijvoorbeeld als volgt uit: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Zie Intune Data Warehouse API-eindpunt voor meer informatie.

De REST-aanroep starten

Als u een nieuw toegangstoken voor Postman wilt ophalen, moet u de Microsoft Entra-autorisatie-URL, uw client-id en clientgeheim toevoegen. Postman laadt de autorisatiepagina waar u uw referenties typt.

Voordat u de aanroep uitvoert, controleert u of u de callback-URL al hebt toegevoegd aan uw app in Azure. De callback-URL is https://www.getpostman.com/oauth2/callback.

De gegevens toevoegen die worden gebruikt om het token aan te vragen

  1. Download Postman als u dit nog niet hebt geïnstalleerd. Zie www.getpostman.com om Postman te downloaden.

  2. Open Postman. Kies de HTTP-bewerking GET.

  3. Plak de eindpunt-URL in het adres. Dit ziet er ongeveer als volgt uit:

    https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

  4. Kies het tabblad Autorisatie en selecteer OAuth 2.0 in de lijst Type .

  5. Schuif omlaag naar de sectie Nieuw token configureren .

  6. Typ Bearer als tokennaam.

  7. Selecteer Autorisatiecode als toekenningstype.

  8. Voeg de callback-URL toe. De callback-URL is https://www.getpostman.com/oauth2/callback.

  9. Voeg de verificatie-URL toe. Dit ziet er ongeveer als volgt uit:

    https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/

  10. Voeg de URL van het toegangstoken toe. Dit ziet er ongeveer als volgt uit:

    https://login.microsoftonline.com/common/oauth2/token

  11. Voeg de client-id toe vanuit de systeemeigen app die u in Azure hebt gemaakt en met de naam Intune Data Warehouse Client. Dit ziet er ongeveer als volgt uit:

    88C8527B-59CB-4679-A9C8-324941748BB4

  12. Voeg het clientgeheim toe dat u hebt gegenereerd vanuit de systeemeigen app die u in Azure hebt gemaakt. Dit ziet er ongeveer als volgt uit:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Selecteer Nieuw toegangstoken ophalen.

    Informatie voor het toegangstoken.

  14. Typ uw referenties op de pagina Active AD-autorisatie. De lijst met tokens in Postman bevat nu het token met de naam Bearer.

  15. Selecteer Token gebruiken. De lijst met headers bevat de nieuwe sleutelwaarde Autorisatie en de waarde Bearer <your-authorization-token>.

De aanroep verzenden naar het eindpunt met behulp van Postman

  1. Selecteer Verzenden.

  2. De retourgegevens worden weergegeven in de postman-antwoordtekst.

    Postman-clientstatus is gelijk aan 200 OK.

Een REST-client (C#) maken om gegevens op te halen uit het Intune-datawarehouse

Het volgende voorbeeld bevat een eenvoudige REST-client. De code maakt gebruik van de klasse httpClient uit de .NET-bibliotheek. Zodra de client referenties voor Microsoft Entra ID heeft verkregen, maakt de client een GET REST-aanroep om de datumentiteit op te halen uit de Data Warehouse-API.

Opmerking

U hebt toegang tot het volgende codevoorbeeld op GitHub. Raadpleeg de GitHub-opslagplaats voor de meest recente wijzigingen en updates van het voorbeeld.

  1. Open Microsoft Visual Studio.

  2. Kies Nieuw project bestand>. Vouw Visual C# uit en kies Console-app (.NET Framework).

  3. Geef het project IntuneDataWarehouseSamplesde naam , blader naar de locatie waar u het project wilt opslaan en selecteer OK.

  4. Klik met de rechtermuisknop op de naam van de oplossing in Solution Explorer en selecteer Vervolgens NuGet-pakketten beheren voor oplossing. Selecteer Bladeren en typ Microsoft.Identity.Client in het zoekvak.

    Opmerking

    U moet de Microsoft Authentication Library (MSAL) gebruiken. Zie Uw toepassingen bijwerken om Microsoft Authentication Library (MSAL) en Microsoft Graph API te gebruiken voor meer informatie.

  5. Kies het pakket, selecteer het project IntuneDataWarehouseSamples onder Pakketten beheren voor uw oplossing en selecteer vervolgens Installeren.

  6. Selecteer Ik ga akkoord om de NuGet-pakketlicentie te accepteren.

  7. Open Program.cs vanuit Solution Explorer.

    Program.cs en Solution Explorer in Visual Studio.

  8. Vervang de code in Program.cs door de volgende code:

    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();
    }
    }
    }
    
  9. Werk de TODOs in het codevoorbeeld bij.

  10. Druk op Ctrl + F5 om de Intune.DataWarehouseAPIClient-client te bouwen en uit te voeren in de foutopsporingsmodus.

    Datumentiteit opgehaald in JSON-indeling.

  11. Controleer de console-uitvoer. De uitvoer bevat gegevens in een JSON-indeling die zijn opgehaald uit de datumentiteit in uw Intune-tenant.

Volgende stappen

Meer informatie over autorisatie, de API-URL-structuur en OData-eindpunten vindt u in De Intune Data Warehouse-API gebruiken.

U kunt ook het Intune-datawarehouse-gegevensmodel raadplegen om de gegevensentiteiten in de API te vinden. Zie Intune Data Warehouse API-gegevensmodel voor meer informatie.