次の方法で共有


宣言された構成検出

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 Entra joined: いいえ
Entra 登録済み: はい
登録済みアカウントの登録の種類。

サポートされる値:
- Device: 親登録の種類が Entra 参加済みであることを示します (DS 応答では "AuthPolicy": "Federated" を指定する必要があります)。
- User: 親登録の種類が Entra 登録済みであることを示します (DS 応答では"AuthPolicy": "Certificate"を指定する必要があります)。
- レガシ ケース (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

本文

  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 データが指定されていない場合にサーバーが 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

本文

  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"
    }
    

認証

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 は応答で errorCodeを UPNRequired に設定して、クライアントが UPN 値 (使用可能な場合) で要求を再試行するようにトリガーできます。
  • WINHTTP_QUERY_RETRY_AFTER: サーバーはこのフラグを設定して、指定された遅延後に再試行するようにクライアント要求を構成できます。 このフラグは、タイムアウトまたは調整のシナリオを処理する場合に役立ちます。