Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O OMA DMClient se comunica com o servidor por HTTPS e usa o DM Sync (OMA DM v1.2) como o conteúdo da mensagem. Este artigo descreve a funcionalidade do OMA DM compatível com o DMClient em geral. A descrição completa do protocolo OMA DM v1.2 pode ser encontrada no site do OMA.
Padrões do OMA DM
A tabela a seguir mostra os padrões do OMA DM usados pelo Windows.
| Área geral | Padrão OMA DM com suporte |
|---|---|
| Transporte e sessão de dados | |
| XML de inicialização | XML de provisionamento do cliente OMA. |
| Comandos do protocolo DM | A lista a seguir mostra os comandos usados pelo dispositivo. Para obter mais informações sobre os elementos de comando do OMA DM, consulte o "site do OMA" disponível no site do OMA. Se um elemento XML que não é um comando OMA DM válido estiver sob um dos seguintes elementos, o código de status 400 será retornado para esse elemento: Se nenhum CmdID for fornecido no comando DM, o cliente retornará em branco no elemento status e o código de status 400. Se os elementos atômicos estiverem aninhados, os seguintes códigos de status serão retornados: Para obter mais informações sobre o comando Atômico, consulte Elementos comuns do protocolo OMA DM. Não há suporte para a execução de um comando Adicionar seguido de Substituir no mesmo nó dentro de um elemento Atômico. LocURI não pode começar com /.A marca Meta XML em SyncHdr é ignorada pelo dispositivo. |
| Objetos padrão do OMA DM | DevInfo |
| Segurança | |
| Nós | Na árvore OMA DM, as seguintes regras se aplicam ao nome do nó:*). |
| Provisioning Files | O XML de provisionamento deve ser bem formado e seguir a definição no Protocolo de Representação SyncML. Se um elemento XML que não é um comando OMA DM válido estiver em SyncBody, o código de status 400 será retornado para esse elemento.
Observação Para representar uma cadeia de caracteres Unicode como um URI, primeiro codifique a cadeia de caracteres como UTF-8. Codifique cada um dos bytes UTF-8 usando a codificação URI. |
| Suporte a WBXML | O Windows dá suporte ao envio e recebimento de SyncML no formato XML e no formato WBXML codificado. Esse suporte a formato duplo é configurável usando o nó DEFAULTENCODING na característica w7 APPLICATION durante o registro. Para obter mais informações sobre a codificação WBXML, consulte a seção 8 da especificação do Protocolo de Representação SyncML . |
| Manuseio de objetos grandes | No Windows 10, o suporte ao cliente para carregar objetos grandes no servidor foi adicionado. |
Elementos comuns do protocolo OMA DM
Elementos comuns são usados por outros tipos de elemento OMA DM. A tabela a seguir lista os elementos comuns do OMA DM usados para configurar os dispositivos. Para obter mais informações sobre elementos comuns do OMA DM, consulte "SyncML Representation Protocol Gerenciamento de Dispositivos Usage" (OMA-SyncML-DMRepPro-V1_1_2-20030613-A) disponível no site do OMA.
| Elemento | Descrição |
|---|---|
| Chal | Especifica um desafio de autenticação. O servidor ou cliente poderá enviar um desafio ao outro se nenhuma credencial ou credenciais inadequadas tiverem sido fornecidas na mensagem de solicitação original. |
| Cmd | Especifica o nome de um comando OMA DM referenciado em um elemento Status. |
| CmdID | Especifica o identificador exclusivo de um comando do OMA DM. |
| CmdRef | Especifica a ID do comando para o qual as informações de status ou resultados estão sendo retornadas. Esse elemento assume o valor do elemento CmdID da mensagem de solicitação correspondente. |
| Cred | Especifica a credencial de autenticação para o originador da mensagem. |
| Final | Indica que a mensagem atual é a última mensagem no pacote. |
| LocName | Especifica o nome de exibição nos elementos Destino e Origem, usados para enviar um ID de usuário para autenticação MD5. |
| LocURI | Especifica o endereço do local de destino ou de origem. Se o endereço contiver um caractere não alfanumérico, ele deverá ser escapado corretamente de acordo com o padrão de codificação de URL. |
| MsgID | Especifica um identificador exclusivo para uma mensagem de sessão OMA DM. |
| MsgRef | Especifica a ID da mensagem de solicitação correspondente. Esse elemento usa o valor do elemento MsgID da mensagem de solicitação. |
| RespURI | Especifica o URI que o destinatário deve usar ao enviar uma resposta a essa mensagem. |
| SessionID | Especifica o identificador da sessão OMA DM associado à mensagem recipiente. Se o servidor não notificar o dispositivo de que dá suporte a uma nova versão (por meio do nó SyncApplicationVersion no CSP DMClient), o cliente retornará a SessionID em número inteiro em formato decimal. Se o servidor der suporte à sincronização de sessão DM versão 2.0, que é usada no Windows, o cliente do dispositivo retornará 2 bytes. |
| Origem | Especifica o endereço de origem da mensagem. |
| SourceRef | Especifica a origem da mensagem de solicitação correspondente. Esse elemento usa o valor do elemento Source da mensagem de solicitação e é retornado no elemento Status ou Results. |
| Target | Especifica o endereço do nó na Árvore DM que é o destino do comando OMA DM. |
| TargetRef | Especifica o endereço de destino na mensagem de solicitação correspondente. Esse elemento usa o valor do elemento Target da mensagem de solicitação e é retornado no elemento Status ou Results. |
| VerDTD | Especifica o identificador de versão principal e secundária da especificação de protocolo de representação OMA DM usada para representar a mensagem. |
| VerProto | Especifica o identificador de versão principal e secundária da especificação de protocolo OMA DM usada com a mensagem. |
Sessão de gerenciamento de dispositivo
Uma sessão de Gerenciamento de Dispositivos (DM) consiste em uma série de comandos trocados entre um servidor DM e um dispositivo cliente. O servidor envia comandos indicando as operações que devem ser executadas na árvore de gerenciamento do dispositivo cliente. O cliente responde enviando comandos que contêm os resultados e qualquer informação de status solicitada.
Uma curta sessão de DM pode ser resumida como:
Um servidor envia um comando Get a um dispositivo cliente para recuperar o conteúdo de um dos nós da árvore de gerenciamento. O dispositivo realiza a operação e responde com um comando Result que contém o conteúdo solicitado.
Uma sessão de DM pode ser dividida em duas fases:
- Fase de configuração: Em resposta a um evento de acionamento, um dispositivo cliente envia uma mensagem inicial para um servidor DM. O dispositivo e o servidor trocam as informações necessárias de autenticação e dispositivo. Essa fase é representada pelas etapas 1, 2 e 3.
- Fase de gerenciamento: O servidor DM está no controle. Ele envia comandos de gerenciamento para o dispositivo e o dispositivo responde. A fase 2 termina quando o servidor DM para de enviar comandos e encerra a sessão. Essa fase é representada pelas etapas 3, 4 e 5.
As informações a seguir mostram a sequência de eventos durante uma sessão típica de DM.
DMClient é invocado para retornar ao servidor de gerenciamento
Cenário corporativo - A programação de tarefas do dispositivo invoca o DMClient.O servidor MO envia uma mensagem de gatilho do servidor para invocar o DMClient.
A mensagem de gatilho inclui a ID do servidor e informa ao dispositivo cliente para iniciar uma sessão com o servidor. O dispositivo cliente autentica a mensagem de gatilho e verifica se o servidor está autorizado a se comunicar com ele.
Cenário corporativo – no horário agendado, o DMClient é invocado periodicamente para retornar ao servidor de gerenciamento corporativo por HTTPS.O dispositivo envia uma mensagem, por uma conexão IP, para iniciar a sessão.
Essa mensagem inclui informações e credenciais do dispositivo. O cliente e o servidor fazem autenticação mútua por meio de um canal TLS/SSL ou no nível do aplicativo DM.
O servidor DM responde por meio de uma conexão IP (HTTPS). O servidor envia comandos iniciais de gerenciamento de dispositivo, se houver.
O dispositivo responde aos comandos de gerenciamento do servidor. Esta mensagem inclui os resultados da execução das operações de gerenciamento de dispositivo especificadas.
O servidor DM encerra a sessão ou envia outro comando. A sessão DM termina ou a Etapa 4 é repetida.
Os números das etapas não representam números de identificação da mensagem (MsgID). Todas as mensagens do servidor devem ter um MsgID exclusivo dentro da sessão, começando em 1 para a primeira mensagem e aumentando em um incremento de 1 para cada mensagem extra. Para obter mais informações sobre o MsgID e o protocolo SyncML do OMA, consulte Protocolo de representação do OMA Gerenciamento de Dispositivos (DM_RepPro-V1_2-20070209-A).
Durante a autenticação mútua no nível do aplicativo OMA DM, se o código de resposta do dispositivo para o elemento Cred na solicitação do servidor for 212, nenhuma autenticação adicional será necessária para o restante da sessão DM. Se a autenticação MD5 ocorrer, o Chal elemento poderá ser retornado. Em seguida, o próximo nonce de entrada Chal deve ser usado para o resumo MD5 quando a próxima sessão de DM for iniciada.
Se uma solicitação incluir credenciais e o código de resposta à solicitação for 200, a mesma credencial deverá ser enviada na próxima solicitação. Se o Chal elemento for incluído e a autenticação MD5 for necessária, um novo resumo será criado usando o próximo nonce por meio do elemento para a Chal próxima solicitação.
Para obter mais informações sobre autenticação de cliente Básica ou MD5, autenticação de servidor MD5, hash MD5 e nonce MD5, consulte a Especificação de Segurança do OMA Gerenciamento de Dispositivos (OMA-TS-DM_Security-V1_2_1-20080617-A), manipulação de código de resposta de autenticação e exemplos passo a passo no OMA Gerenciamento de Dispositivos Especificação de protocolo (OMA-TS-DM_Protocol-V1_2_1-20080617-A), disponível no site do OMA.
Configuração direcionada ao usuário vs. configuração direcionada ao dispositivo
Para CSPs e políticas que dão suporte à configuração por usuário, o servidor MDM pode enviar valores de configuração direcionada ao usuário para o dispositivo em que um usuário registrado no MDM está conectado ativamente. O dispositivo notifica o servidor sobre o status de entrada por meio de um alerta de dispositivo (1224) com Tipo de alerta = em DM pkg#1.
A parte de dados desse alerta pode ser uma das seguintes cadeias de caracteres:
- Usuário: o usuário que registrou o dispositivo está conectado ativamente. O servidor MDM pode enviar configurações específicas do usuário para CSPs/políticas que dão suporte à configuração por usuário
- Outros: outro usuário entra, mas esse usuário não tem uma conta MDM. O servidor só pode aplicar a configuração em todo o dispositivo, por exemplo, a configuração se aplica a todos os usuários no dispositivo.
- Nenhum: nenhuma entrada de usuário ativo. O servidor só pode aplicar a configuração em todo o dispositivo, e a configuração disponível é restrita ao ambiente do dispositivo (nenhuma entrada de usuário ativo).
Veja um exemplo 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>
O servidor notifica o dispositivo se é uma configuração direcionada ao usuário ou direcionada ao dispositivo por um prefixo para o LocURL do nó de gerenciamento, com ./user para configuração direcionada ao usuário ou ./device para configuração direcionada ao dispositivo. Por padrão, se não houver prefixo com ./device ou ./user, é uma configuração direcionada ao dispositivo.
O LocURL a seguir mostra uma configuração de nó CSP por usuário: ./user/vendor/MSFT/EnterpriseModernAppManagement/AppInstallation/<PackageFamilyName>/StoreInstall
O LocURL a seguir mostra uma configuração de nó CSP por dispositivo: ./device/vendor/MSFT/RemoteWipe/DoWipe
Códigos de status de resposta do SyncML
Ao usar o SyncML no OMA DM, há códigos de status de resposta padrão retornados. A tabela a seguir lista os códigos de status de resposta SyncML comuns que você provavelmente verá. Para obter mais informações sobre códigos de status de resposta do SyncML, consulte a seção 10 da especificação do Protocolo de Representação do SyncML.
| Código de status | Descrição |
|---|---|
| 200 | O comando SyncML foi concluído com êxito. |
| 202 | Aceito para processamento. Esse código denota uma operação assíncrona, como uma solicitação para executar uma execução remota de um aplicativo. |
| 212 | Autenticação aceita. Normalmente, você só vê esse código em resposta ao elemento SyncHdr (usado para autenticação no padrão OMA-DM). Você poderá ver esse código se examinar os logs do OMA DM, mas os CSPs normalmente não geram esse código. |
| 214 | Operação cancelada. O comando SyncML foi concluído com êxito, mas nenhum outro comando é processado na sessão. |
| 215 | Não executado. Um comando não foi executado como resultado da interação do usuário para cancelar o comando. |
| 216 |
Atomic reverter OK. Um comando estava dentro de um Atomic elemento e Atomic falhou. Este comando foi revertido com êxito. |
| 400 | Solicitação inválida. O comando solicitado não pôde ser executado devido à sintaxe malformada. Os CSPs geralmente não geram esse erro, no entanto, você poderá vê-lo se o SyncML estiver malformado. |
| 401 | Credenciais inválidas. O comando solicitado falhou porque o solicitante deve fornecer a autenticação adequada. Os CSPs geralmente não geram esse erro. |
| 403 | Proibido. O comando solicitado falhou, mas o destinatário compreendeu o comando solicitado. |
| 404 | Não encontrado. O destino solicitado não foi encontrado. Esse código será gerado se você consultar um nó que não existe. |
| 405 | Comando não permitido. Esse código de resposta é gerado se você tentar gravar em um nó somente leitura. |
| 406 | Recurso opcional não suportado. Esse código de resposta será gerado se você tentar acessar uma propriedade incompatível com o CSP. |
| 415 | Tipo ou formato incompatível. Esse código de resposta pode resultar de erros de formatação ou análise XML. |
| 418 | Já existe. Esse código de resposta ocorrerá se você tentar adicionar um nó que já existe. |
| 425 | Permissão negada. O comando solicitado falhou porque o remetente não tem permissões de controle de acesso (ACL) adequadas no destinatário. Erros de "Acesso negado" geralmente são traduzidos para este código de resposta. |
| 500 | Falha no comando. Falha genérica. O destinatário encontrou uma condição inesperada, que o impediu de atender à solicitação. Esse código de resposta ocorre quando a DPU SyncML não pode mapear o código de erro de origem. |
| 507 |
Atomic falhou. Uma das operações em um Atomic bloco falhou. |
| 516 |
Atomic Falha na reversão. Uma Atomic operação falhou e o comando não foi revertido com êxito. |