Hämta data från Intune Data Warehouse-API:et med en REST-klient
Du kan komma åt Intune Data Warehouse datamodellen via RESTful-slutpunkter. För att få åtkomst till dina data måste klienten auktorisera med Microsoft Entra ID med OAuth 2.0. Om du vill aktivera åtkomst konfigurerar du först en inbyggd app i Azure och beviljar behörigheter till Microsoft Intune-API:et. Din lokala klient får auktorisering och sedan kan klienten kommunicera med Data Warehouse slutpunkter via den interna appen.
Stegen för att konfigurera en klient för att hämta data från Data Warehouse API kräver att du:
- Skapa en klientapp som en intern app i Azure
- Ge klientappen åtkomst till Microsoft Intune-API:et
- Skapa en lokal REST-klient för att hämta data
Använd följande steg för att lära dig hur du auktoriserar och får åtkomst till API:et med en REST-klient. Först ska du titta på hur du använder en allmän REST-klient med Postman. Postman är ett vanligt verktyg som felsöker och utvecklar REST-klienter för att arbeta med API:er. Mer information om Postman finns på Postman-webbplatsen . Sedan kan du titta på ett C#-kodexempel. Exemplet innehåller ett exempel för att auktorisera en klient och hämta data från API:et.
Skapa en klientapp som en intern app i Azure
Skapa en intern app i Azure. Den här interna appen är klientappen. Klienten som körs på den lokala datorn refererar till Intune Data Warehouse-API:et när den lokala klienten begär autentiseringsuppgifter.
- Logga in på Microsoft Entra administrationscenter.
- Välj Microsoft Entra ID>Appregistreringar för att öppna fönstret Appregistreringar.
- Välj Ny appregistrering.
- Ange appinformationen.
- Ange ett eget namn, till exempel "Intune Data Warehouse Client" som namn.
- Välj Endast konton i den här organisationskatalogen (endast Microsoft – enskild klient) för de kontotyper som stöds.
- Ange en URL för omdirigerings-URI:n. Omdirigerings-URI:n beror på det specifika scenariot, men om du planerar att använda Postman skriver du
https://www.getpostman.com/oauth2/callback
. Du använder motringningssteget för klientautentisering när du autentiserar till Microsoft Entra ID.
- Välj Registrera.
- Observera programmets (klientens) ID för den här appen. Du kommer att använda ID:t i nästa avsnitt.
Ge klientappen åtkomst till Microsoft Intune-API:et
Nu har du en app som definierats i Azure. Bevilja åtkomst från den inbyggda appen till Microsoft Intune-API:et.
- Logga in på Microsoft Entra administrationscenter.
- Välj Microsoft Entra ID>Appregistreringar för att öppna fönstret Appregistreringar.
- Välj den app som du behöver för att bevilja åtkomst. Du gav appen ett namn, till exempel Intune Data Warehouse Client.
- Välj API-behörigheter>Lägg till en behörighet.
- Leta upp och välj Intune-API:et. Den heter Microsoft Intune API.
- Välj rutan Delegerade behörigheter och klicka på rutan Hämta information om informationslager från Microsoft Intune.
- Klicka på Lägg till behörigheter.
- Du kan också välja Bevilja administratörsmedgivande för Microsoft i fönstret Konfigurerade behörigheter och sedan välja Ja. Detta ger åtkomst till alla konton i den aktuella katalogen. Detta förhindrar att dialogrutan medgivande visas för alla användare i klientorganisationen. Mer information finns i Integrera program med Microsoft Entra ID.
- Välj Certifikat & hemligheter>+ Ny klienthemlighet och generera en ny hemlighet. Se till att kopiera den på en säker plats eftersom du inte kommer åt den igen.
Hämta data från Microsoft Intune-API:et med Postman
Du kan arbeta med Intune Data Warehouse-API:et med en allmän REST-klient, till exempel Postman. Postman kan ge insikter om funktionerna i API:et, den underliggande OData-datamodellen och felsöka anslutningen till API-resurserna. I det här avsnittet hittar du information om hur du genererar en Auth2.0-token för din lokala klient. Klienten behöver token för att autentisera med Microsoft Entra ID och komma åt API-resurserna.
Information som du behöver för att ringa samtalet
Du behöver följande information för att göra ett REST-anrop med Postman:
Attribut | Beskrivning | Exempel |
---|---|---|
Motringnings-URL | Ange detta som motringnings-URL på sidan för appinställningar. | https://www.getpostman.com/oauth2/callback |
Tokennamn | En sträng som används för att skicka autentiseringsuppgifterna till Azure-appen. Processen genererar din token så att du kan göra ett anrop till Data Warehouse-API:et. | Bärare |
Autentiserings-URL | Det här är den URL som används för att autentisera. | https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/ |
URL för åtkomsttoken | Det här är den URL som används för att bevilja token. | https://login.microsoftonline.com/common/oauth2/token |
Klient-ID | Du skapade och noterade detta när du skapade den interna appen i Azure. | 4184c61a-e324-4f51-83d7-022b6a81b991 |
Klienthemlighet | Du skapade och noterade detta när du skapade den interna appen i Azure. | Ksml3dhDJs+jfK1f8Mwc8 |
Omfång (valfritt) | Du kan lämna fältet tomt. Obs! Vissa SDK:er, till exempel Microsoft Authentication Library (MSAL) för Python, kan behöva det omfång som definierats med dubbla snedstreck (//). |
SCOPE = [''https://api.manage.microsoft.com//.default] |
Bevilja typ | Token är en auktoriseringskod. | Auktoriseringskod |
OData-slutpunkt
Du behöver också slutpunkten. För att få din Data Warehouse slutpunkt behöver du url:en för anpassad feed. Du kan hämta OData-slutpunkten från fönstret Data Warehouse.
- Logga in på Microsoft Intune administrationscenter.
- Öppna fönstret Data Warehouse genom att välja Informationslager för rapporter>.
- Kopiera url:en för anpassad feed under OData-feed för rapporteringstjänsten. Det bör se ut ungefär så här:
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0
Slutpunkten följer följande format: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}
Entiteten dates ser till exempel ut så här: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Mer information finns i Intune Data Warehouse API-slutpunkt.
Gör REST-anropet
Om du vill hämta en ny åtkomsttoken för Postman måste du lägga till Microsoft Entra auktoriserings-URL, lägga till ditt klient-ID och klienthemlighet. Postman läser in auktoriseringssidan där du anger dina autentiseringsuppgifter.
Innan du gör anropet kontrollerar du att du redan har lagt till återanrops-URL:en i din app i Azure. Motringnings-URL:en är https://www.getpostman.com/oauth2/callback
.
Lägg till den information som används för att begära token
Ladda ned Postman om du inte redan har det installerat. Information om hur du laddar ned Postman finns i www.getpostman.com.
Öppna Postman. Välj HTTP-åtgärden GET.
Klistra in slutpunkts-URL:en i adressen. Det bör se ut ungefär så här:
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Välj fliken Auktorisering och välj OAuth 2.0 i listan Typ .
Rulla ned till avsnittet Konfigurera ny token .
Skriv Bearer som tokennamn.
Välj Auktoriseringskod som beviljandetyp.
Lägg till motringnings-URL:en. Motringnings-URL:en är
https://www.getpostman.com/oauth2/callback
.Lägg till autentiserings-URL:en. Det bör se ut ungefär så här:
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Lägg till URL:en för åtkomsttoken. Det bör se ut ungefär så här:
https://login.microsoftonline.com/common/oauth2/token
Lägg till klient-ID :t från den inbyggda app som du skapade i Azure och som heter
Intune Data Warehouse Client
. Det bör se ut ungefär så här:88C8527B-59CB-4679-A9C8-324941748BB4
Lägg till den klienthemlighet som du genererade inifrån den interna app som du skapade i Azure. Det bör se ut ungefär så här:
Ksml3dhDJs+jfK1f8Mwc8
Välj Hämta ny åtkomsttoken.
Ange dina autentiseringsuppgifter på auktoriseringssidan för Active AD. Listan över token i Postman innehåller nu token med namnet
Bearer
.Välj Använd token. Listan över rubriker innehåller det nya nyckelvärdet auktorisering och värdet
Bearer <your-authorization-token>
.
Skicka anropet till slutpunkten med Postman
Skapa en REST-klient (C#) för att hämta data från Intune Data Warehouse
Följande exempel innehåller en enkel REST-klient. Koden använder klassen httpClient från .NET-biblioteket. När klienten får autentiseringsuppgifter för att Microsoft Entra ID skapar klienten ett GET REST-anrop för att hämta datumentiteten från Data Warehouse-API:et.
Obs!
Du kan komma åt följande kodexempel på GitHub. Se GitHub-lagringsplatsen för de senaste ändringarna och uppdateringarna av exemplet.
Öppna Microsoft Visual Studio.
Välj Arkiv>Nytt projekt. Expandera Visual C# och välj Konsolapp (.NET Framework).
Ge projektet
IntuneDataWarehouseSamples
namnet , bläddra till platsen där du vill spara projektet och välj sedan OK.Högerklicka på namnet på lösningen i Solution Explorer och välj sedan Hantera NuGet-paket för lösning. Välj Bläddra och skriv
Microsoft.Identity.Client
sedan i sökrutan.Obs!
Du måste använda Microsoft Authentication Library (MSAL). Mer information finns i Uppdatera dina program så att de använder Microsoft Authentication Library (MSAL) och Microsoft Graph API.
Välj paketet, välj projektet IntuneDataWarehouseSamples under Hantera paket för din lösning och välj sedan Installera.
Välj Jag accepterar för att acceptera NuGet-paketlicensen.
Öppna
Program.cs
från Solution Explorer.Ersätt koden i Program.cs med följande kod:
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(); } } }
Uppdatera s
TODO
i kodexemplet.Tryck på Ctrl + F5 för att skapa och köra Intune. DataWarehouseAPIClient-klienten i felsökningsläge.
Granska konsolens utdata. Utdata innehåller data i ett JSON-format som hämtats från datumentiteten i din Intune klientorganisation.
Nästa steg
Du hittar information om auktorisering, API-URL-strukturen och OData-slutpunkter i Använda Intune Data Warehouse-API:et.
Du kan också referera till Intune Data Warehouse datamodellen för att hitta de dataentiteter som finns i API:et. Mer information finns i Intune Data Warehouse API-datamodell.