Získání dat z rozhraní API Intune Data Warehouse pomocí klienta REST

K datovému modelu Intune Data Warehouse máte přístup 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 nastavte nativní aplikaci v Azure a udělte oprávnění rozhraní API služby 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, aby získával data z rozhraní API Data Warehouse, vyžaduje:

  1. Vytvoření klientské aplikace jako nativní aplikace v Azure
  2. Udělení přístupu klientské aplikace k rozhraní API služby 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 a získat přístup k 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 společnosti Postman . Pak se můžete podívat na ukázku kódu jazyka C#. Ukázka obsahuje příklad autorizace klienta a získává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ž místní klient požádá o přihlašovací údaje.

  1. Přihlaste se do Centra pro správu Microsoft Entra.
  2. Zvolte Microsoft Entra ID>Registrace aplikací a otevřete podokno Registrace aplikací.
  3. Vyberte Nová registrace aplikace.
  4. Zadejte podrobnosti o aplikaci.
    1. Zadejte popisný název, například "Intune Data Warehouse Client".
    2. U podporovaných typů úč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. Krok zpětného volání pro ověření klienta použijete při ověřování ve službě Microsoft Entra ID.
  5. Vyberte Zaregistrovat.
  6. Poznamenejte si ID aplikace (klienta) této aplikace. ID použijete v následující části.

Udělení přístupu klientské aplikace k rozhraní API služby Microsoft Intune

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

  1. Přihlaste se do Centra pro správu Microsoft Entra.
  2. Zvolte Microsoft Entra ID>Registrace aplikací a otevřete podokno Registrace aplikací.
  3. Vyberte aplikaci, které chcete udělit přístup. Pojmenovali jste aplikaci například Intune Data Warehouse Klient.
  4. Vyberte oprávnění> rozhraní API:Přidejte oprávnění.
  5. Najděte a vyberte rozhraní Intune API. Má název Microsoft Intune API.
  6. Vyberte 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ě můžete v podokně Nakonfigurovaná oprávnění vybrat možnost Udělit souhlas správce pro Microsoft a pak vybrat Ano. Tím udělíte přístup všem účtům v aktuálním adresáři. Tím zabráníte zobrazení dialogového okna souhlasu pro všechny 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ý kód. Nezapomeňte ho zkopírovat někam na bezpečné místo, protože už se k němu nebudete moct dostat.

Získání dat z rozhraní API Microsoft Intune pomocí nástroje Postman

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

Informace, které budete potřebovat k uskutečnění 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 sloužící k předání přihlašovacích údajů aplikaci Azure. Proces vygeneruje váš token, abyste mohli volat rozhraní API Data Warehouse. Doručitel
Adresa URL ověřování 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ého tokenu Toto je adresa URL použitá k udělení tokenu. https://login.microsoftonline.com/common/oauth2/token
ID klienta Vytvořili jste tuto skutečnost a poznamenali jste si ji při vytváření nativní aplikace v Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Tajný klíč klienta Vytvořili jste tuto skutečnost a poznamenali jste si ji při vytváření nativní aplikace v Azure. ksml3dhDJs+jfK1f8Mwc8
Rozsah (volitelný) Toto pole můžete nechat prázdné.

POZNÁMKA: Některé sady SDK, jako je například knihovna Identity a ověřování Microsoftu (MSAL) pro Python, můžou vyžadovat obor definovaný pomocí dvojitých lomítek (//).

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

Koncový bod OData

Potřebujete také koncový bod. Pokud chcete získat koncový bod Data Warehouse, budete potřebovat vlastní adresu URL 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. Otevřete podokno Data Warehouse výběrem Sestavy>Datový sklad.
  3. Zkopírujte adresu URL vlastního informačního kanálu v části Datový kanál OData pro službu generování sestav. Mělo by vypadat nějak 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}

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

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

Volání REST

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

Než zavoláte, ověřte, že jste už do své 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 Postman, pokud jej ještě nemáte nainstalovaný. Pokud si chcete Postman stáhnout, podívejte se na www.getpostman.com.

  2. Otevřete aplikaci Postman. Zvolte operaci HTTP GET.

  3. Vložte adresu URL koncového bodu do adresy. Mělo by vypadat nějak 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 Konfigurovat nový token .

  6. Zadejte Bearer pro název tokenu.

  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 adresu URL ověřování. Mělo by vypadat nějak takto:

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

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

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

  11. Přidejte ID klienta z nativní aplikace, kterou jste vytvořili v Azure a pojmenovali .Intune Data Warehouse Client Mělo by vypadat nějak 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ělo by vypadat nějak takto:

    Ksml3dhDJs+jfK1f8Mwc8

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

    Informace o přístupovém tokenu.

  14. Zadejte své přihlašovací údaje na stránce Aktivní autorizace AD. Seznam tokenů v nástroji Postman teď obsahuje token s názvem Bearer.

  15. Vyberte Použít token. Seznam hlaviček obsahuje novou hodnotu klíče Authorization a hodnotu Bearer <your-authorization-token>.

Odeslání hovoru do koncového bodu pomocí nástroje Postman

  1. Vyberte Odeslat.

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

    Stav klienta Postman je 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á httpClient třídu z knihovny .NET. Jakmile klient získá přihlašovací údaje pro Microsoft Entra ID, vytvoří volání GET REST pro načtení entity dat 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 GitHub.

  1. Otevřete Microsoft Visual Studio.

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

  3. Pojmenujte projektIntuneDataWarehouseSamples, 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 do vyhledávacího pole zadejte text Microsoft.Identity.Client .

    Poznámka

    Musíte použít knihovnu Identity a ověřování Microsoftu (MSAL). Další informace najdete v tématu Aktualizace aplikací tak, aby používaly knihovnu Identity a ověřování Microsoftu (MSAL) 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 Souhlasím 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. TODOAktualizujte s v ukázce kódu.

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

    Entita Date načtená ve formátu JSON.

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

Další kroky

Podrobnosti o autorizaci, struktuře adresy URL rozhraní API a koncových bodech OData najdete v tématu Použití rozhraní API Intune Data Warehouse.

Můžete se také podívat na datový model Intune Data Warehouse a najít datové entity obsažené v rozhraní API. Další informace najdete v tématu Intune Data Warehouse datového modelu rozhraní API.