Abrufen von Daten aus der Intune Data Warehouse-API mit einem REST-Client

Sie können über RESTful-Endpunkte auf das Intune Data Warehouse Datenmodell zugreifen. Um Zugriff auf Ihre Daten zu erhalten, muss Ihr Kunde die Autorisierung mit Microsoft Entra ID mithilfe von OAuth 2.0 durchführen. Richten Sie zum Aktivieren des Zugriffs zunächst eine native App in Azure ein, und erteilen Sie berechtigungen für die Microsoft Intune-API. Ihr lokaler Client erhält die Autorisierung, und der Client kann dann über die native App mit den Data Warehouse-Endpunkten kommunizieren.

Die Schritte zum Einrichten eines Clients zum Abrufen von Daten aus der Data Warehouse-API erfordern Folgendes:

  1. Create einer Client-App als native App in Azure
  2. Gewähren des Zugriffs auf die Microsoft Intune-API für die Client-App
  3. Create eines lokalen REST-Clients zum Abrufen der Daten

Führen Sie die folgenden Schritte aus, um zu erfahren, wie Sie die API mit einem REST-Client autorisieren und darauf zugreifen. Zunächst sehen Sie sich die Verwendung eines generischen REST-Clients mit Postman an. Postman ist ein häufig verwendetes Tool zur Problembehandlung und Entwicklung von REST-Clients für die Arbeit mit APIs. Weitere Informationen zu Postman finden Sie auf der Postman-Website . Anschließend können Sie sich ein C#-Codebeispiel ansehen. Das Beispiel enthält ein Beispiel für die Autorisierung eines Clients und das Abrufen von Daten aus der API.

Create einer Client-App als native App in Azure

Create einer nativen App in Azure. Diese native App ist die Client-App. Der Client, der auf Ihrem lokalen Computer ausgeführt wird, verweist auf die Intune Data Warehouse-API, wenn der lokale Client Anmeldeinformationen anfordert.

  1. Melden Sie sich beim Microsoft Entra Admin Centeran.
  2. Wählen Sie Microsoft Entra ID>App-Registrierungen aus, um den bereich App-Registrierungen zu öffnen.
  3. Wählen Sie Neue App-Registrierung aus.
  4. Geben Sie die App-Details ein.
    1. Geben Sie einen Anzeigenamen ein, z. B. "Intune Data Warehouse Client" für den Namen.
    2. Wählen Sie nur Konten in diesem Organisationsverzeichnis (nur Microsoft – einzelner Mandant) für unterstützte Kontotypen aus.
    3. Geben Sie eine URL für den Umleitungs-URI ein. Der Umleitungs-URI hängt vom jeweiligen Szenario ab. Wenn Sie jedoch postman verwenden möchten, geben Sie ein https://www.getpostman.com/oauth2/callback. Sie verwenden den Rückruf für den Clientauthentifizierungsschritt bei der Authentifizierung bei Microsoft Entra ID.
  5. Wählen Sie Registrieren aus.
  6. Notieren Sie sich die Anwendungs-ID (Client) dieser App. Sie verwenden die ID im nächsten Abschnitt.

Gewähren des Zugriffs auf die Microsoft Intune-API für die Client-App

Sie haben jetzt eine App in Azure definiert. Gewähren Des Zugriffs von der nativen App auf die Microsoft Intune-API.

  1. Melden Sie sich beim Microsoft Entra Admin Centeran.
  2. Wählen Sie Microsoft Entra ID>App-Registrierungen aus, um den bereich App-Registrierungen zu öffnen.
  3. Wählen Sie die App aus, der Sie Zugriff gewähren müssen. Sie haben die App z. B. Intune Data Warehouse Client genannt.
  4. Wählen Sie API-Berechtigungen>Berechtigung hinzufügen aus.
  5. Suchen Sie die Intune-API, und wählen Sie sie aus. Sie hat den Namen Microsoft Intune API.
  6. Wählen Sie das Feld Delegierte Berechtigungen aus, und klicken Sie auf das Feld Data Warehouse-Informationen aus Microsoft Intune abrufen.
  7. Klicken Sie auf Berechtigungen hinzufügen.
  8. Wählen Sie optional im Bereich Konfigurierte Berechtigungen die Option Administratoreinwilligung für Microsoft erteilen und dann Ja aus. Dadurch wird Zugriff auf alle Konten im aktuellen Verzeichnis gewährt. Dadurch wird verhindert, dass das Zustimmungsdialogfeld für jeden Benutzer im Mandanten angezeigt wird. Weitere Informationen finden Sie unter Integrieren von Anwendungen in Microsoft Entra ID.
  9. Wählen Sie Zertifikate & Geheimnisse>+ Neuer geheimer Clientschlüssel aus, und generieren Sie ein neues Geheimnis. Stellen Sie sicher, dass Sie es an einem sicheren Ort kopieren, da Sie nicht mehr darauf zugreifen können.

Abrufen von Daten aus der Microsoft Intune-API mit Postman

Sie können mit der Intune Data Warehouse-API mit einem generischen REST-Client wie Postman arbeiten. Postman kann Einblicke in die Features der API, das zugrunde liegende OData-Datenmodell und Probleme bei der Verbindung mit den API-Ressourcen bieten. In diesem Abschnitt finden Sie Informationen zum Generieren eines Auth2.0-Tokens für Ihren lokalen Client. Der Client benötigt das Token, um sich bei Microsoft Entra ID zu authentifizieren und auf die API-Ressourcen zuzugreifen.

Informationen, die Sie für den Anruf benötigen

Sie benötigen die folgenden Informationen, um einen REST-Aufruf mit Postman durchführen zu können:

Attribut Beschreibung Beispiel
Rückruf-URL Legen Sie dies auf der Seite mit den App-Einstellungen als Rückruf-URL fest. https://www.getpostman.com/oauth2/callback
Token Name Eine Zeichenfolge, die verwendet wird, um die Anmeldeinformationen an die Azure-App zu übergeben. Der Prozess generiert Ihr Token, damit Sie die Data Warehouse-API aufrufen können. Bearer
Authentifizierungs-URL Dies ist die URL, die für die Authentifizierung verwendet wird. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Zugriffstoken-URL Dies ist die URL, die zum Gewähren des Tokens verwendet wird. https://login.microsoftonline.com/common/oauth2/token
Client-ID Sie haben dies erstellt und beim Erstellen der nativen App in Azure notiert. 4184c61a-e324-4f51-83d7-022b6a81b991
Geheimer Clientschlüssel Sie haben dies erstellt und beim Erstellen der nativen App in Azure notiert. Ksml3dhDJs+jfK1f8Mwc8
Bereich (optional) Sie können das Feld leer lassen.

HINWEIS: Einige SDKs, z. B. die Microsoft Authentication Library (MSAL) für Python, benötigen möglicherweise den Bereich, der mit doppelten Schrägstrichen (//) definiert ist.

SCOPE = ['https://api.manage.microsoft.com//.default']
Gewährungstyp Das Token ist ein Autorisierungscode. Dem Authorisierungscode

OData-Endpunkt

Außerdem benötigen Sie den Endpunkt. Um Ihren Data Warehouse-Endpunkt abzurufen, benötigen Sie die benutzerdefinierte Feed-URL. Sie können den OData-Endpunkt aus dem Bereich Data Warehouse abrufen.

  1. Melden Sie sich beim Microsoft Intune Admin Center an.
  2. Öffnen Sie den bereich Data Warehouse, indem Sie Berichte>Data Warehouse auswählen.
  3. Kopieren Sie die benutzerdefinierte Feed-URL unter OData-Feed für den Berichterstellungsdienst. Sie sollte in etwa wie folgt aussehen: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

Der Endpunkt hat das folgende Format: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

Die Datumsentität sieht beispielsweise wie folgt aus:https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Weitere Informationen finden Sie unter Intune Data Warehouse API-Endpunkt.

Durchführen des REST-Aufrufs

Um ein neues Zugriffstoken für Postman zu erhalten, müssen Sie die Microsoft Entra Autorisierungs-URL, Ihre Client-ID und den geheimen Clientschlüssel hinzufügen. Postman lädt die Autorisierungsseite, auf der Sie Ihre Anmeldeinformationen eingeben.

Vergewissern Sie sich vor dem Tätigen des Anrufs, dass Sie die Rückruf-URL bereits zu Ihrer App in Azure hinzugefügt haben. Die Rückruf-URL lautet https://www.getpostman.com/oauth2/callback.

Fügen Sie die Informationen hinzu, die zum Anfordern des Tokens verwendet werden.

  1. Laden Sie Postman herunter, wenn Sie es noch nicht installiert haben. Informationen zum Herunterladen von Postman finden Sie unter www.getpostman.com.

  2. Öffnen Sie Postman. Wählen Sie den HTTP-Vorgang GET aus.

  3. Fügen Sie die Endpunkt-URL in die Adresse ein. Sie sollte in etwa wie folgt aussehen:

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

  4. Wählen Sie die Registerkarte Autorisierung und dann OAuth 2.0 aus der Liste Typ aus.

  5. Scrollen Sie nach unten zum Abschnitt Neues Token konfigurieren .

  6. Geben Sie Bearer für den Tokennamen ein.

  7. Wählen Sie Autorisierungscode als Gewährungstyp aus.

  8. Fügen Sie die Rückruf-URL hinzu. Die Rückruf-URL lautet https://www.getpostman.com/oauth2/callback.

  9. Fügen Sie die Authentifizierungs-URL hinzu. Sie sollte in etwa wie folgt aussehen:

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

  10. Fügen Sie die Zugriffstoken-URL hinzu. Sie sollte in etwa wie folgt aussehen:

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

  11. Fügen Sie die Client-ID aus der nativen App hinzu, die Sie in Azure erstellt haben, und nennen Intune Data Warehouse ClientSie . Sie sollte in etwa wie folgt aussehen:

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

  12. Fügen Sie den geheimen Clientschlüssel hinzu, den Sie aus der nativen App generiert haben, die Sie in Azure erstellt haben. Sie sollte in etwa wie folgt aussehen:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Wählen Sie Neues Zugriffstoken abrufen aus.

    Informationen für das Zugriffstoken.

  14. Geben Sie Ihre Anmeldeinformationen auf der Seite Active AD-Autorisierung ein. Die Liste der Token in Postman enthält jetzt das Token mit dem Namen Bearer.

  15. Wählen Sie Token verwenden aus. Die Liste der Header enthält den neuen Schlüsselwert von Authorization und den Wert Bearer <your-authorization-token>.

Senden des Anrufs an den Endpunkt mithilfe von Postman

  1. Wählen Sie Senden aus.

  2. Die Rückgabedaten werden im Postman-Antworttext angezeigt.

    Postman-Client status gleich 200 OK.

Create eines REST-Clients (C#) zum Abrufen von Daten aus dem Intune Data Warehouse

Das folgende Beispiel enthält einen einfachen REST-Client. Der Code verwendet die httpClient-Klasse aus der .NET-Bibliothek. Sobald der Client Anmeldeinformationen für Microsoft Entra ID erhält, erstellt der Client einen GET REST-Aufruf, um die Datumsentität aus der Data Warehouse-API abzurufen.

Hinweis

Sie können auf GitHub auf das folgende Codebeispiel zugreifen. Die neuesten Änderungen und Updates des Beispiels finden Sie im GitHub-Repository.

  1. Öffnen Sie Microsoft Visual Studio.

  2. Wählen Sie Datei>Neues Projekt aus. Erweitern Sie Visual C#, und wählen Sie Konsolen-App (.NET Framework) aus.

  3. Nennen Sie das Projekt IntuneDataWarehouseSamples, navigieren Sie zu dem Speicherort, an dem Sie das Projekt speichern möchten, und wählen Sie dann OK aus.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Projektmappe, und wählen Sie dann NuGet-Pakete für Projektmappe verwalten aus. Wählen Sie Durchsuchen aus, und geben Sie Microsoft.Identity.Client dann in das Suchfeld ein.

    Hinweis

    Sie müssen die Microsoft Authentication Library (MSAL) verwenden. Weitere Informationen finden Sie unter Aktualisieren Ihrer Anwendungen für die Verwendung der Microsoft-Authentifizierungsbibliothek (MSAL) und der Microsoft Graph-API.

  5. Wählen Sie das Paket aus, wählen Sie unter Pakete für Ihre Projektmappe verwalten das Projekt IntuneDataWarehouseSamples aus, und wählen Sie dann Installieren aus.

  6. Wählen Sie Ich stimme zu, um die NuGet-Paketlizenz zu akzeptieren.

  7. Öffnen Sie Program.cs im Projektmappen-Explorer.

    Program.cs und Projektmappen-Explorer in Visual Studio.

  8. Ersetzen Sie den Code in Program.cs durch den folgenden 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. Aktualisieren Sie die TODOs im Codebeispiel.

  10. Drücken Sie STRG+F5, um die Intune zu erstellen und auszuführen. DataWarehouseAPIClient-Client im Debugmodus.

    Abgerufene Datumsentität im JSON-Format.

  11. Überprüfen Sie die Konsolenausgabe. Die Ausgabe enthält Daten in einem JSON-Format, das aus der Datumsentität in Ihrem Intune Mandanten abgerufen wird.

Nächste Schritte

Details zur Autorisierung, zur API-URL-Struktur und zu OData-Endpunkten finden Sie unter Verwenden der Intune Data Warehouse-API.

Sie können auch auf die Intune Data Warehouse Datenmodell verweisen, um die in der API enthaltenen Datenentitäten zu finden. Weitere Informationen finden Sie unter Intune Data Warehouse API-Datenmodell.