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 der Microsoft Entra-ID mithilfe von OAuth 2.0 durchführen. Um den Zugriff zu aktivieren, richten Sie 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:
- Erstellen einer Client-App als native App in Azure
- Gewähren des Zugriffs auf die Microsoft Intune-API für die Client-App
- Erstellen 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.
Erstellen einer Client-App als native App in Azure
Erstellen Sie eine native 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.
- Melden Sie sich beim Microsoft Entra Admin Centeran.
- Wählen Sie Microsoft Entra ID>App-Registrierungen aus, um den Bereich App-Registrierungen zu öffnen.
- Wählen Sie Neue App-Registrierung aus.
- Geben Sie die App-Details ein.
- Geben Sie einen Anzeigenamen ein, z. B. "Intune Data Warehouse-Client" für den Namen.
- Wählen Sie nur Konten in diesem Organisationsverzeichnis (nur Microsoft – einzelner Mandant) für unterstützte Kontotypen aus.
- 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 die Clientauthentifizierung, wenn Sie sich bei der Microsoft Entra-ID authentifizieren.
- Wählen Sie Registrieren aus.
- 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.
- Melden Sie sich beim Microsoft Entra Admin Centeran.
- Wählen Sie Microsoft Entra ID>App-Registrierungen aus, um den Bereich App-Registrierungen zu öffnen.
- Wählen Sie die App aus, der Sie Zugriff gewähren müssen. Sie haben die App als Intune Data Warehouse-Client bezeichnet.
- Wählen Sie API-Berechtigungen>Berechtigung hinzufügen aus.
- Suchen Sie die Intune-API, und wählen Sie sie aus. Sie heißt Microsoft Intune-API.
- Wählen Sie das Feld Delegierte Berechtigungen aus, und klicken Sie auf das Feld Data Warehouse-Informationen aus Microsoft Intune abrufen .
- Klicken Sie auf Berechtigungen hinzufügen.
- 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.
- 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 mit der 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.
- Melden Sie sich beim Microsoft Intune Admin Center an.
- Öffnen Sie den Bereich Data Warehouse , indem Sie Berichte>Data Warehouse auswählen.
- 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.
Laden Sie Postman herunter, wenn Sie es noch nicht installiert haben. Informationen zum Herunterladen von Postman finden Sie unter www.getpostman.com.
Öffnen Sie Postman. Wählen Sie den HTTP-Vorgang GET aus.
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
Wählen Sie die Registerkarte Autorisierung und dann OAuth 2.0 aus der Liste Typ aus.
Scrollen Sie nach unten zum Abschnitt Neues Token konfigurieren .
Geben Sie Bearer für den Tokennamen ein.
Wählen Sie Autorisierungscode als Gewährungstyp aus.
Fügen Sie die Rückruf-URL hinzu. Die Rückruf-URL lautet
https://www.getpostman.com/oauth2/callback
.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/
Fügen Sie die Zugriffstoken-URL hinzu. Sie sollte in etwa wie folgt aussehen:
https://login.microsoftonline.com/common/oauth2/token
Fügen Sie die Client-ID aus der nativen App hinzu, die Sie in Azure erstellt haben, und nennen
Intune Data Warehouse Client
Sie . Sie sollte in etwa wie folgt aussehen:88C8527B-59CB-4679-A9C8-324941748BB4
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
Wählen Sie Neues Zugriffstoken abrufen aus.
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
.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
Erstellen 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.
Öffnen Sie Microsoft Visual Studio.
Wählen Sie Datei>Neues Projekt aus. Erweitern Sie Visual C#, und wählen Sie Konsolen-App (.NET Framework) aus.
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.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.
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.
Wählen Sie Ich stimme zu, um die NuGet-Paketlizenz zu akzeptieren.
Öffnen Sie
Program.cs
im Projektmappen-Explorer.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(); } } }
Aktualisieren Sie die
TODO
s im Codebeispiel.Drücken Sie STRG+F5 , um den Intune.DataWarehouseAPIClient-Client im Debugmodus zu erstellen und auszuführen.
Ü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 das 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.