Intune Data Warehouse проверки подлинности только для приложений
Вы можете настроить приложение с помощью Microsoft Entra ID и пройти проверку подлинности в Intune Data Warehouse. Этот процесс полезен для веб-сайтов, приложений и фоновых процессов, когда приложение не должно иметь доступа к учетным данным пользователя. Выполнив следующие действия, вы авторизуете приложение с помощью Microsoft Entra ID с помощью OAuth 2.0.
Авторизация
Microsoft Entra ID использует OAuth 2.0 для авторизации доступа к веб-приложениям и веб-API в клиенте Microsoft Entra. В этом руководстве показано, как проверить подлинность приложения с помощью C#. Поток кода авторизации OAuth 2.0 описан в разделе 4.1 спецификации OAuth 2.0. Дополнительные сведения см. в статье Авторизация доступа к веб-приложениям с помощью OAuth 2.0 и Microsoft Entra ID.
Azure KeyVault
Следующий процесс использует закрытый метод для обработки и преобразования ключа приложения. Этот частный метод называется SecureString. В качестве альтернативы можно использовать Azure KeyVault для хранения ключа приложения. Дополнительные сведения см. в разделе Key Vault.
Создание веб-приложения
В этом разделе вы укажите сведения о веб-приложении, на которое вы хотите указать Intune. Веб-приложение — это клиент-серверное приложение. Сервер предоставляет веб-приложение, включая его пользовательский интерфейс, содержимое и функциональные возможности. Этот тип приложения отдельно поддерживается в Интернете. Вы используете Intune, чтобы предоставить веб-приложению доступ к Intune. Поток данных инициируется веб-приложением.
Войдите в Центр администрирования Microsoft Intune.
Выберите Все службы>M365 Microsoft Entra ID>Microsoft Entra ID>Регистрация приложений.
Щелкните Новая регистрация , чтобы открыть панель Регистрация приложения .
В области Регистрация приложения добавьте сведения о приложении:
- Имя приложения, например Intune App-Only проверки подлинности.
- Поддерживаемый тип учетной записи.
- URI перенаправления приложения. Это расположение, в который пользователи автоматически переходит во время процесса проверки подлинности. Они должны доказать, что они те, кто они говорят, что они. Дополнительные сведения см. в статье Что такое доступ к приложениям и единый вход в Microsoft Entra ID?
Нажмите Зарегистрировать.
Примечание.
Скопируйте идентификатор приложения (клиента) из области приложения для последующего использования.
Создание ключа (пароля)
В этом разделе Microsoft Entra ID создает значение ключа для приложения.
В области Регистрация приложений выберите созданное приложение, чтобы отобразить область приложения.
Выберите Сертификаты & секреты в верхней части панели, чтобы отобразить область Сертификаты & секреты .
Выберите Секреты клиента на панели Сертификаты & секреты .
Добавьте описание ключа и срок действия ключа.
Нажмите кнопку Добавить , чтобы сохранить и обновить ключи приложения.
Необходимо скопировать созданное значение ключа (в кодировке base64).
Примечание.
Значение ключа исчезнет после выхода из области Сертификаты & секреты . Вы не сможете получить ключ из этой области позже. Скопируйте его для использования позже.
Предоставление приложению разрешений
В этом разделе описано, как предоставить разрешения приложениям.
- Выберите Разрешения> APIДобавить разрешение>Intune>Приложение разрешений.
- Выберите параметр get_data_warehouse (Получение сведений о хранилище данных из Microsoft Intune).
- Щелкните Добавить разрешения.
- В области Добавить доступ к API нажмите кнопку Готово.
- Щелкните Предоставить согласие администратора в области разрешений API и нажмите кнопку Да при повышении, чтобы обновить все существующие разрешения, которые у этого приложения уже есть.
Создание маркера
С помощью Visual Studio создайте проект консольного приложения (платформа .NET Framework), который поддерживает платформа .NET Framework и использует C# в качестве языка программирования.
Выберите Файл>Новый>проект , чтобы открыть диалоговое окно Новый проект .
В левой части экрана выберите Visual C#, чтобы отобразить все проекты платформа .NET Framework.
Выберите Консольное приложение (платформа .NET Framework), добавьте имя приложения и нажмите кнопку ОК, чтобы создать приложение.
В Обозреватель решений выберите Program.cs, чтобы отобразить код.
В Обозреватель решений добавьте ссылку на сборку
System.Configuration
.Во всплывающем меню выберите Добавить>новый элемент. Откроется диалоговое окно Добавление нового элемента .
Слева в разделе Visual C# выберите Код.
Выберите Класс, измените имя класса на IntuneDataWarehouseClass.cs и нажмите кнопку Добавить.
Добавьте следующий код в
Main
метод :var applicationId = ConfigurationManager.AppSettings["appId"].ToString(); SecureString applicationSecret = ConvertToSecureStr(ConfigurationManager.AppSettings["appKey"].ToString()); // Load as SecureString from configuration file or secret store (i.e. Azure KeyVault) var tenantDomain = ConfigurationManager.AppSettings["tenantDomain"].ToString(); var msalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token"); AuthenticationResult authResult = msalContext.AcquireTokenAsync( resource: "https://api.manage.microsoft.com/", clientCredential: new ClientCredential( applicationId, new SecureClientSecret(applicationSecret))).Result;
Добавьте дополнительные пространства имен, добавив следующий код в начало файла кода:
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
Примечание.
Необходимо использовать библиотеку проверки подлинности Майкрософт (MSAL). Подробности см. в статье Обновление приложений, чтобы использовать библиотеку проверки подлинности Майкрософт (MSAL) и API Microsoft Graph
Main
После метода добавьте следующий закрытый метод для обработки и преобразования ключа приложения:private static SecureString ConvertToSecureStr(string appkey) { if (appkey == null) throw new ArgumentNullException("AppKey must not be null."); var secureAppKey = new SecureString(); foreach (char c in appkey) secureAppKey.AppendChar(c); secureAppKey.MakeReadOnly(); return secureAppKey; }
В Обозреватель решений щелкните правой кнопкой мыши ссылки, а затем выберите Управление пакетами NuGet.
Найдите Microsoft.Identity.Client и установите связанный пакет Microsoft NuGet.
В Обозреватель решений выберите и откройте файлApp.config.
appSettings
Добавьте раздел, чтобы xml отображалось следующим образом:<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> <appSettings> <add key="appId" value="App ID created from 'Create a Web App' procedure"/> <add key="appKey" value="Key created from 'Create a key' procedure" /> <add key="tenantDomain" value="contoso.onmicrosoft.com"/> </appSettings> </configuration>
appId
Обновите значения ,appKey
иtenantDomain
, чтобы они соответствовали уникальным значениям, связанным с приложением.Создайте приложение.
Примечание.
Дополнительные сведения о коде реализации см. в разделе Пример кода Intune-Data-Warehouse.
Дальнейшие действия
Дополнительные сведения об Azure Key Vault см. в статье Что такое Azure Key Vault?