Windows 宣言構成 (WinDC) 検出では、専用の 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 コンテンツ タイプ |
HTTP 要求本文 (JSON)
| フィールド | 必須 | 説明 |
|---|---|---|
userDomain |
なし | 登録済みアカウントのドメイン名 |
upn |
なし | 登録済みアカウントのユーザー プリンシパル名 (UPN) |
tenantId |
なし | 登録済みアカウントのテナント ID |
emmDeviceId |
なし | 登録済みアカウントのエンタープライズ モビリティ管理 (EMM) デバイス ID |
enrollmentType |
Microsoft Entra参加済み: いいえ 登録Microsoft Entra: はい |
登録済みアカウントの登録の種類。 サポートされる値: - Device: 親登録の種類が参加Microsoft Entraを示します (DS 応答では "AuthPolicy": "Federated" を指定する必要があります)。 - User: 親登録の種類が登録Microsoft Entraを示します (DS 応答では "AuthPolicy": "Certificate"を指定する必要があります)。 - レガシ ケース (Microsoft Entra結合のみ): enrollmentType パラメーターが要求本文に含まれていない場合、デバイスは参加Microsoft Entra扱う必要があります。 |
osVersion |
はい | デバイス上の OS バージョン。 DS は、 osVersion を使用して、クライアント プラットフォームが WinDC 登録をサポートしているかどうかを判断できます。
詳細については、サポートされているプラットフォームを確認してください。 |
HTTP DS 応答本文 (JSON)
| フィールド | 必須 | 説明 |
|---|---|---|
EnrollmentServiceUrl |
はい | WinDC 登録サービスの URL |
EnrollmentVersion |
なし | 登録バージョン |
EnrollmentPolicyServiceUrl |
はい | 登録ポリシー サービス URL |
AuthenticationServiceUrl |
はい | 認証サービス URL |
ManagementResource |
なし | 管理リソース |
TouUrl |
なし | 使用条件 URL |
AuthPolicy |
はい | 認証ポリシー。 サポートされている値: - Federated(参加Microsoft Entra必要)- Certificate(登録Microsoft Entra必要) |
errorCode |
なし | エラー コード |
message |
なし | 状態メッセージ |
例
検出要求
ヘッダー
Content-Type: application/json
本文
単一テンプレートのアプローチ: クライアントは、初期要求で、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 データが指定されていない場合にサーバーが 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
本文
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" }
認証
WinDC 登録には、参加済みデバイスと登録済みデバイスMicrosoft Entraさまざまな認証メカニズムが必要です。 WinDC DS は、要求の enrollmentType プロパティに基づいて、検出応答で適切なAuthPolicy値を指定することで、認証モデルと統合する必要があります。
- 参加済みデバイスMicrosoft Entraフェデレーション認証 (Microsoft Entra デバイス トークン) を使用します。
- Microsoft Entra登録済みデバイスでは、証明書認証 (親登録用にプロビジョニングされた MDM 証明書) が使用されます。
規則
Microsoft Entra参加済みデバイスの場合:
-
検出要求:
"enrollmentType": "Device" -
検出応答:
"AuthPolicy": "Federated" - 認証: クライアントは、Microsoft Entra デバイス トークンを使用して WinDC 登録サーバーで認証します。
-
検出要求:
レガシ ケース (
enrollmentType値が空の場合) の場合:-
検出要求:
"enrollmentType": "" -
検出応答:
"AuthPolicy": "Federated" - 認証: クライアントは、Microsoft Entra デバイス トークンを使用して WinDC 登録サーバーで認証します。
-
検出要求:
Microsoft Entra登録済みデバイスの場合:
-
検出要求:
"enrollmentType": "User" -
検出応答:
"AuthPolicy": "Certificate" - 認証: クライアントは、親登録の MDM 証明書を使用して、WinDC 登録サーバーで認証します。
-
検出要求:
エラー処理
-
UPNRequired: 検出要求に UPN 値が指定されていない場合、DS は応答で
errorCodeを UPNRequired に設定して、クライアントが UPN 値 (使用可能な場合) で要求を再試行するようにトリガーできます。 - WINHTTP_QUERY_RETRY_AFTER: サーバーはこのフラグを設定して、指定された遅延後に再試行するようにクライアント要求を構成できます。 このフラグは、タイムアウトまたは調整のシナリオを処理する場合に役立ちます。