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


Intune Data Warehouse проверки подлинности только для приложений

Вы можете настроить приложение с помощью идентификатора Microsoft Entra и пройти проверку подлинности в Data Warehouse Intune. Этот процесс полезен для веб-сайтов, приложений и фоновых процессов, когда приложение не должно иметь доступа к учетным данным пользователя. Выполнив следующие действия, вы авторизуете приложение с помощью идентификатора Microsoft Entra с помощью OAuth 2.0.

Авторизация

Microsoft Entra идентификатор использует OAuth 2.0 для авторизации доступа к веб-приложениям и веб-API в клиенте Microsoft Entra. В этом руководстве показано, как проверить подлинность приложения с помощью C#. Поток кода авторизации OAuth 2.0 описан в разделе 4.1 спецификации OAuth 2.0. Дополнительные сведения см. в статье Авторизация доступа к веб-приложениям с помощью OAuth 2.0 и идентификатора Microsoft Entra.

Azure KeyVault

Следующий процесс использует закрытый метод для обработки и преобразования ключа приложения. Этот частный метод называется SecureString. В качестве альтернативы можно использовать Azure KeyVault для хранения ключа приложения. Дополнительные сведения см. в разделе Key Vault.

Создание веб-приложения

В этом разделе описаны сведения о веб-приложении, на которое вы хотите указать в Intune. Веб-приложение — это клиент-серверное приложение. Сервер предоставляет веб-приложение, включая его пользовательский интерфейс, содержимое и функциональные возможности. Этот тип приложения отдельно поддерживается в Интернете. Intune используется для предоставления веб-приложению доступа к Intune. Поток данных инициируется веб-приложением.

  1. Войдите в Центр администрирования Microsoft Intune.

  2. Выберите Все службы>M365 Microsoft Entra ИДЕНТИФИКАТОР>Microsoft Entra ИД>Регистрация приложений.

  3. Щелкните Новая регистрация , чтобы открыть панель Регистрация приложения .

  4. В области Регистрация приложения добавьте сведения о приложении:

    • Имя приложения, например Intune App-Only проверки подлинности.
    • Поддерживаемый тип учетной записи.
    • URI перенаправления приложения. Это расположение, в который пользователи автоматически переходит во время процесса проверки подлинности. Они должны доказать, что они те, кто они говорят, что они. Дополнительные сведения см. в статье Что такое доступ к приложениям и единый вход с помощью Microsoft Entra ID?
  5. Нажмите Зарегистрировать.

    Примечание.

    Скопируйте идентификатор приложения (клиента) из области приложения для последующего использования.

Создание ключа (пароля)

В этом разделе Microsoft Entra идентификатор создает значение ключа для приложения.

  1. В области Регистрация приложений выберите созданное приложение, чтобы отобразить область приложения.

  2. Выберите Сертификаты & секреты в верхней части панели, чтобы отобразить область Сертификаты & секреты .

  3. Выберите Секреты клиента на панели Сертификаты & секреты .

  4. Добавьте описание ключа и срок действия ключа.

  5. Нажмите кнопку Добавить , чтобы сохранить и обновить ключи приложения.

  6. Необходимо скопировать созданное значение ключа (в кодировке base64).

    Примечание.

    Значение ключа исчезнет после выхода из области Сертификаты & секреты . Вы не сможете получить ключ из этой области позже. Скопируйте его для использования позже.

Предоставление приложению разрешений

В этом разделе описано, как предоставить разрешения приложениям.

  1. Выберите Разрешения> APIДобавить разрешение> ДляприложенийIntune>.
  2. Выберите параметр get_data_warehouse (Получение сведений о хранилище данных из Microsoft Intune).
  3. Щелкните Добавить разрешения.
  4. В области Добавить доступ к API нажмите кнопку Готово.
  5. Щелкните Предоставить согласие администратора в области разрешений API и нажмите кнопку Да при повышении, чтобы обновить все существующие разрешения, которые у этого приложения уже есть.

Создание маркера

С помощью Visual Studio создайте проект консольного приложения (платформа .NET Framework), который поддерживает платформа .NET Framework и использует C# в качестве языка программирования.

  1. Выберите Файл>Новый>проект , чтобы открыть диалоговое окно Новый проект .

  2. В левой части экрана выберите Visual C#, чтобы отобразить все проекты платформа .NET Framework.

  3. Выберите Консольное приложение (платформа .NET Framework), добавьте имя приложения и нажмите кнопку ОК, чтобы создать приложение.

  4. В Обозреватель решений выберите Program.cs, чтобы отобразить код.

  5. В Обозреватель решений добавьте ссылку на сборку System.Configuration.

  6. Во всплывающем меню выберите Добавить>новый элемент. Откроется диалоговое окно Добавление нового элемента .

  7. Слева в разделе Visual C# выберите Код.

  8. Выберите Класс, измените имя класса на IntuneDataWarehouseClass.cs и нажмите кнопку Добавить.

  9. Добавьте следующий код в 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;
    
  10. Добавьте дополнительные пространства имен, добавив следующий код в начало файла кода:

     using System.Security;
     using Microsoft.Identity.Client;
     using System.Configuration;
    

    Примечание.

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

  11. 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;
    }
    
  12. В Обозреватель решений щелкните правой кнопкой мыши ссылки, а затем выберите Управление пакетами NuGet.

  13. Найдите Microsoft.Identity.Client и установите связанный пакет Microsoft NuGet.

  14. В Обозреватель решений выберите и откройте файлApp.config.

  15. 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>
    
  16. appIdОбновите значения , appKeyиtenantDomain, чтобы они соответствовали уникальным значениям, связанным с приложением.

  17. Создайте приложение.

    Примечание.

    Дополнительные сведения о коде реализации см. в разделе Пример кода Intune-Data-Warehouse.

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

Дополнительные сведения об Azure Key Vault см. в статье Что такое Azure Key Vault?