다음을 통해 공유


선언된 구성 검색

WinDC(Windows 선언된 구성) 검색은 전용 JSON 스키마를 사용하여 DS(검색 서비스 엔드포인트)의 등록 세부 정보를 쿼리합니다. 이 프로세스에는 특정 헤더와 사용자 도메인, 테넌트 ID 및 OS 버전과 같은 세부 정보가 포함된 JSON 본문을 사용하여 HTTP 요청을 보내는 작업이 포함됩니다. DS는 등록 유형(Microsoft Entra 가입 또는 등록된 디바이스)에 따라 필요한 등록 서비스 URL 및 인증 정책으로 응답합니다.

이 문서에서는 HTTP 요청 및 응답 본문에 대한 스키마 구조를 간략하게 설명하고 구현을 안내하는 예제를 제공합니다.

스키마 구조체

HTTP 요청 헤더

헤더 필수 설명
MS-CV: %s 아니요 등록에 대한 상관 관계 벡터
client-request-id: %s 아니오 요청 ID
Content-Type: application/json HTTP Content-Type

HTTP 요청 본문(JSON)

필드 필수 설명
userDomain 아니요 등록된 계정의 도메인 이름
upn 아니오 등록된 계정의 UPN(사용자 계정 이름)
tenantId 아니오 등록된 계정의 테넌트 ID
emmDeviceId 아니오 등록된 계정의 EMM(Enterprise Mobility Management) 디바이스 ID
enrollmentType Entra 조인: 아니요
Entra 등록: 예
등록된 계정의 등록 유형입니다.

지원되는 값:
- Device: 부모 등록 유형이 Entra 조인됨임을 나타냅니다(DS 응답은 "AuthPolicy": "Federated").
- User: 부모 등록 유형이 Entra 등록됨임을 나타냅니다(DS 응답은 "AuthPolicy": "인증서"를 지정해야 함).
- 레거시 사례(Entra 조인된 경우에만): 매개 변수가 요청 본문에 포함되지 않은 경우 enrollmentType 디바이스를 Entra 조인으로 처리해야 합니다.
osVersion 디바이스의 OS 버전입니다. DS는 를 osVersion 사용하여 클라이언트 플랫폼이 WinDC 등록을 지원하는지 확인할 수 있습니다. 자세한 내용은 지원되는 플랫폼을 검토하세요 .

HTTP DS 응답 본문(JSON)

필드 필수 설명
EnrollmentServiceUrl WinDC 등록 서비스의 URL
EnrollmentVersion 아니오 등록 버전
EnrollmentPolicyServiceUrl 등록 정책 서비스 URL
AuthenticationServiceUrl 인증 서비스 URL
ManagementResource 아니오 관리 리소스
TouUrl 아니오 사용 약관 URL
AuthPolicy 인증 정책. 지원되는 값:
- Federated (Entra 조인에 필요)
- Certificate (Entra 등록에 필요)
errorCode 아니오 오류 코드
message 아니오 상태 메시지

검색 요청

헤더

Content-Type: application/json

Body

  1. 단일 템플릿 접근 방식: 클라이언트는 tenantId 매개 변수와 함께 초기 요청에서 UPN 값을 보냅니다.

    1. Microsoft Entra 조인됨:

      {
          "userDomain" : "contoso.com",
          "upn" : "johndoe@contoso.com",
          "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" : "johndoe@contoso.com",
          "tenantId" : "00000000-0000-0000-0000-000000000000",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
  2. UPN 없음(레거시)

    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. 서버에서 요청한 UPN(레거시 형식)입니다. 초기 요청에 제공되지 않은 경우 서버가 UPN 데이터를 요청할 수 있는 방법에 대한 자세한 내용은 오류 처리를 검토합니다.

    1. Microsoft Entra 조인됨:

      {
          "upn" : "johndoe@contoso.com",
          "emmDeviceId" : "00000000-0000-0000-0000-000000000000",
          "enrollmentType" : "Device",
          "osVersion" : "10.0.00000.0"
      }
      
    2. Microsoft Entra 등록됨:

      {
          "upn" : "johndoe@contoso.com",
          "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 DS는 요청의 속성에 enrollmentType 따라 검색 응답에서 적절한 AuthPolicy 값을 지정하여 인증 모델과 통합되어야 합니다.

  • 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: 검색 요청에 UPN 값이 제공되지 않는 경우 DS는 응답에서 를 UPNRequired로 설정 errorCode 하여 클라이언트를 트리거하여 가능한 경우 UPN 값으로 요청을 다시 시도할 수 있습니다.
  • WINHTTP_QUERY_RETRY_AFTER: 서버는 지정된 지연 후에 다시 시도하도록 클라이언트 요청을 구성하도록 이 플래그를 설정할 수 있습니다. 이 플래그는 시간 제한 또는 제한 시나리오를 처리하는 데 유용합니다.