Pobieranie danych z interfejsu API Intune Data Warehouse przy użyciu klienta REST
Dostęp do modelu danych Intune Data Warehouse można uzyskać za pośrednictwem punktów końcowych RESTful. Aby uzyskać dostęp do danych, klient musi autoryzować przy użyciu Tożsamość Microsoft Entra przy użyciu protokołu OAuth 2.0. Aby włączyć dostęp, najpierw skonfiguruj aplikację natywną na platformie Azure i przyznaj uprawnienia do interfejsu API Microsoft Intune. Klient lokalny uzyskuje autoryzację, a następnie klient może komunikować się z punktami końcowymi Data Warehouse za pośrednictwem aplikacji natywnej.
Kroki konfigurowania klienta w celu pobierania danych z interfejsu API Data Warehouse wymagają wykonania następujących czynności:
- Tworzenie aplikacji klienckiej jako aplikacji natywnej na platformie Azure
- Udzielanie aplikacji klienckiej dostępu do interfejsu API Microsoft Intune
- Tworzenie lokalnego klienta REST w celu pobrania danych
Wykonaj poniższe kroki, aby dowiedzieć się, jak autoryzować interfejs API i uzyskiwać do niego dostęp za pomocą klienta REST. Najpierw przyjrzysz się użyciu ogólnego klienta REST przy użyciu narzędzia Postman. Postman to często używane narzędzie do rozwiązywania problemów i opracowywania klientów REST do pracy z interfejsami API. Aby uzyskać więcej informacji na temat narzędzia Postman, zobacz witrynę Postman . Następnie możesz przyjrzeć się przykładowi kodu w języku C#. Przykład zawiera przykład autoryzacji klienta i pobierania danych z interfejsu API.
Tworzenie aplikacji klienckiej jako aplikacji natywnej na platformie Azure
Utwórz aplikację natywną na platformie Azure. Ta aplikacja natywna to aplikacja kliencka. Klient uruchomiony na komputerze lokalnym odwołuje się do interfejsu API Intune Data Warehouse, gdy klient lokalny żąda poświadczeń.
- Zaloguj się do centrum administracyjne Microsoft Entra.
- Wybierz pozycję Tożsamość Microsoft Entra>Rejestracje aplikacji, aby otworzyć okienko Rejestracje aplikacji.
- Wybierz pozycję Nowa rejestracja aplikacji.
- Wpisz szczegóły aplikacji.
- Wpisz przyjazną nazwę, taką jak "Intune Data Warehouse Client" dla pola Nazwa.
- Wybierz pozycję Konta tylko w tym katalogu organizacyjnym (tylko firma Microsoft — pojedyncza dzierżawa) dla typów obsługiwanych kont.
- Wpisz adres URL identyfikatora URI przekierowania. Identyfikator URI przekierowania będzie zależeć od konkretnego scenariusza, jednak jeśli planujesz użycie narzędzia Postman, wpisz .
https://www.getpostman.com/oauth2/callback
Podczas uwierzytelniania w Tożsamość Microsoft Entra użyjesz kroku wywołania zwrotnego dla uwierzytelniania klienta.
- Wybierz pozycję Zarejestruj.
- Zanotuj identyfikator aplikacji (klienta) tej aplikacji. Identyfikator zostanie użyty w następnej sekcji.
Udzielanie aplikacji klienckiej dostępu do interfejsu API Microsoft Intune
Masz teraz aplikację zdefiniowaną na platformie Azure. Udzielanie dostępu z aplikacji natywnej do interfejsu API Microsoft Intune.
- Zaloguj się do centrum administracyjne Microsoft Entra.
- Wybierz pozycję Tożsamość Microsoft Entra>Rejestracje aplikacji, aby otworzyć okienko Rejestracje aplikacji.
- Wybierz aplikację, której chcesz udzielić dostępu. Aplikacja została nazwana czymś takim jak klient Intune Data Warehouse.
- Wybierz pozycję Uprawnienia interfejsu APIDodaj uprawnienie>.
- Znajdź i wybierz interfejs API Intune. Nosi ona nazwę Microsoft Intune API.
- Wybierz pozycję Uprawnienia delegowane, a następnie kliknij pole Pobierz informacje o magazynie danych z Microsoft Intune.
- Kliknij pozycję Dodaj uprawnienia.
- Opcjonalnie wybierz pozycję Udziel zgody administratora firmie Microsoft w okienku Skonfigurowane uprawnienia, a następnie wybierz pozycję Tak. Spowoduje to przyznanie dostępu do wszystkich kont w bieżącym katalogu. Uniemożliwi to wyświetlenie okna dialogowego zgody dla każdego użytkownika w dzierżawie. Aby uzyskać więcej informacji, zobacz Integrowanie aplikacji z Tożsamość Microsoft Entra.
- Wybierz pozycję Certyfikaty & wpisy tajne>+ Nowy klucz tajny klienta i wygeneruj nowy wpis tajny. Pamiętaj, aby skopiować bezpieczne miejsce, ponieważ nie będzie można uzyskać do niego dostępu ponownie.
Pobieranie danych z interfejsu API Microsoft Intune za pomocą narzędzia Postman
Możesz pracować z interfejsem API Intune Data Warehouse z ogólnym klientem REST, takim jak Postman. Narzędzie Postman może zapewnić wgląd w funkcje interfejsu API, bazowy model danych OData i rozwiązać problemy z połączeniem z zasobami interfejsu API. W tej sekcji znajdziesz informacje o generowaniu tokenu uwierzytelniania 2.0 dla klienta lokalnego. Klient będzie potrzebował tokenu, aby uwierzytelnić się przy użyciu Tożsamość Microsoft Entra i uzyskać dostęp do zasobów interfejsu API.
Informacje potrzebne do wywołania
Do wywołania REST przy użyciu narzędzia Postman potrzebne są następujące informacje:
Atrybut | Opis | Przykład |
---|---|---|
Adres URL wywołania zwrotnego | Ustaw to jako adres URL wywołania zwrotnego na stronie ustawień aplikacji. | https://www.getpostman.com/oauth2/callback |
Nazwa tokenu | Ciąg używany do przekazywania poświadczeń do aplikacji platformy Azure. Proces generuje token, aby można było wywołać interfejs API Data Warehouse. | Posiadacz |
Adres URL uwierzytelniania | Jest to adres URL używany do uwierzytelniania. | https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/ |
Adres URL tokenu dostępu | Jest to adres URL używany do udzielania tokenu. | https://login.microsoftonline.com/common/oauth2/token |
Identyfikator klienta | Utworzono i zanotowaliśmy to podczas tworzenia aplikacji natywnej na platformie Azure. | 4184c61a-e324-4f51-83d7-022b6a81b991 |
Klucz tajny klienta | Utworzono i zanotowaliśmy to podczas tworzenia aplikacji natywnej na platformie Azure. | Ksml3dhDJs+jfK1f8Mwc8 |
Zakres (opcjonalnie) | Pole można pozostawić puste. UWAGA: Niektóre zestawy SDK, takie jak Biblioteka uwierzytelniania Microsoft (MSAL) dla języka Python, mogą wymagać zakresu zdefiniowanego za pomocą podwójnych ukośników (//). |
SCOPE = [''https://api.manage.microsoft.com//.default] |
Typ udzielania | Token jest kodem autoryzacji. | Kod autoryzacji |
Punkt końcowy OData
Potrzebny jest również punkt końcowy. Aby uzyskać punkt końcowy Data Warehouse, potrzebny będzie niestandardowy adres URL kanału informacyjnego. Punkt końcowy OData można pobrać z okienka Data Warehouse.
- Zaloguj się do Centrum administracyjnego usługi Microsoft Intune.
- Otwórz okienko Data Warehouse, wybierając pozycję Magazyndanych raportów>.
- Skopiuj niestandardowy adres URL kanału informacyjnego w obszarze Źródło danych OData dla usługi raportowania. Powinien on wyglądać mniej więcej tak:
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0
Punkt końcowy jest zgodny z następującym formatem: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}
Na przykład jednostka dates wygląda następująco: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Aby uzyskać więcej informacji, zobacz punkt końcowy interfejsu API Intune Data Warehouse.
Wykonywanie wywołania REST
Aby uzyskać nowy token dostępu dla narzędzia Postman, należy dodać adres URL autoryzacji Microsoft Entra, dodać identyfikator klienta i klucz tajny klienta. Narzędzie Postman załaduje stronę autoryzacji, na której będą wpisywać poświadczenia.
Przed wywołaniem upewnij się, że do aplikacji na platformie Azure dodano już adres URL wywołania zwrotnego. Adres URL wywołania zwrotnego to https://www.getpostman.com/oauth2/callback
.
Dodawanie informacji używanych do żądania tokenu
Pobierz aplikację Postman, jeśli jeszcze jej nie zainstalowano. Aby pobrać aplikację Postman, zobacz www.getpostman.com.
Otwórz plik Postman. Wybierz operację HTTP GET.
Wklej adres URL punktu końcowego do adresu. Powinien on wyglądać mniej więcej tak:
https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0
Wybierz kartę Autoryzacja i wybierz pozycję OAuth 2.0 z listy Typ .
Przewiń w dół do sekcji Konfigurowanie nowego tokenu .
Wpisz element nośny dla nazwy tokenu.
Wybierz pozycję Kod autoryzacji jako typ przyznawania.
Dodaj adres URL wywołania zwrotnego. Adres URL wywołania zwrotnego to
https://www.getpostman.com/oauth2/callback
.Dodaj adres URL uwierzytelniania. Powinien on wyglądać mniej więcej tak:
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Dodaj adres URL tokenu dostępu. Powinien on wyglądać mniej więcej tak:
https://login.microsoftonline.com/common/oauth2/token
Dodaj identyfikator klienta z aplikacji natywnej utworzonej na platformie Azure i o nazwie
Intune Data Warehouse Client
. Powinien on wyglądać mniej więcej tak:88C8527B-59CB-4679-A9C8-324941748BB4
Dodaj klucz tajny klienta wygenerowany z poziomu aplikacji natywnej utworzonej na platformie Azure. Powinien on wyglądać mniej więcej tak:
Ksml3dhDJs+jfK1f8Mwc8
Wybierz pozycję Pobierz nowy token dostępu.
Wpisz swoje poświadczenia na stronie autoryzacji usługi Active AD. Lista tokenów w narzędziu Postman zawiera teraz token o nazwie
Bearer
.Wybierz pozycję Użyj tokenu. Lista nagłówków zawiera nową wartość klucza Autoryzacja i wartość
Bearer <your-authorization-token>
.
Wysyłanie wywołania do punktu końcowego przy użyciu narzędzia Postman
Utwórz klienta REST (C#), aby pobrać dane z Intune Data Warehouse
Poniższy przykład zawiera prostego klienta REST. Kod używa klasy httpClient z biblioteki .NET. Gdy klient uzyska poświadczenia do Tożsamość Microsoft Entra, klient konstruuje wywołanie GET REST w celu pobrania jednostki dates z interfejsu API Data Warehouse.
Uwaga
Dostęp do poniższego przykładu kodu można uzyskać w witrynie GitHub. Zapoznaj się z repozytorium GitHub, aby uzyskać najnowsze zmiany i aktualizacje przykładu.
Otwórz program Microsoft Visual Studio.
Wybierz pozycję Plik>nowy projekt. Rozwiń węzeł Visual C#, a następnie wybierz pozycję Aplikacja konsolowa (.NET Framework).
Nadaj projektowi
IntuneDataWarehouseSamples
nazwę , przejdź do miejsca, w którym chcesz zapisać projekt, a następnie wybierz przycisk OK.Kliknij prawym przyciskiem myszy nazwę rozwiązania w Eksplorator rozwiązań, a następnie wybierz pozycję Zarządzaj pakietami NuGet dla rozwiązania. Wybierz pozycję Przeglądaj, a następnie wpisz
Microsoft.Identity.Client
w polu wyszukiwania.Uwaga
Należy użyć biblioteki uwierzytelniania firmy Microsoft (MSAL). Aby uzyskać więcej informacji, zobacz Aktualizowanie aplikacji w celu używania biblioteki Microsoft Authentication Library (MSAL) i microsoft interfejs Graph API.
Wybierz pakiet, wybierz projekt IntuneDataWarehouseSamples w obszarze Zarządzanie pakietami dla rozwiązania, a następnie wybierz pozycję Zainstaluj.
Wybierz pozycję Akceptuję , aby zaakceptować licencję pakietu NuGet.
Otwórz
Program.cs
z Eksplorator rozwiązań.Zastąp kod w Program.cs następującym kodem:
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(); } } }
Zaktualizuj elementy
TODO
w przykładzie kodu.Naciśnij Ctrl + F5, aby skompilować i wykonać Intune. Klient DataWarehouseAPIClient w trybie debugowania.
Przejrzyj dane wyjściowe konsoli. Dane wyjściowe zawierają dane w formacie JSON pobrane z jednostki dates w dzierżawie Intune.
Następne kroki
Szczegółowe informacje na temat autoryzacji, struktury adresu URL interfejsu API i punktów końcowych OData można znaleźć w temacie Korzystanie z interfejsu API Intune Data Warehouse.
Możesz również zapoznać się z modelem danych Intune Data Warehouse, aby znaleźć jednostki danych zawarte w interfejsie API. Aby uzyskać więcej informacji, zobacz model danych interfejsu API Intune Data Warehouse.