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


Обнаружение объявленной конфигурации

Обнаружение объявленной конфигурации Windows (WinDC) использует выделенную схему JSON для запроса сведений о регистрации из конечной точки службы обнаружения (DS). Этот процесс включает отправку HTTP-запросов с определенными заголовками и текстом JSON, содержащим такие сведения, как домен пользователя, идентификатор клиента и версия ОС. Ds отвечает необходимыми URL-адресами службы регистрации и политиками проверки подлинности в зависимости от типа регистрации (Microsoft Entra присоединенных или зарегистрированных устройств).

В этой статье описывается структура схемы для тел HTTP-запросов и ответов, а также приведены примеры реализации.

Структура схемы

Заголовки HTTP-запросов

Заголовок Обязательный Описание
MS-CV: %s Нет Вектор корреляции для регистрации
client-request-id: %s Нет Идентификатор запроса
Content-Type: application/json Да Тип содержимого HTTP

Текст HTTP-запроса (JSON)

Поле Обязательный Описание
userDomain Нет Доменное имя зарегистрированной учетной записи
upn Нет Имя участника-пользователя (UPN) зарегистрированной учетной записи
tenantId Нет Идентификатор клиента зарегистрированной учетной записи
emmDeviceId Нет Идентификатор устройства управления корпоративной мобильностью (EMM) зарегистрированной учетной записи
enrollmentType Присоединено к Entra: Нет
Entra зарегистрировано: Да
Тип регистрации зарегистрированной учетной записи.

Поддерживаемые значения:
- Device: указывает, что родительский тип регистрации присоединен к Entra (ответ DS должен указать "AuthPolicy": "Федеративный").
- User: указывает, что родительский тип регистрации зарегистрирован в Entra (в ответе DS должно быть указано "AuthPolicy": "Certificate").
— Устаревший вариант (только присоединено к Entra). Если enrollmentType параметр не включен в текст запроса, устройство должно рассматриваться как присоединенное к Entra.
osVersion Да Версия ОС на устройстве. Ds может использовать , osVersion чтобы определить, поддерживает ли клиентская платформа регистрацию WinDC. Дополнительные сведения см. в статье Поддерживаемые платформы .

Текст ответа HTTP DS (JSON)

Поле Обязательный Описание
EnrollmentServiceUrl Да URL-адрес службы регистрации WinDC
EnrollmentVersion Нет Версия регистрации
EnrollmentPolicyServiceUrl Да URL-адрес службы политики регистрации
AuthenticationServiceUrl Да URL-адрес службы проверки подлинности
ManagementResource Нет Ресурс управления
TouUrl Нет URL-адрес условий использования
AuthPolicy Да Политика проверки подлинности. Поддерживаемые значения:
- Federated (требуется для присоединения к Entra)
- Certificate (требуется для регистрации Entra)
errorCode Нет Код ошибки
message Нет Сообщение о состоянии

Примеры:

Запрос на обнаружение

Заголовки

Content-Type: application/json

Body

  1. Подход с одним шаблоном. Клиент отправляет значение имени участника-пользователя в исходном запросе вместе с параметром tenantId .

    1. Microsoft Entra присоединено:

      {
          "userDomain" : "contoso.com",
          "upn" : "[email protected]",
          "tenantId" : "00000000-0000-0000-0000-000000000000",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
    2. Microsoft Entra зарегистрировано:

      {
      
          "userDomain" : "contoso.com",
          "upn" : "[email protected]",
          "tenantId" : "00000000-0000-0000-0000-000000000000",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
  2. Нет имени участника-пользователя (устаревшая версия)

    1. Microsoft Entra присоединено:

      {
          "userDomain" : "contoso.com",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
    2. Microsoft Entra зарегистрировано:

      {
          "userDomain" : "contoso.com",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "User",
          "osVersion" : "10.0.00000.0"
      }
      
  3. Имя участника-пользователя, запрошенное сервером (устаревший формат). Ознакомьтесь с обработкой ошибок , чтобы узнать, как сервер может запрашивать данные имени участника-пользователя, если они не указаны в первоначальном запросе.

    1. Microsoft Entra присоединено:

      {
          "upn" : "[email protected]",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
    2. Microsoft Entra зарегистрировано:

      {
          "upn" : "[email protected]",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "User",
          "osVersion" : "10.0.00000.0"
      }
      

Ответ обнаружения

Заголовки

Content-Type: application/json

Body

  1. Microsoft Entra присоединено (требуется "AuthPolicy": "Federated"):

    {
        "EnrollmentServiceUrl" : "https://manage.contoso.com/Enrollment/Discovery",
        "EnrollmentPolicyServiceUrl" : "https://manage.contoso.com/Enrollment/GetPolicies",
        "AuthenticationServiceUrl" : "https://manage.contoso.com/Enrollment/AuthService",
        "AuthPolicy" : "Federated",
        "ManagementResource":"https://manage.contoso.com",
        "TouUrl" : "https://manage.contoso.com/Enrollment/tou.aspx"
    }
    
  2. Microsoft Entra зарегистрировано (требуется "AuthPolicy": "Certificate"):

    {
        "EnrollmentServiceUrl" : "https://manage.contoso.com/Enrollment/Discovery",
        "EnrollmentPolicyServiceUrl" : "https://manage.contoso.com/Enrollment/GetPolicies",
        "AuthenticationServiceUrl" : "https://manage.contoso.com/Enrollment/AuthService",
        "AuthPolicy" : "Certificate",
        "ManagementResource":"https://manage.contoso.com",
        "TouUrl" : "https://manage.contoso.com/Enrollment/tou.aspx"
    }
    

Authentication

Для регистрации WinDC требуются различные механизмы проверки подлинности для Microsoft Entra присоединенных и зарегистрированных устройств. Доменные службы WinDC должны интегрироваться с моделью проверки подлинности, указав соответствующее AuthPolicy значение в ответе enrollmentType обнаружения на основе свойства запроса.

  • Microsoft Entra присоединенные устройства используют федеративную проверку подлинности (токен устройства Entra).
  • Microsoft Entra зарегистрированных устройствах используется проверка подлинности с помощью сертификата (сертификат MDM, подготовленный для родительской регистрации).

Правила

  • Для устройств, присоединенных к Microsoft Entra:

    • Запрос на обнаружение: "enrollmentType": "Device"
    • Ответ обнаружения: "AuthPolicy": "Federated"
    • Проверка подлинности. Клиент использует токен устройства Entra для проверки подлинности на сервере регистрации WinDC.
  • Для устаревших вариантов (где enrollmentType значение пусто):

    • Запрос на обнаружение: "enrollmentType": ""
    • Ответ обнаружения: "AuthPolicy": "Federated"
    • Проверка подлинности. Клиент использует токен устройства Entra для проверки подлинности на сервере регистрации WinDC.
  • Для Microsoft Entra зарегистрированных устройств:

    • Запрос на обнаружение: "enrollmentType": "User"
    • Ответ обнаружения: "AuthPolicy": "Certificate"
    • Проверка подлинности. Клиент использует сертификат MDM из родительской регистрации для проверки подлинности на сервере регистрации WinDC.

Обработка ошибок

  • UPNRequired: если в запросе на обнаружение не указано значение имени участника-пользователя, ds может задать errorCode в ответе значение UPNRequired , чтобы клиент повторил запрос со значением имени участника-пользователя, если оно доступно.
  • WINHTTP_QUERY_RETRY_AFTER. Сервер может задать этот флаг, чтобы настроить повторный запрос клиента после указанной задержки. Этот флаг полезен для обработки сценариев времени ожидания или регулирования.