Поделиться через


Получение данных из API хранилища данных Intune с помощью клиента REST

Доступ к модели данных Intune Data Warehouse можно получить через конечные точки RESTful. Чтобы получить доступ к данным, клиент должен авторизоваться с помощью Microsoft Entra ID с помощью OAuth 2.0. Чтобы включить доступ, сначала настройте собственное приложение в Azure и предоставьте разрешения api Microsoft Intune. Локальный клиент получает авторизацию, а затем клиент может взаимодействовать с конечными точками Data Warehouse через собственное приложение.

Чтобы настроить клиент для получения данных из API Data Warehouse, необходимо:

  1. Создание клиентского приложения в качестве собственного приложения в Azure
  2. Предоставление клиентскому приложению доступа к API Microsoft Intune
  3. Создание локального клиента REST для получения данных

Выполните следующие действия, чтобы узнать, как авторизовать API и получить доступ к ним с помощью клиента REST. Во-первых, вы изучите использование универсального клиента REST с помощью Postman. Postman — это часто используемое средство для устранения неполадок и разработки клиентов REST для работы с API. Дополнительные сведения о Postman см. на сайте Postman . Затем можно просмотреть пример кода C#. Пример предоставляет пример для авторизации клиента и получения данных из API.

Создание клиентского приложения в качестве собственного приложения в Azure

Создайте собственное приложение в Azure. Это собственное приложение является клиентским приложением. Клиент, работающий на локальном компьютере, ссылается на API Intune Data Warehouse, когда локальный клиент запрашивает учетные данные.

  1. Войдите в центр администрирования Microsoft Entra .
  2. Выберите Microsoft Entra ID>Регистрация приложений, чтобы открыть панель Регистрация приложений.
  3. Выберите Создать регистрацию приложения.
  4. Введите сведения о приложении.
    1. Введите понятное имя, например "клиент Intune Data Warehouse".
    2. Выберите Учетные записи только в этом каталоге организации (только Майкрософт — один клиент) для поддерживаемых типов учетных записей.
    3. Введите URL-адрес для URI перенаправления. URI перенаправления будет зависеть от конкретного сценария, однако если вы планируете использовать Postman, введите https://www.getpostman.com/oauth2/callback. Обратный вызов используется для проверки подлинности клиента при проверке подлинности в Microsoft Entra ID.
  5. Нажмите Зарегистрировать.
  6. Запишите идентификатор приложения (клиента) этого приложения. Идентификатор будет использоваться в следующем разделе.

Предоставление клиентскому приложению доступа к API Microsoft Intune

Теперь у вас есть приложение, определенное в Azure. Предоставьте доступ из собственного приложения к API Microsoft Intune.

  1. Войдите в центр администрирования Microsoft Entra .
  2. Выберите Microsoft Entra ID>Регистрация приложений, чтобы открыть панель Регистрация приложений.
  3. Выберите приложение, которое необходимо предоставить доступ. Вы назвали приложение таким образом, как Intune Data Warehouse Client.
  4. Выберите Разрешения> APIДобавить разрешение.
  5. Найдите и выберите API Intune. Он называется Microsoft Intune API.
  6. Установите флажок Делегированные разрешения и щелкните поле Получение сведений о хранилище данных из Microsoft Intune.
  7. Щелкните Добавить разрешения.
  8. При необходимости выберите Предоставить согласие администратора для Корпорации Майкрософт в области Настроенные разрешения, а затем нажмите кнопку Да. Это позволит получить доступ ко всем учетным записям в текущем каталоге. Это предотвратит появление диалогового окна согласия для каждого пользователя в клиенте. Дополнительные сведения см. в статье Интеграция приложений с Microsoft Entra ID.
  9. Выберите Сертификаты & секреты>+ Новый секрет клиента и создайте новый секрет. Обязательно скопируйте его в безопасном месте, так как вы не сможете получить к нему доступ снова.

Получение данных из API Microsoft Intune с помощью Postman

Вы можете работать с API Intune Data Warehouse с помощью универсального клиента REST, например Postman. Postman может предоставить представление о функциях API, базовой модели данных OData и устранить неполадки при подключении к ресурсам API. В этом разделе вы найдете сведения о создании маркера Auth2.0 для локального клиента. Клиенту потребуется маркер для проверки подлинности с помощью Microsoft Entra ID и доступа к ресурсам API.

Сведения, необходимые для вызова

Чтобы выполнить вызов REST с помощью Postman, вам потребуются следующие сведения:

Атрибут Описание Пример
URL-адрес обратного вызова Задайте его в качестве URL-адреса обратного вызова на странице параметров приложения. https://www.getpostman.com/oauth2/callback
Token Name Строка, используемая для передачи учетных данных в приложение Azure. Процесс создает маркер, чтобы можно было выполнить вызов API Data Warehouse. Токен носителя.
URL-адрес проверки подлинности Это URL-адрес, используемый для проверки подлинности. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
URL-адрес маркера доступа Это URL-адрес, используемый для предоставления маркера. https://login.microsoftonline.com/common/oauth2/token
Идентификатор клиента Вы создали и замечали это при создании собственного приложения в Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Секрет клиента Вы создали и замечали это при создании собственного приложения в Azure. Ksml3dhDJs+jfK1f8Mwc8
Область (необязательно) Поле можно оставить пустым.

ПРИМЕЧАНИЕ. Для некоторых пакетов SDK, таких как библиотека проверки подлинности Майкрософт (MSAL) для Python, может потребоваться область, определенный с помощью двойной косой черты (//).

SCOPE = ['https://api.manage.microsoft.com//.default']
Тип предоставления Маркер — это код авторизации. Код авторизации

Конечная точка OData

Вам также потребуется конечная точка. Чтобы получить конечную точку Data Warehouse, потребуется URL-адрес пользовательского веб-канала. Конечную точку OData можно получить на панели Data Warehouse.

  1. Войдите в Центр администрирования Microsoft Intune.
  2. Откройте область Data Warehouse, выбравХранилище данныхотчетов>.
  3. Скопируйте URL-адрес пользовательского веб-канала в веб-каналЕ OData для службы отчетов. Он должен выглядеть примерно так: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

Конечная точка соответствует следующему формату: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

Например, сущность dates выглядит следующим образом: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Дополнительные сведения см. в разделе Intune Data Warehouse конечной точки API.

Вызов REST

Чтобы получить новый маркер доступа для Postman, необходимо добавить URL-адрес авторизации Microsoft Entra, идентификатор клиента и секрет клиента. Postman загрузит страницу авторизации, где вы введите учетные данные.

Перед выполнением вызова убедитесь, что url-адрес обратного вызова уже добавлен в приложение в Azure. URL-адрес обратного вызова — https://www.getpostman.com/oauth2/callback.

Добавление сведений, используемых для запроса маркера

  1. Скачайте Postman, если он еще не установлен. Чтобы скачать Postman, см. www.getpostman.com.

  2. Откройте Postman. Выберите операцию HTTP GET.

  3. Вставьте URL-адрес конечной точки в адрес. Он должен выглядеть примерно так:

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

  4. Перейдите на вкладку Авторизация и выберите OAuth 2.0 в списке Тип .

  5. Прокрутите вниз до раздела Настройка нового токена .

  6. Введите Bearer в поле Имя токена.

  7. Выберите Код авторизации в качестве типа предоставления.

  8. Добавьте URL-адрес обратного вызова. URL-адрес обратного вызова — https://www.getpostman.com/oauth2/callback.

  9. Добавьте URL-адрес проверки подлинности. Он должен выглядеть примерно так:

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

  10. Добавьте URL-адрес маркера доступа. Он должен выглядеть примерно так:

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

  11. Добавьте идентификатор клиента из собственного приложения, созданного в Azure с именем Intune Data Warehouse Client. Он должен выглядеть примерно так:

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

  12. Добавьте секрет клиента , созданный из собственного приложения, созданного в Azure. Он должен выглядеть примерно так:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Выберите Получить новый маркер доступа.

    Сведения о маркере доступа.

  14. Введите учетные данные на странице авторизации Active AD. Список маркеров в Postman теперь содержит маркер с именем Bearer.

  15. Выберите Использовать токен. Список заголовков содержит новое значение ключа Authorization и значение Bearer <your-authorization-token>.

Отправка вызова в конечную точку с помощью Postman

  1. Нажмите кнопку Отправить.

  2. Возвращаемые данные отображаются в тексте ответа Postman.

    Состояние клиента Postman равно 200 OK.

Создайте клиент REST (C#) для получения данных из Intune Data Warehouse

Следующий пример содержит простой клиент REST. Код использует класс httpClient из библиотеки .NET. После получения учетных данных для Microsoft Entra ID клиент создает вызов REST GET для получения сущности dates из API Data Warehouse.

Примечание.

Вы можете получить доступ к следующему примеру кода на сайте GitHub. Последние изменения и обновления примера см. в репозитории GitHub.

  1. Откройте Microsoft Visual Studio.

  2. Выберите Файл>Новый проект. Разверните узел Visual C# и выберите Консольное приложение (платформа .NET Framework).

  3. Присвойте проекту IntuneDataWarehouseSamplesимя , перейдите к месту, где вы хотите сохранить проект, а затем нажмите кнопку ОК.

  4. Щелкните правой кнопкой мыши имя решения в Обозреватель решений и выберите Управление пакетами NuGet для решения. Нажмите кнопку Обзор и введите Microsoft.Identity.Client в поле поиска.

    Примечание.

    Необходимо использовать библиотеку проверки подлинности Майкрософт (MSAL). Подробности см. в статье Обновление приложений, чтобы использовать библиотеку проверки подлинности Майкрософт (MSAL) и API Microsoft Graph

  5. Выберите пакет, выберите проект IntuneDataWarehouseSamples в разделе Управление пакетами для решения и нажмите кнопку Установить.

  6. Выберите Я принимаю , чтобы принять лицензию на пакет NuGet.

  7. Откройте Program.cs из Обозреватель решений.

    Program.cs и Обозреватель решений в Visual Studio.

  8. Замените код в Program.cs следующим кодом:

    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. Обновите их TODOв примере кода.

  10. Нажмите клавиши CTRL+F5, чтобы выполнить сборку и выполнение Intune. Клиент DataWarehouseAPIClient в режиме отладки.

    Сущность Date, полученная в формате JSON.

  11. Просмотрите выходные данные консоли. Выходные данные содержат данные в формате JSON, полученном из сущности dates в клиенте Intune.

Дальнейшие действия

Сведения об авторизации, структуре URL-адресов API и конечных точках OData см. в статье Использование API Intune Data Warehouse.

Вы также можете найти сущности данных, содержащиеся в API, Intune Data Warehouse модель данных. Дополнительные сведения см. в Intune Data Warehouse модели данных API.