Sdílet prostřednictvím


Získání dat z rozhraní INTUNE DATA WAREHOUSE API pomocí klienta REST

K datovému modelu Intune Data Warehouse můžete přistupovat prostřednictvím koncových bodů RESTful. Pokud chcete získat přístup k vašim datům, musí se váš klient autorizovat pomocí Microsoft Entra ID pomocí OAuth 2.0. Pokud chcete povolit přístup, nejprve v Azure nastavte nativní aplikaci a udělte oprávnění rozhraní API Microsoft Intune. Váš místní klient získá autorizaci a klient pak může komunikovat s koncovými body Data Warehouse prostřednictvím nativní aplikace.

Postup nastavení klienta pro získání dat z rozhraní API Data Warehouse vyžaduje, abyste:

  1. Vytvoření klientské aplikace jako nativní aplikace v Azure
  2. Udělení přístupu klientské aplikaci k rozhraní API Microsoft Intune
  3. Vytvoření místního klienta REST pro získání dat

Pomocí následujícího postupu se dozvíte, jak autorizovat rozhraní API a přistupovat k tomuto rozhraní API pomocí klienta REST. Nejprve se podíváte na použití obecného klienta REST pomocí nástroje Postman. Postman je běžně používaný nástroj pro řešení potíží a vývoj klientů REST pro práci s rozhraními API. Další informace o nástroji Postman najdete na webu Postman . Pak se můžete podívat na ukázku kódu jazyka C#. Ukázka poskytuje příklad pro autorizaci klienta a získání dat z rozhraní API.

Vytvoření klientské aplikace jako nativní aplikace v Azure

Vytvořte nativní aplikaci v Azure. Tato nativní aplikace je klientská aplikace. Klient spuštěný na místním počítači odkazuje na rozhraní API Intune Data Warehouse, když si místní klient vyžádá přihlašovací údaje.

  1. Přihlaste se k Centrum pro správu Microsoft Entra.
  2. Zvolte Microsoft Entra ID>Registrace aplikací a otevřete podokno Registrace aplikací.
  3. Vyberte Registrace nové aplikace.
  4. Zadejte podrobnosti o aplikaci.
    1. Zadejte popisný název, například "Intune Data Warehouse Client" jako Název.
    2. V části Podporované typy účtů vyberte Účty pouze v tomto organizačním adresáři (jenom Microsoft – jeden tenant).
    3. Zadejte adresu URL identifikátoru URI přesměrování. Identifikátor URI přesměrování bude záviset na konkrétním scénáři, ale pokud plánujete používat Nástroj Postman, zadejte https://www.getpostman.com/oauth2/callback. Zpětné volání použijete pro krok ověřování klienta při ověřování Microsoft Entra ID.
  5. Vyberte Zaregistrovat.
  6. Poznamenejte si ID aplikace (klienta) této aplikace. ID použijete v další části.

Udělení přístupu klientské aplikaci k rozhraní API Microsoft Intune

Teď máte v Azure definovanou aplikaci. Udělte z nativní aplikace přístup k rozhraní API Microsoft Intune.

  1. Přihlaste se k Centrum pro správu Microsoft Entra.
  2. Zvolte Microsoft Entra ID>Registrace aplikací a otevřete podokno Registrace aplikací.
  3. Vyberte aplikaci, které potřebujete udělit přístup. Aplikaci jste pojmenovali například Intune Data Warehouse Client.
  4. Vyberte Oprávnění> rozhraní APIPřidat oprávnění.
  5. Vyhledejte a vyberte rozhraní API Intune. Má název Microsoft Intune API.
  6. Vyberte pole Delegovaná oprávnění a klikněte na pole Získat informace o datovém skladu z Microsoft Intune.
  7. Klikněte na Přidat oprávnění.
  8. Volitelně vyberte Udělit souhlas správce pro Microsoft v podokně Nakonfigurovaná oprávnění a pak vyberte Ano. Tím udělíte přístup všem účtům v aktuálním adresáři. Tím se zabrání zobrazení dialogového okna souhlasu pro každého uživatele v tenantovi. Další informace najdete v tématu Integrace aplikací s Microsoft Entra ID.
  9. Vyberte Certifikáty & tajné kódy>+ Nový tajný klíč klienta a vygenerujte nový tajný klíč. Nezapomeňte ho zkopírovat na nějakém bezpečném místě, protože už k němu nebudete mít přístup.

Získání dat z rozhraní MICROSOFT INTUNE API pomocí nástroje Postman

S rozhraním API Intune Data Warehouse můžete pracovat s obecným klientem REST, jako je Postman. Postman vám může poskytnout přehled o funkcích rozhraní API, podkladovém datovém modelu OData a vyřešit potíže s připojením k prostředkům rozhraní API. V této části najdete informace o vygenerování tokenu Auth2.0 pro místního klienta. Klient bude potřebovat token k ověření pomocí Microsoft Entra ID a přístupu k prostředkům rozhraní API.

Informace, které budete potřebovat k provedení hovoru

K volání REST pomocí nástroje Postman potřebujete následující informace:

Atribut Popis Příklad
Adresa URL zpětného volání Nastavte ji jako adresu URL zpětného volání na stránce nastavení aplikace. https://www.getpostman.com/oauth2/callback
Název tokenu Řetězec, který slouží k předání přihlašovacích údajů do aplikace Azure. Tento proces vygeneruje token, abyste mohli volat rozhraní API Data Warehouse. Nosič
Ověřovací adresa URL Toto je adresa URL, která se používá k ověření. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Adresa URL přístupových tokenů Toto je adresa URL, která slouží k udělení tokenu. https://login.microsoftonline.com/common/oauth2/token
ID klienta Vytvořili jste a poznamenali jste to při vytváření nativní aplikace v Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Tajný klíč klienta Vytvořili jste a poznamenali jste to při vytváření nativní aplikace v Azure. Ksml3dhDJs+jfK1f8Mwc8
Obor (volitelné) Pole můžete nechat prázdné.

POZNÁMKA: Některé sady SDK, například Microsoft Authentication Library (MSAL) pro Python, můžou potřebovat obor definovaný dvojitými lomítky (//).

SCOPE = ['https://api.manage.microsoft.com//.default']
Typ udělení Token je autorizační kód. Autorizační kód

Koncový bod OData

Potřebujete také koncový bod. K získání koncového bodu Data Warehouse budete potřebovat adresu URL vlastního informačního kanálu. Koncový bod OData můžete získat z podokna Data Warehouse.

  1. Přihlaste se k Centru pro správu Microsoft 365.
  2. Výběrem datovéhoskladusestav> otevřete podokno Data Warehouse.
  3. Zkopírujte adresu URL vlastního informačního kanálu v části Datový kanál OData pro službu Reporting Service. Měla by vypadat přibližně takto: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

Koncový bod má následující formát: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

Například entita dates vypadá takto: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Další informace najdete v tématu koncový bod rozhraní API Intune Data Warehouse.

Volání REST

Pokud chcete získat nový přístupový token pro Nástroj Postman, musíte přidat adresu URL autorizace Microsoft Entra, id klienta a tajný klíč klienta. Postman načte autorizační stránku, kam zadáte svoje přihlašovací údaje.

Před voláním ověřte, že jste už do aplikace v Azure přidali adresu URL zpětného volání. Adresa URL zpětného volání je https://www.getpostman.com/oauth2/callback.

Přidejte informace použité k vyžádání tokenu.

  1. Stáhněte si nástroj Postman, pokud ho ještě nemáte nainstalovaný. Pokud si chcete stáhnout Nástroj Postman, podívejte se na www.getpostman.com.

  2. Otevřete Nástroj Postman. Zvolte operaci HTTP GET.

  3. Vložte adresu URL koncového bodu do adresy. Měla by vypadat přibližně takto:

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

  4. Zvolte kartu Autorizace a v seznamu Typ vyberte OAuth 2.0.

  5. Posuňte se dolů do části Konfigurace nového tokenu .

  6. Jako název tokenu zadejte bearer.

  7. Jako Typ udělení vyberte Autorizační kód .

  8. Přidejte adresu URL zpětného volání. Adresa URL zpětného volání je https://www.getpostman.com/oauth2/callback.

  9. Přidejte ověřovací adresu URL. Měla by vypadat přibližně takto:

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

  10. Přidejte adresu URL přístupového tokenu. Měla by vypadat přibližně takto:

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

  11. Přidejte ID klienta z nativní aplikace, kterou jste vytvořili v Azure a která má název Intune Data Warehouse Client. Měla by vypadat přibližně takto:

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

  12. Přidejte tajný klíč klienta , který jste vygenerovali z nativní aplikace, kterou jste vytvořili v Azure. Měla by vypadat přibližně takto:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Vyberte Získat nový přístupový token.

    Informace o přístupovém tokenu

  14. Na stránce autorizace active AD zadejte svoje přihlašovací údaje. Seznam tokenů v nástroji Postman teď obsahuje token s názvem Bearer.

  15. Vyberte Použít token. Seznam hlaviček obsahuje hodnotu nového klíče autorizace a hodnotu Bearer <your-authorization-token>.

Odeslání volání koncovému bodu pomocí nástroje Postman

  1. Vyberte Odeslat.

  2. Vrácená data se zobrazí v textu odpovědi Postman.

    Stav klienta Postman se rovná 200 OK.

Vytvoření klienta REST (C#) pro získání dat z Intune Data Warehouse

Následující ukázka obsahuje jednoduchého klienta REST. Kód používá třídu httpClient z knihovny .NET. Jakmile klient získá přihlašovací údaje k Microsoft Entra ID, vytvoří volání GET REST, které načte entitu dates z rozhraní API Data Warehouse.

Poznámka

K následující ukázce kódu se dostanete na GitHubu. Nejnovější změny a aktualizace ukázky najdete v úložišti GitHubu.

  1. Otevřete Microsoft Visual Studio.

  2. Zvolte Soubor>nový projekt. Rozbalte Visual C# a zvolte Konzolová aplikace (.NET Framework).

  3. Pojmenujte projekt IntuneDataWarehouseSamples, přejděte na místo, kam chcete projekt uložit, a pak vyberte OK.

  4. V Průzkumník řešení klikněte pravým tlačítkem na název řešení a pak vyberte Spravovat balíčky NuGet pro řešení. Vyberte Procházet a zadejte Microsoft.Identity.Client do vyhledávacího pole.

    Poznámka

    Musíte použít knihovnu MSAL (Microsoft Authentication Library). Další informace najdete v tématu Aktualizace aplikací tak, aby používaly knihovnu MSAL (Microsoft Authentication Library) a Microsoft Graph API.

  5. Zvolte balíček, v části Spravovat balíčky pro vaše řešení vyberte projekt IntuneDataWarehouseSamples a pak vyberte Nainstalovat.

  6. Výběrem možnosti Přijmout přijměte licenci balíčku NuGet.

  7. Otevřete Program.cs z Průzkumník řešení.

    Program.cs a Průzkumník řešení v sadě Visual Studio.

  8. Nahraďte kód v Program.cs následujícím kódem:

    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. Aktualizujte s TODOv ukázce kódu.

  10. Stisknutím ctrl + F5 sestavte a spusťte Intune. Klient DataWarehouseAPIClient v režimu ladění

    Entita data načtená ve formátu JSON

  11. Zkontrolujte výstup konzoly. Výstup obsahuje data ve formátu JSON získaná z entity dates ve vašem tenantovi Intune.

Další kroky

Podrobnosti o autorizaci, struktuře adres URL rozhraní API a koncových bodech OData najdete v tématu Použití rozhraní INTUNE DATA WAREHOUSE API.

Datové entity obsažené v rozhraní API najdete také v Intune Data Warehouse datovém modelu. Další informace najdete v tématu Intune Data Warehouse datový model rozhraní API.