Registrar e provisionar um dispositivo

Provisionamento é o processo de configuração de um dispositivo para ser gerenciado usando policies por um enterprise. Durante o processo, um dispositivo instala o Android Device Policy, que é usado para receber e aplicar policies. Se o provisionamento for bem-sucedido, a API criará um objeto devices, vinculando o dispositivo a uma empresa.

A API Android Management usa tokens de registro para acionar o processo de provisionamento. O token de inscrição e o método de provisionamento usados estabelecem a propriedade de um dispositivo (de propriedade pessoal ou da empresa) e o modo de gerenciamento (perfil de trabalho ou dispositivo totalmente gerenciado).

Dispositivos pessoais

Android 5.1 ou superior

Os dispositivos dos funcionários podem ser configurados com um perfil de trabalho. Um perfil de trabalho fornece um espaço independente para apps e dados de trabalho, separados de apps e dados pessoais. A maioria dos apps, dados e outros tipos de gerenciamento policies se aplica somente ao perfil de trabalho, enquanto os apps e dados pessoais do funcionário permanecem particulares.

Para configurar um perfil de trabalho em um dispositivo pessoal, crie um token de registro (verifique se allowPersonalUsage está definido como PERSONAL_USAGE_ALLOWED) e use um dos seguintes métodos de provisionamento:

Dispositivos corporativos para uso pessoal e profissional

Android 8 ou mais recente

A configuração de um dispositivo da empresa com um perfil de trabalho permite que ele seja usado para o trabalho e o uso pessoal. Em dispositivos da empresa com perfis de trabalho:

Para configurar um dispositivo da empresa com um perfil de trabalho, crie um token de registro (verifique se allowPersonalUsage está definido como PERSONAL_USAGE_ALLOWED) e use um dos seguintes métodos de provisionamento:

Dispositivos corporativos só para uso profissional

Android 5.1 ou superior

O gerenciamento completo de dispositivos é adequado para dispositivos da empresa destinados exclusivamente para fins de trabalho. As empresas podem gerenciar todos os apps no dispositivo e pode aplicar todo o espectro de políticas e comandos da API Android Management.

Também é possível bloquear um dispositivo (usando a política) em um único app ou em um pequeno conjunto de apps para atender a uma finalidade ou caso de uso dedicado. Esse subconjunto de dispositivos totalmente gerenciados é chamado de dispositivos dedicados.

Para configurar o gerenciamento total em um dispositivo da empresa, crie um token de registro (verifique se allowPersonalUsage está definido como PERSONAL_USAGE_DISALLOWED) e use um dos seguintes métodos de provisionamento:

As políticas podem afetar a geração da IU durante o provisionamento de dispositivos. Essas políticas são:

Se você quiser que as etapas de senha sejam exibidas com a instalação de apps de trabalho e cartões de registro do dispositivo durante o provisionamento de dispositivos, sugerimos atualizar as políticas para atrasar o início da geração da IU. Para isso, mantenha o dispositivo em um estado de quarentena, o que ocorre quando ele está registrado sem uma política associada, até especificar a política desejada para a configuração do dispositivo preenchida com itens relevantes para as necessidades de configuração. Depois que o provisionamento do dispositivo for concluído, você poderá alterar a política conforme necessário.


Criar um token de inscrição

Visão geral do gerenciamento do Android.
Figura 1. Crie um token que registre e aplique "policy1" aos dispositivos. Após 1.800 segundos (30 minutos), o token expira.

Você precisa de um token de registro para cada dispositivo que quiser registrar. É possível usar o mesmo token para vários dispositivos. Para solicitar um token de inscrição, chame enterprises.enrollmentTokens.create. Por padrão, os tokens de registro expiram após uma hora,mas é possível especificar um tempo de expiração personalizado (duration) de até aproximadamente 10.000 anos.

Uma solicitação bem-sucedida retorna um objeto enrollmentToken contendo um enrollmentTokenId e um qrcode que os administradores de TI e usuários finais podem usar para provisionar dispositivos.

Especificar uma política

Talvez você também queira especificar um policyName na solicitação para aplicar uma política ao mesmo tempo em que um dispositivo é registrado. Se você não especificar um policyName, consulte Registrar um dispositivo sem uma política.

Especificar um usuário

O recurso enrollmentTokens inclui um campo userAccountIdentifier. Se você não especificar um userAccountIdentifier, a API vai criar, de forma silenciosa, uma nova conta exclusiva sempre que um dispositivo estiver registrado com o token.

Se você especificar um userAccountIdentifier que não tenha sido ativado em um dispositivo, a API vai criar, de forma silenciosa, uma conta para o identificador quando um dispositivo for registrado com o token de registro.

Se você especificar um userAccountIdentifier que foi ativado anteriormente em outro dispositivo, a API vai reutilizar o usuário existente e ativá-lo em cada dispositivo registrado com o token de registro. Prática recomendada:uma conta não pode ser ativada em mais de 10 dispositivos.

Especificar o uso pessoal

allowPersonalUsage determina se um perfil de trabalho pode ser adicionado ao dispositivo durante o provisionamento. Defina como PERSONAL_USAGE_ALLOWED para permitir que um usuário crie um perfil de trabalho (obrigatório para dispositivos pessoais e opcional para dispositivos da empresa).


Sobre códigos QR

Os códigos QR funcionam como um método eficiente de provisionamento de dispositivos para empresas que mantêm muitas políticas diferentes. O código QR retornado de enterprises.enrollmentTokens.create é composto por um payload de pares de chave-valor que contêm um token de registro e todas as informações necessárias para o Android Device Policy provisionar um dispositivo.

Exemplo de pacote de código QR

O pacote inclui o local do download do Android Device Policy e um token de registro.

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

É possível usar o código QR retornado diretamente de enterprises.enrollmentTokens.create ou personalizá-lo. Para ver uma lista completa de propriedades que podem ser incluídas em um pacote de código QR, consulte Criar um código QR.

Para converter a string qrcode em um código QR que pode ser lido, use um gerador de código QR, como ZXing.


Métodos de provisionamento

Esta seção descreve diferentes métodos de provisionamento de um dispositivo.

Adicionar o perfil de trabalho em "Configurações"

Android 5.1 ou superior

Para configurar um perfil de trabalho no dispositivo, o usuário pode:

  1. Acesse Configurações > Google > Configurar e restaurar.
  2. Toque em Configurar seu perfil de trabalho.

Estas etapas iniciam um assistente de configuração que faz o download do Android Device Policy no dispositivo. Em seguida, o usuário precisará ler um código QR ou inserir manualmente um token de registro para concluir a configuração do perfil de trabalho.

Fazer o download do Android Device Policy

Android 5.1 ou superior

Para configurar um perfil de trabalho no dispositivo, um usuário pode fazer o download do Android Device Policy na Google Play Store. Depois que o app for instalado, o usuário receberá uma solicitação de código QR ou inserirá manualmente um token de registro para concluir a configuração do perfil de trabalho.

Android 5.1 ou superior

Usando o token de registro retornado de enrollmentTokens.create ou do signinEnrollmentToken da empresa (consulte URL de login abaixo), gere um URL com o seguinte formato:

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

Você pode informar esse URL aos administradores de TI, que podem fazer isso aos usuários finais. Quando um usuário final abrir o link no dispositivo, ele vai ser guiado pela configuração do perfil de trabalho.

URL de login

Com esse método, os usuários recebem um URL que solicita as credenciais deles. Com base nas credenciais, você pode calcular a política apropriada para o usuário antes de continuar com o provisionamento de dispositivos. Exemplo:

  1. Especifique o URL de login no enterprises.signInDetails[]. Defina allowPersonalUsage como PERSONAL_USAGE_ALLOWED se você quiser permitir que um usuário crie um perfil de trabalho (obrigatório para dispositivos pessoais e opcional para dispositivos da empresa).

    Adicione o signinEnrollmentToken resultante como provisionamento extra a um código QR, um payload de NFC ou uma configuração sem toque. Como alternativa, é possível fornecer diretamente o signinEnrollmentToken aos usuários.

  2. Escolha uma opção:

    1. Dispositivos da empresa: depois de ativar um dispositivo novo ou redefinido para a configuração original, transmita o signinEnrollmentToken para o dispositivo (por código QR, bump NFC etc.) ou peça aos usuários para inserir o token manualmente. O dispositivo vai abrir o URL de login especificado na Etapa 1.
    2. Dispositivos pessoais:peça para os usuários adicionarem um perfil de trabalho nas "Configurações". Quando solicitado, o usuário deve ler um código QR com a signinEnrollmentToken ou inserir o token manualmente. O dispositivo abrirá o URL de login especificado na Etapa 1.
    3. Dispositivos pessoais: forneça aos usuários um link de token de inscrição, em que o token é o signinEnrollmentToken. O dispositivo vai abrir o URL de login especificado na Etapa 1.
  3. Seu URL de login solicitará que os usuários insiram as credenciais. Com base na identidade deles, é possível determinar a política apropriada.

  4. Chame enrollmentTokens.create, especificando o policyId apropriado com base nas credenciais do usuário.

  5. Retorne o token de inscrição gerado na etapa 4 via redirecionamento de URL, no formato https://enterprise.google.com/android/enroll?et=<token>.

Método de código QR

Android 7.0 ou posterior

Para provisionar um dispositivo da empresa, gere um código QR e exiba-o no console de EMM:

  1. Em um dispositivo novo ou redefinido para a configuração original, o usuário (geralmente um administrador de TI) toca a tela seis vezes no mesmo ponto. Isso aciona o dispositivo para solicitar que o usuário leia um código QR.
  2. O usuário lê o código QR que você exibe no console de gerenciamento (ou aplicativo semelhante) para registrar e provisionar o dispositivo.

Método NFC

Android 6.0 ou posterior

Esse método exige que você crie um app de programador NFC que contenha o token de inscrição, as políticas iniciais e as configurações de Wi-Fi, configurações e todos os outros detalhes de provisionamento exigidos pelo cliente para provisionar um dispositivo totalmente gerenciado ou dedicado. Quando você ou seu cliente instalam o app programador de NFC em um dispositivo Android, esse dispositivo se torna o programador.

As orientações detalhadas sobre como oferecer compatibilidade com o método NFC estão disponíveis na documentação do desenvolvedor da API Play EMM. O site também inclui uma amostra de código dos parâmetros padrão enviados a um dispositivo em um dispositivo NFC. Para instalar o Android Device Policy, defina o local de download do pacote de administração de dispositivos como:

https://play.google.com/managed/downloadManagingApp?identifier=setup

Método do identificador DPC

Se não for possível adicionar o Android Device Policy por código QR ou NFC, um usuário ou administrador de TI vai poder seguir estas etapas para provisionar um dispositivo da empresa:

  1. Siga o assistente de configuração em um dispositivo novo ou redefinido para a configuração original.
  2. Digite os detalhes de login do Wi-Fi para conectar o dispositivo à Internet.
  3. Quando solicitado, faça login no afw#setup para fazer o download do Android Device Policy.
  4. Leia um código QR ou insira manualmente um token de registro para provisionar o dispositivo.

Registro sem toque

Android 8.0+ (Pixel 7.1+)

Os dispositivos comprados de um revendedor autorizado sem toque estão qualificados para o registro sem toque, um método simplificado para a pré-configuração dos dispositivos para que eles sejam provisionados automaticamente na primeira inicialização.

As organizações podem criar configurações que contenham detalhes de provisionamento para dispositivos sem toque, seja pelo portal de registro sem toque ou usando o console de EMM. Consulte a API do cliente sem toque. Na primeira inicialização, um dispositivo sem toque verifica se uma configuração foi atribuída a ele. Nesse caso, o dispositivo faz o download do Android Device Policy, que conclui a configuração usando os extras de provisionamento especificados na configuração atribuída.

Se os clientes usarem o portal de registro sem toque, eles precisarão selecionar o Android Device Policy como o DPC do EMM para cada configuração criada. Instruções detalhadas sobre como usar o portal, incluindo como criar e atribuir configurações a dispositivos, estão disponíveis na Central de Ajuda do Android Enterprise.

Se você preferir que os clientes definam e atribuam configurações diretamente do console do EMM, será necessário fazer a integração com a API do cliente sem toque. Ao criar uma configuração, você especifica os extras de provisionamento no campo dpcExtras. O snippet JSON abaixo mostra um exemplo básico do que incluir em dpcExtras, com um token de login adicionado.

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

Iniciar um app durante a configuração

configuração
Figura 2. Use setupActions para iniciar um app durante a configuração.

Em policies, você pode especificar um app para o Android Device Policy ser iniciado durante a configuração do dispositivo ou do perfil de trabalho. Por exemplo, você pode iniciar um app de VPN para que os usuários definam configurações de VPN como parte do processo. O app precisa retornar RESULT_OK para sinalizar a conclusão e permitir que o Android Device Policy conclua o provisionamento do dispositivo ou do perfil de trabalho. Para iniciar um app durante a configuração, siga estas etapas:

Verifique se a installType do app é REQUIRED_FOR_SETUP. Se não for possível instalar ou iniciar o app no dispositivo, ocorrerá uma falha no provisionamento.

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

Adicione o nome do pacote do app ao setupActions. Use title e description para especificar as instruções voltadas para o usuário.

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

Para diferenciar a inicialização de um app no launchApp, a atividade que é iniciada como parte do app contém a intent booleana extra com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (definida como true). Esse extra permite personalizar o app com base na inicialização de setupActions ou por um usuário.

Depois que o app retornar RESULT_OK, o Android Device Policy concluirá as etapas restantes necessárias para provisionar o dispositivo ou o perfil de trabalho.

Aplicar uma política aos dispositivos inscritos recentemente

Cabe a você e aos requisitos dos seus clientes definir o método usado para aplicar políticas aos dispositivos recém-registrados. Aqui apresentamos três abordagens diferentes:

  • (Recomendado) Ao criar um token de registro, é possível especificar o nome da política (policyName) que será inicialmente vinculada ao dispositivo. Quando você registra um dispositivo com o token, a política é aplicada automaticamente a ele.

  • Definir uma política como padrão para uma empresa. Se nenhum nome de política for especificado no token de inscrição e houver uma política com o nome enterprises/<enterprise_id>/policies/default, cada novo dispositivo será vinculado automaticamente à política padrão no momento da inscrição.

  • Inscreva-se em um tópico do Cloud Pub/Sub para receber notificações sobre dispositivos recém-registrados. Em resposta a uma notificação de ENROLLMENT, chame enterprises.devices.patch para vincular o dispositivo a uma política.

Registrar um dispositivo sem uma política

Se um dispositivo estiver registrado sem uma política válida, ele será colocado em quarentena. Os dispositivos em quarentena ficam bloqueados em todas as funções do dispositivo até que ele seja vinculado a uma política.

Se um dispositivo não estiver vinculado a uma política em cinco minutos, o registro do dispositivo falhará e ele será redefinido para a configuração original. O estado do dispositivo de quarentena oferece a oportunidade de implementar verificações de licenciamento ou outros processos de validação de registro como parte da solução.

Exemplo de fluxo de trabalho de verificação de licenciamento

  1. Um dispositivo é registrado sem uma política padrão ou específica.
  2. Verifique quantas licenças a empresa ainda tem.
  3. Se houver licenças disponíveis, use devices.patch para anexar uma política ao dispositivo e, em seguida, diminuir a contagem de licenças. Se não houver licenças disponíveis, use devices.patch para desativar o dispositivo. Como alternativa, a fábrica de APIs redefine qualquer dispositivo que não esteja anexado a uma política até cinco minutos após a inscrição.