- Artículo
- 12/16/2021
- 12 minutos de lectura
-
- D
- M
- a
- v
- d
-
+11
El cliente DM de OMA se comunica con el servidor a través de HTTPS y utiliza DM Sync (OMA DM v1. 2) como carga útil del mensaje. En este tema se describe la funcionalidad de DM de OMA que admite el cliente DM en general. La descripción completa del protocolo OMA DM v1.2 se puede encontrar en el sitio web de OMA.
Estándares OMA DM
La siguiente tabla muestra los estándares OMA DM que utiliza Windows.
Área general | Estándar OMA DM compatible |
---|---|
Transporte de datos y sesión |
|
Bootstrap XML | Cliente OMA de Aprovisionamiento XML. |
Comandos de protocolo DM | La siguiente lista muestra los comandos que utiliza el dispositivo. Para obtener más información sobre los elementos de comando DM de OMA, consulte «Sitio web de OMA» disponible en el sitio web de OMA.
Si un elemento XML que no es un comando DM OMA válido se encuentra en uno de los siguientes elementos, se devuelve el código de estado 400 para ese elemento: Si no se proporciona ningún CmdID en el comando DM, el cliente devuelve un espacio en blanco en el elemento status y el código de estado 400. Si los elementos atómicos están anidados, se devuelven los siguientes códigos de estado: Para obtener más información sobre el comando atómico, consulte Elementos comunes del protocolo DM de OMA. No se admite la ejecución de un comando Add seguido de Replace en el mismo nodo dentro de un elemento atómico. LocURI no puede comenzar con / .La etiqueta Meta XML en SyncHdr es ignorada por el dispositivo. |
Objetos estándar OMA DM | DevInfo
|
Seguridad |
|
Nodos | En el árbol DM de OMA, se aplican las siguientes reglas para el nombre del nodo:
|
Los archivos de aprovisionamiento | El XML de aprovisionamiento debe estar bien formado y seguir la definición del Protocolo de representación SyncML] (https://go.microsoft.com/fwlink/p/?LinkId=526905). Si un elemento XML que no es un comando DM OMA válido está bajo SyncBody, se devuelve el código de estado 400 para ese elemento. Nota
Para representar una cadena Unicode como URI, primero codifique la cadena como UTF-8. A continuación, codifique cada uno de los bytes UTF-8 utilizando codificación URI. |
Compatibilidad con WBXML | Windows admite el envío y recepción de SyncML en formato XML y en formato WBXML codificado. Esto se puede configurar mediante el nodo DEFAULTENCODING bajo la característica de la APLICACIÓN w7 durante la inscripción. Para obtener más información sobre la codificación WBXML, consulte la sección 8 de la especificación del Protocolo de Representación SyncML. |
Manejo de objetos grandes | En Windows 10, versión 1511, se agregó soporte de cliente para cargar objetos grandes al servidor. |
Elementos comunes del protocolo OMA DM
Los elementos comunes son utilizados por otros tipos de elementos OMA DM. La siguiente tabla enumera los elementos comunes de DM de OMA utilizados para configurar los dispositivos. Para obtener más información sobre los elementos comunes de OMA DM, consulte «Uso de administración de dispositivos del Protocolo de representación SyncML» (OMA-SyncML-DMRepPro-V1_1_2-20030613-A) disponible en el sitio web de OMA.
el Elemento | Descripción |
---|---|
Chal | Especifica un desafío de autenticación. El servidor o cliente puede enviar un desafío al otro si no se dieron credenciales o credenciales inadecuadas en el mensaje de solicitud original. |
Cmd | Especifica el nombre de un comando DM de OMA al que se hace referencia en un elemento de estado. |
CmdID | Especifica el identificador único para un comando DM de OMA. |
CmdRef | Especifica el ID del comando para el que se devuelve la información de estado o de resultados. Este elemento toma el valor del elemento CmdID del mensaje de solicitud correspondiente. |
Cred | Especifica la credencial de autenticación para el creador del mensaje. |
Final | Indica que el mensaje actual es el último mensaje en el paquete. |
LocName | Especifica el nombre para mostrar en los elementos de destino y Origen, que se utiliza para enviar un ID de usuario para la autenticación MD5. |
LocURI | Especifica la dirección de destino o ubicación de la fuente. Si la dirección contiene un carácter no alfanumérico, debe escaparse correctamente de acuerdo con el estándar de codificación de URL. |
MsgID | Especifica un identificador único para un mensaje de sesión DM de OMA. |
MsgRef | Especifica el ID del mensaje de solicitud correspondiente. Este elemento toma el valor del elemento MsgID del mensaje de solicitud. |
RespURI | Especifica el URI que el destinatario debe usar al enviar una respuesta a este mensaje. |
SessionID | Especifica el identificador de la sesión DM de OMA asociada al mensaje que contiene.
Nota
Si el servidor no notifica al dispositivo que admite una nueva versión (a través del nodo SyncApplicationVersion en el CSP de DMClient), el cliente devuelve el ID de sesión en entero en formato decimal. Si el servidor es compatible con la versión 2.0 de sincronización de sesiones de DM, que se utiliza en Windows 10, el cliente del dispositivo devuelve 2 bytes. |
Source | Especifica la dirección de origen del mensaje. |
SourceRef | Especifica el origen del mensaje de solicitud correspondiente. Este elemento toma el valor del elemento de origen del mensaje de solicitud y se devuelve en el elemento Status o Results. |
Target | Especifica la dirección del nodo, en el árbol DM, que es el destino del comando OMA DM. |
TargetRef | Especifica la dirección de destino en el mensaje de solicitud correspondiente. Este elemento toma el valor del elemento de destino del mensaje de solicitud y se devuelve en el elemento Status o Results. |
VerDTD | Especifica el identificador de versión mayor y menor de la especificación del protocolo de representación DM de OMA utilizado para representar el mensaje. |
VerProto | Especifica el identificador de versión mayor y menor de la especificación del protocolo OMA DM que se usa con el mensaje. |
Sesión de administración de dispositivos
Una sesión de administración de dispositivos (DM) consiste en una serie de comandos intercambiados entre un servidor DM y un dispositivo cliente. El servidor envía comandos que indican las operaciones que deben realizarse en el árbol de administración del dispositivo cliente. El cliente responde enviando comandos que contienen los resultados y cualquier información de estado solicitada.
Una sesión DM corta se puede resumir de la siguiente manera:
Un servidor envía un comando Get a un dispositivo cliente para recuperar el contenido de uno de los nodos del árbol de administración. El dispositivo realiza la operación y responde con un comando Result que contiene el contenido solicitado.
Una sesión de DM se puede dividir en dos fases:
- Fase de configuración: En respuesta a un evento desencadenante, un dispositivo cliente envía un mensaje de inicio a un servidor DM. El intercambio de dispositivos y servidores necesitaba autenticación e información del dispositivo. Esta fase está representada por los pasos 1, 2 y 3 de la siguiente tabla.
- Fase de gestión: El servidor DM está en control. Envía comandos de administración al dispositivo y el dispositivo responde. La fase dos finaliza cuando el servidor DM deja de enviar comandos y finaliza la sesión. Esta fase está representada por los pasos 3, 4 y 5 en la siguiente tabla.
La siguiente información muestra la secuencia de eventos durante una sesión de DM típica.
-
El cliente DM se invoca para devolver la llamada al servidor de administración
Escenario Empresarial: la programación de tareas del dispositivo invoca el cliente DM.El servidor MO envía un mensaje de activación de servidor para invocar el cliente DM.
El mensaje de activación incluye el ID del servidor e indica al dispositivo cliente que inicie una sesión con el servidor. El dispositivo cliente autentica el mensaje del desencadenador y verifica que el servidor esté autorizado para comunicarse con él.Escenario
Enterprise: A la hora programada, el cliente DM se invoca periódicamente para volver a llamar al servidor de administración empresarial a través de HTTPS. -
El dispositivo envía un mensaje, a través de una conexión IP, para iniciar la sesión.
Este mensaje incluye información y credenciales del dispositivo. El cliente y el servidor realizan la autenticación mutua a través de un canal SSL o a nivel de aplicación DM.
-
El servidor DM responde a través de una conexión IP (HTTPS). El servidor envía comandos iniciales de administración de dispositivos, si los hay.
-
El dispositivo responde a los comandos de administración del servidor. Este mensaje incluye los resultados de la realización de las operaciones de administración de dispositivos especificadas.
-
El servidor DM finaliza la sesión o envía otro comando. La sesión de DM finaliza o se repite el paso 4.
Los números de paso no representan números de identificación de mensajes (MsgID). Todos los mensajes del servidor deben tener un MsgID único dentro de la sesión, comenzando en 1 para el primer mensaje y aumentando en un incremento de 1 para cada mensaje adicional. Para obtener más información sobre MsgID y el protocolo OMA SyncML, consulte Protocolo de Representación de Administración de dispositivos OMA (DM_RepPro-V1_2-20070209-A).
Durante la autenticación mutua a nivel de aplicación DM de OMA, si el código de respuesta del dispositivo al elemento Cred en la solicitud del servidor es 212, no se necesita más autenticación para el resto de la sesión DM. En el caso de la autenticación MD5, se puede devolver el elemento Chal. Luego, el siguiente nonce en Chal debe usarse para el resumen MD5 cuando se inicie la siguiente sesión DM.
Si una solicitud incluye credenciales y el código de respuesta a la solicitud es 200, se debe enviar la misma credencial en la siguiente solicitud. Si se incluye el elemento Chal y se requiere la autenticación MD5, se crea un nuevo resumen utilizando el siguiente nonce a través del elemento Chal para la siguiente solicitud.
Para obtener más información sobre autenticación de cliente básica o MD5, autenticación de servidor MD5, hash MD5 y nonce MD5, consulte la Especificación de seguridad de Administración de dispositivos OMA (OMA-TS-DM_Security-V1_2_1-20080617-A), manejo de código de respuesta de autenticación y ejemplos paso a paso en la especificación de Protocolo de Administración de Dispositivos OMA (OMA-TS-DM_Protocol-V1_2_1-20080617-A), disponibles del sitio web de OMA.
Usuario dirigido vs Configuración dirigida al dispositivo
Para los CSP y las directivas compatibles con la configuración por usuario, el servidor MDM puede enviar valores de configuración dirigidos al usuario al dispositivo en el que un usuario inscrito en MDM haya iniciado sesión activamente. El dispositivo notifica al servidor el estado de inicio de sesión a través de una alerta de dispositivo (1224) con tipo de alerta = in DM pkg#1.
La parte de datos de esta alerta podría ser una de las siguientes cadenas:
- Usuario: el usuario que inscribió el dispositivo está conectado activamente. El servidor MDM podría enviar configuraciones específicas de usuario para CSP/directivas compatibles con configuración por usuario
- Otros: otro inicio de sesión de usuario, pero ese usuario no tiene una cuenta MDM. El servidor solo puede aplicar la configuración de todo el dispositivo, por ejemplo, la configuración se aplica a todos los usuarios del dispositivo.
- Ninguno – no hay inicio de sesión de usuario activo. El servidor solo puede aplicar la configuración de todo el dispositivo y la configuración disponible está restringida al entorno del dispositivo (sin inicio de sesión de usuario activo).
A continuación se muestra un ejemplo de alerta:
<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>
El servidor notifica al dispositivo si se trata de una configuración dirigida a un usuario o a un dispositivo mediante un prefijo a la LocURL del nodo de administración, con ./ usuario para configuración dirigida al usuario, o ./ dispositivo para la configuración específica del dispositivo. De forma predeterminada, si no hay prefijo con ./o dispositivo ./ usuario, es la configuración dirigida al dispositivo.
La siguiente LocURL muestra una configuración de nodo CSP por usuario: ./user/vendor/MSFT/EnterpriseModernAppManagement/AppInstallation/<PackageFamilyName>/StoreInstall
La siguiente LocURL muestra una configuración de nodo CSP por dispositivo: ./device/vendor/MSFT/RemoteWipe / DoWipe
Códigos de estado de respuesta SyncML
Cuando se usa SyncML en OMA DM, se devuelven códigos de estado de respuesta estándar. La siguiente tabla enumera los códigos de estado de respuesta SyncML comunes que es probable que vea. Para obtener más información sobre los códigos de estado de respuesta SyncML, consulte la sección 10 de la especificación del Protocolo de Representación SyncML.
código de Estado | Descripción |
---|---|
200 | El SyncML comando se completó correctamente. |
202 | Aceptado para su procesamiento. Por lo general, se trata de una operación asíncrona, como una solicitud para ejecutar una ejecución remota de una aplicación. |
212 | Autenticación aceptado. Normalmente, solo verá esto en respuesta al elemento SyncHdr (utilizado para la autenticación en el estándar OMA-DM). Puede ver esto si observa los registros DM de OMA, pero los CSP no suelen generar esto. |
214 | Operación cancelada. El comando SyncML se completó correctamente, pero no se procesarán más comandos dentro de la sesión. |
215 | No se ejecuta. Un comando no se ejecutó como resultado de la interacción del usuario para cancelar el comando. |
216 | Atomic retroceder OK. Un comando estaba dentro de un elemento Atomic y Atomic falló. Este comando fue revertido con éxito. |
400 | solicitud incorrecta. El comando solicitado no se pudo ejecutar debido a una sintaxis mal formada. Los CSP no suelen generar este error, sin embargo, es posible que lo vea si su SyncML está mal formado. |
401 | Credenciales no válidas. El comando solicitado falló porque el solicitante debe proporcionar la autenticación adecuada. Los CSP no suelen generar este error. |
403 | Prohibido. El comando solicitado falló, pero el destinatario entendió el comando solicitado. |
404 | No se encontró. El objetivo solicitado no ha sido encontrado. Este código se generará si consulta un nodo que no existe. |
405 | Comando no permitido. Este código de respuesta se generará si intenta escribir en un nodo de solo lectura. |
406 | Opcional no disponible. Este código de respuesta se generará si intenta acceder a una propiedad que el CSP no admite. |
415 | Tipo o formato no compatible. Este código de respuesta puede ser el resultado de errores de formato o análisis XML. |
418 | Ya existe. Este código de respuesta se produce si intenta agregar un nodo que ya existe. |
425 | Permiso Denegado. El comando solicitado falló porque el remitente no tiene los permisos de control de acceso (ACL) adecuados en el destinatario. Los errores de «acceso denegado» generalmente se traducen a este código de respuesta. |
500 | error de Comando. Fallo genérico. El destinatario se encontró con una condición inesperada que le impidió cumplir con la solicitud. Este código de respuesta se producirá cuando la DPU de SyncML no pueda asignar el código de error de origen. |
507 | Atomic fracasado. Una de las operaciones en un bloque Atomic falló. |
516 | Atomic revertir fallado. Una operación Atomic falló y el comando no se revirtió correctamente. |