선언된 구성 검색
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
단일 템플릿 접근 방식: 클라이언트는 tenantId 매개 변수와 함께 초기 요청에서 UPN 값을 보냅니다.
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" }
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" }
UPN 없음(레거시)
Microsoft Entra 조인됨:
{ "userDomain" : "contoso.com", "emmDeviceId" : "00000000-0000-0000-0000-000000000000", "enrollmentType" : "Device", "osVersion" : "10.0.00000.0" }
Microsoft Entra 등록됨:
{ "userDomain" : "contoso.com", "emmDeviceId" : "00000000-0000-0000-0000-000000000000", "enrollmentType" : "User", "osVersion" : "10.0.00000.0" }
서버에서 요청한 UPN(레거시 형식)입니다. 초기 요청에 제공되지 않은 경우 서버가 UPN 데이터를 요청할 수 있는 방법에 대한 자세한 내용은 오류 처리를 검토합니다.
Microsoft Entra 조인됨:
{ "upn" : "johndoe@contoso.com", "emmDeviceId" : "00000000-0000-0000-0000-000000000000", "enrollmentType" : "Device", "osVersion" : "10.0.00000.0" }
Microsoft Entra 등록됨:
{ "upn" : "johndoe@contoso.com", "emmDeviceId" : "00000000-0000-0000-0000-000000000000", "enrollmentType" : "User", "osVersion" : "10.0.00000.0" }
검색 응답
헤더
Content-Type: application/json
Body
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" }
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: 서버는 지정된 지연 후에 다시 시도하도록 클라이언트 요청을 구성하도록 이 플래그를 설정할 수 있습니다. 이 플래그는 시간 제한 또는 제한 시나리오를 처리하는 데 유용합니다.