OMA DMプロトコルのサポート

  • 記事
  • 12/16/2021
  • 12 読むべき分
    • D
    • M
    • a
    • v
    • d
    • +11
このページは役に立ちますか?

ありがとうございます。

OMA DMクライアントはHTTPS経由でサーバーと通信し、メッセージペイロードとしてDM Sync(OMA DM v1.2)を使用します。 このトピックでは、DMクライアントが一般的にサポートするOMA DM機能について説明します。 OMA DMプロトコルv1.2の完全な説明は、OMAのwebサイトで見つけることができます。

OMA DM規格

次の表は、Windowsで使用されているOMA DM規格を示しています。

一般エリア サポートされているOMA DM規格
データ転送とセッション
  • クライアントがSSL経由で開始したリモートHTTPS DMセッション。
  • SSL経由のリモートHTTPS DMセッション。
  • WAP Push over Short Message Service(SMS)を使用したリモートDMサーバー開始通知。 企業管理では使用されません。
  • SMS経由でWAPプッシュを使用してリモートブートストラップ。 企業管理では使用されません。
  • ブートストラップXML OMAクライアントプロビジョニングXML。
    DMプロトコルコマンド 次のリストは、デバイスで使用されるコマンドを示しています。 OMA DMコマンド要素の詳細については、OMA webサイトから入手可能な「OMA webサイト」を参照してください。

  • Add(Implicit Add supported)
  • Alert(DM alert):generic alert(1226)は、ユーザーがデバイスからMDM登録解除アクションをトリガーしたとき、またはCSPが非同期アクションを終了したときに、enterprise management clientによ デバイス警告(1 2 2 4)は、サーバにいくつかのデバイストリガされたイベントを通知するために使用される。
  • Atomic:atomic要素内の同じノードでAddコマンドの後にReplaceを実行することはサポートされていません。 ネストされたAtomicおよびGetコマンドは許可されず、エラーコード500が生成されます。
  • 削除: DMツリーからノードを削除し、そのノードの下にあるサブツリー全体が存在する場合
  • Exec:クライアントデバイス上の実行可能ファイルを呼び出します
  • Get:クライアdm server
  • sequence:コマンドのグループを処理する順序を指定します
  • status: 操作
    の完了状態(成功または失敗)を示します有効なOMA DMコマンドではないXML要素が次のいずれかの要素の下にある場合、その要素のステータスコード400:
  • SyncBody
  • Atomic
  • Sequence
    DMコマンドにCmdIDが指定されていない場合、クライアントはstatus要素とステータスコード400に空白を返します。
    アトミック要素がネストされている場合、次のステータスコードが返されます:
  • ネストされたAtomicコマンドは500を返します。
  • 親Atomicコマンドは507を返します。
    Atomicコマンドの詳細については、”OMA DM protocol common elements”を参照してください。
    アトミック要素内の同じノードでAddコマンドの後にReplaceを実行することはサポートされていません。
    LocURIは/で始まることはできません。
    SyncHdr内のメタXMLタグはデバイスによって無視されます。
  • OMA DM標準オブジェクト DevInfo

  • DevDetail
  • OMA DM DMSアカウントオブジェクト(OMA DMバージョン1.2)
  • セキュリティ
  • DMサーバー開始通知SMSメッセージを認証する(enterprise managementでは使用されません)
  • アプリケーション層の基本およびMD5クライアント認証
  • アプリケーションレベルでMD5クレデンシャルを使用してサーバーを認証
  • アプリケーションレベルでHMACを使用したデータ整合性および認証
  • SSLレベルの証明書ベースのクライアント/サーバー認証、暗号化、およびデータ整合性チェック
  • ノード OMA DMツリーでは、ノード名に次の規則が適用されます:

  • “.”はノード名の一部にすることができます。
  • ノード名を空にすることはできません。
  • ノード名はアスタリスク(*)文字のみにすることはできません。
  • プロビジョニングファイル プロビジョニングXMLは整形式であり、SyncML表現プロトコル](https://go.microsoft.com/fwlink/p/?LinkId=526905)の定義に従わなければなりません。<8 0 3 0>有効なOMA D MコマンドではないXML要素がSyncbodyの下にある場合、その要素のステータスコード4 0 0が返される。


    Unicode文字列をURIとして表すには、まず文字列をUTF-8としてエンコードします。 次に、URIエンコードを使用して各UTF-8バイトをエンコードします。
    WBXMLサポート Windowsは、XML形式とエンコードされたWBXML形式の両方でSyncMLの送受信をサポートしています。 これは、登録時にw7アプリケーション特性の下にあるDEFAULTENCODINGノードを使用して構成できます。 WBXMLエンコーディングの詳細については、SyncML表現プロトコル仕様のセクション8を参照してください。
    ラージオブジェクトの処理 Windows10バージョン1511では、ラージオブジェクトをサーバーにアップロードするためのクライアントサポートが追加されました。

    OMA DMプロトコル共通要素

    共通要素は、他のOMA DM要素タイプによって使用されます。 次の表に、デバイスの設定に使用されるOMA DMの共通要素を示します。 OMA DMの共通要素の詳細については、Oma webサイトから入手可能な「SyncML Representation Protocol Device Management Usage」(OMA-SyncML-DMRepPro-V1_1_2-20030613-A)を参照してください。

    要素 説明
    Chal は、認証チャレンジを指定します。 元の要求メッセージで資格情報または不十分な資格情報が指定されていない場合、サーバーまたはクライアントは他のユーザーにチャレンジを送信で
    Cmd Status要素で参照されるOMA DMコマンドの名前を指定します。
    CmdID は、OMA DMコマンドの一意の識別子を指定します。
    CmdRef は、ステータス情報または結果情報が返されるコマンドのIDを指定します。 この要素は、対応する要求メッセージのCmdID要素の値を取ります。
    Cred は、メッセージの発信者の認証資格情報を指定します。
    Final は、現在のメッセージがパッケージ内の最後のメッセージであることを示します。
    LocName は、MD5認証のユーザー IDを送信するために使用される、ターゲット要素とソース要素の表示名を指定します。
    LocURI は、ターゲットまたはソースの場所のアドレスを指定します。 アドレスに英数字以外の文字が含まれている場合は、URLエンコード規格に従って適切にエスケープする必要があります。
    MsgID は、OMA DMセッションメッセージの一意の識別子を指定します。
    MsgRef は、対応する要求メッセージのIDを指定します。 この要素は、要求メッセージMsgID要素の値を取ります。
    RespURI は、受信者がこのメッセージへの応答を送信するときに使用する必要があるURIを指定します。
    SessionID は、含まれているメッセージに関連付けられたOMA DMセッションの識別子を指定します。


    サーバーがDMClient CSPのSyncApplicationVersionノードを介して新しいバージョンをサポートしていることをデバイスに通知しない場合、クライアントはsessionidをdecimal形式の整数で返します。 サーバーがWINDOWS10で使用されるDMセッション同期バージョン2.0をサポートしている場合、デバイスクライアントは2バイトを返します。
    Source は、メッセージの送信元アドレスを指定します。
    SourceRef は、対応する要求メッセージのソースを指定します。 この要素は、要求メッセージのソース要素の値を受け取り、Status要素またはResults要素で返されます。
    Target は、OMA DMコマンドのターゲットであるDMツリー内のノードのアドレスを指定します。
    TargetRef は、対応する要求メッセージ内のターゲットアドレスを指定します。 この要素は、要求メッセージのターゲット要素の値を受け取り、Status要素またはResults要素で返されます。
    VerDTD は、メッセージを表すために使用されるOMA DM表現プロトコル仕様のメジャーバージョン識別子とマイナーバージョン識別子を指定します。
    VerProto は、メッセージで使用されるOMA DMプロトコル仕様のメジャーバージョン識別子とマイナーバージョン識別子を指定します。

    デバイス管理セッション

    デバイス管理(DM)セッションは、DMサーバーとクライアントデバイスの間で交換される一連のコマンドで構成されます。 サーバーは、クライアントデバイスの管理ツリーで実行する必要がある操作を示すコマンドを送信します。 クライアントは、結果と要求された状態情報を含むコマンドを送信することによって応答します。

    短いDMセッションは、次のように要約することができます。

    サーバーは、管理ツリーのノードのいずれかの内容を取得するためにGetコマンドをクライアントデバ デバイスは操作を実行し、要求された内容を含むResultコマンドで応答します。

    DMセッションは二つのフェーズに分けることができます:

    1. セットアップフェーズ:トリガーイベントに応答して、クライアントデバイスはDMサーバーに開始メッセージを送信します。 デバイスとサーバーの交換には、認証とデバイス情報が必要でした。 このフェーズは、次の表のステップ1、2、および3で表されます。
    2. 管理フェーズ:DMサーバーは制御中です。 デバイスに管理コマンドを送信し、デバイスが応答します。 フェーズ2は、DMサーバーがコマンドの送信を停止してセッションを終了すると終了します。 このフェーズは、次の表のステップ3、4、および5で表されます。

    以下の情報は、一般的なDMセッション中のイベントのシーケンスを示しています。

    1. DMクライアントは、管理サーバー
      エンタープライズシナリオにコールバックするために呼び出されます。

      MOサーバは、DMクライアントを起動するためにサーバトリガメッセージを送信します。

      トリガーメッセージにはサーバー IDが含まれ、クライアントデバイスにサーバーとのセッションを開始するように指示します。 クライアントデバイスは、トリガーメッセージを認証し、サーバーがトリガーメッセージとの通信を許可されていることを確認します。
      エンタープライズシナリオ-スケジュールされた時間に、DMクライアントが定期的に呼び出され、HTTPS経由でenterprise management serverにコールバックされます。

    2. デバイスは、セッションを開始するために、IP接続を介してメッセージを送信します。

      このメッセージには、デバイス情報と資格情報が含まれます。 クライアントとサーバーは、SSLチャネルまたはDMアプリケーションレベルで相互認証を行います。

    3. DMサーバーは、IP接続(HTTPS)を介して応答します。 サーバーは、初期デバイス管理コマンドがある場合は送信します。

    4. デバイスはサーバー管理コマンドに応答します。 このメッセージには、指定されたデバイス管理操作の実行結果が含まれます。

    5. DMサーバーはセッションを終了するか、別のコマンドを送信します。 DMセッションが終了するか、ステップ4が繰り返されます。

    ステップ番号は、メッセージ識別番号(MsgID)を表していません。 サーバーからのすべてのメッセージには、セッション内で一意のMsgIDが必要で、最初のメッセージは1から始まり、余分なメッセージごとに1ずつ増加します。 MsgIDおよびOMA SyncMLプロトコルの詳細については、”OMA Device Management Representation Protocol(Dm_Reppro-V1_2-20070209-A)”を参照してください。

    OMA DMアプリケーションレベルの相互認証中に、サーバー要求のCred要素に対するデバイス応答コードが212の場合、DMセッションの残りの部分ではそれ以上の認証は必要ありません。 MD5認証の場合、Chal要素を返すことができます。 次に、次のDMセッションが開始されるときに、CHAL内の次のnonceをMD5ダイジェストに使用する必要があります。

    要求に資格情報が含まれており、要求に対する応答コードが200の場合、次の要求内で同じ資格情報を送信する必要があります。 Chal要素が含まれており、MD5認証が必要な場合は、次の要求のためにChal要素を介して次のnonceを使用して新しいダイジェストが作成されます。基本認証またはMD5クライアント認証、MD5サーバー認証、MD5ハッシュ、およびMD5ノンスの詳細については、omaデバイス管理セキュリティ仕様(OMA-TS-Dm_Security-V1_2_1-20080617-A)、認証応答コード処理、およびomaデバイス管理プロトコル仕様(OMA-TS-Dm_Protocol-V1_2_1-20080617-A)のステップバイステップのサンプルを参照してください。OMAのウェブサイトから。

    デバイスターゲット設定

    ユーザーごとの設定をサポートするCspおよびポリシーの場合、MDMサーバーは、MDM登録ユーザーがアクティブにログインしているデバイスにユー デバイスは、DM pkg#1でAlert type=を有するデバイスalert(1 2 2 4)を介して、ログイン状態をサーバに通知する。

    このアラートのデータ部分は、次のいずれかの文字列になります:

    • ユーザー-デバイスを登録したユーザーがアクティブにログインしています。 MDMサーバは、ユーザごとの設定
    • をサポートするCsp/ポリシーのユーザ固有の設定を送信できます。 たとえば、設定はデバイス内のすべてのユーザーに適用されます。
    • なし–アクティブなユーザーログインはありません。 サーバーはデバイス全体の設定のみを適用でき、使用可能な設定はデバイス環境に制限されます(アクティブなユーザーログインはありません)。

    以下はアラートの例です:

    <Alert> <CmdID>1</CmdID> <Data>1224</Data> <Item> <Meta> <Type xmlns="syncml:metinf">com.microsoft/MDM/LoginStatus</Type> <Format xmlns="syncml:metinf">chr</Format> </Meta> <Data>user</Data> </Item></Alert>

    サーバーは、管理ノードのLocURLに接頭辞を付けて、デバイスがユーザーターゲット設定であるかデバイスターゲット設定であるかをデバイスに通知します。/userユーザー対象設定の場合、または。/デバイスターゲット設定用のデバイス。 デフォルトでは、接頭辞が付いていない場合。/デバイスまたは。/ユーザー、それは装置目標とされた構成です。

    次のLocURLは、ユーザーごとのCSPノード構成を示しています。/user/vendor/MSFT/EnterpriseModernAppManagement/AppInstallation/<PackageFamilyName>/StoreInstall

    次のLocURLは、デバイスごとのCSPノード構成を示しています: ./device/vendor/MSFT/RemoteWipe/DoWipe

    SyncML応答ステータスコード

    OMA DMでSyncMLを使用すると、返される標準応答ステータスコードがあります。 次の表に、一般的なSyncML応答ステータスコードを示します。 SyncML応答ステータスコードの詳細については、SyncML表現プロトコル仕様のセクション10を参照してください。

    ステータスコード 説明
    200 SyncMLコマンドは正常に完了しました。
    202 処理のために受け入れられる。 これは通常、アプリケーションのリモート実行を実行する要求などの非同期操作です。
    212 認証が受け入れられました。 通常、これはSyncHdr要素(OMA-DM標準の認証に使用されます)に応答してのみ表示されます。 OMA DMログを見るとこれが表示されることがありますが、Cspは通常これを生成しません。
    214 操作はキャンセルされました。 SyncMLコマンドは正常に完了しましたが、それ以上のコマンドはセッション内で処理されません。
    215 実行されない。 コマンドをキャンセルするためのユーザー操作の結果、コマンドが実行されませんでした。
    216 Atomic ロールバックOK。 コマンドがAtomic要素内にあり、Atomicが失敗しました。 このコマンドは正常にロールバックされました。
    400 悪い要求。 要求されたコマンドは、不正な構文のために実行できませんでした。 CSPは通常このエラーを生成しませんが、SyncMLの形式が不正な場合に表示されることがあります。
    401 無効な資格情報。 要求元が適切な認証を提供する必要があるため、要求されたコマンドは失敗しました。 CSPは通常、このエラーを生成しません。
    403 禁止されています。 要求されたコマンドは失敗しましたが、受信者は要求されたコマンドを理解しました。
    404 見つかりません。 要求されたターゲットが見つかりませんでした。 このコードは、存在しないノードを照会する場合に生成されます。
    405 コマンドは許可されません。 この応答コードは、読み取り専用ノードに書き込もうとすると生成されます。
    406 オプション機能はサポートされていません。 この応答コードは、CSPがサポートしていないプロパティにアクセスしようとすると生成されます。
    415 サポートされていない型または形式。 この応答コードは、XMLの解析エラーまたは書式設定エラーが原因で発生する可能性があります。
    418 すでに存在しています。 この応答コードは、既に存在するノードを追加しようとした場合に発生します。
    425 許可が拒否されました。 送信者が受信者に対する適切なアクセス制御アクセス許可(ACL)を持っていないため、要求されたコマンドが失敗しました。 “アクセスが拒否されました”エラーは、通常、この応答コードに変換されます。
    500 コマンドが失敗しました。 一般的な失敗。 受信者は、要求を満たすことができない予期しない状態に遭遇しました。 この応答コードは、SyncML DPUが発信元のエラーコードをマップできない場合に発生します。
    507 Atomic 失敗しました。 Atomicブロック内の操作の1つが失敗しました。
    516 Atomic ロールバックに失敗しました。 Atomic操作が失敗し、コマンドが正常にロールバックされませんでした。

    コメントを残す

    メールアドレスが公開されることはありません。