Registrar e provisionar um dispositivo

Provisionamento é o processo de configurar um dispositivo para ser gerenciado por policies por uma enterprise. Durante o processo, o dispositivo instala o Android Device Policy, que é usado para receber e aplicar policies. Se o provisionamento for concluído, 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 registro e o método de provisionamento que você usa estabelece a propriedade de um dispositivo (pessoal ou da empresa) e o modo de gerenciamento (perfil de trabalho ou dispositivo totalmente gerenciado).

Dispositivos pessoais

Android 5.1 ou mais recente

Dispositivos que pertencem aos funcionários podem ser configurados com um perfil de trabalho. Um perfil de trabalho oferece um espaço independente para apps e dados de trabalho, separado dos apps e dados pessoais. A maioria dos apps, dados e outros policies de gerenciamento se aplicam apenas 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 da empresa 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 tanto profissional quanto para 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 destes métodos de provisionamento:

Dispositivos da empresa somente para uso profissional

Android 5.1 ou mais recente

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

Também é possível bloquear um dispositivo (usando uma política) para um único app ou 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 completo 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 interface durante o provisionamento do dispositivo. Essas políticas são:

Se você quiser que as etapas de senha sejam exibidas junto com a instalação de apps de trabalho e cartões de registro de dispositivos durante o provisionamento, sugerimos atualizar suas políticas para atrasar o início da geração da interface. Mantenha o dispositivo em estado de quarentena, que ocorre quando o dispositivo não tem uma política associada, até que seja especificada a política final 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 a "policy1" aos dispositivos. Após 1.800 segundos (30 minutos), o token expira.

Você precisa de um token para cada dispositivo que quer 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 prazo de validade 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 os usuários finais podem usar para provisionar dispositivos.

Especificar uma política

Também é possível 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 silenciosamente uma nova conta exclusiva sempre que um dispositivo for registrado com o token.

Se você especificar um userAccountIdentifier que não foi ativado em um dispositivo, a API vai criar silenciosamente uma conta para o identificador quando um dispositivo for registrado com o token de inscrição.

Se você especificar um userAccountIdentifier que foi ativado anteriormente em outro dispositivo, a API reutilizará o usuário existente e o ativará em cada dispositivo inscrito com o token de inscrição. Prática recomendada:uma conta não pode ativar 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, 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 tê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 que o Android Device Policy provisione um dispositivo.

Exemplo de pacote de código QR

O pacote inclui o local de 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 diretamente o código QR retornado de enterprises.enrollmentTokens.create ou personalizá-lo. Para 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 digitalizável, use um gerador de código QR, como o ZXing.


Métodos de provisionamento

Esta seção descreve diferentes métodos para provisionar um dispositivo.

Adicionar perfil de trabalho em "Configurações"

Android 5.1 ou mais recente

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 receberá uma solicitação para ler um código QR ou inserir manualmente um token de inscrição para concluir a configuração do perfil de trabalho.

Fazer o download do Android Device Policy

Android 5.1 ou mais recente

Para configurar um perfil de trabalho no dispositivo, o 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 para código QR ou inserir manualmente um token de inscrição para concluir a configuração do perfil de trabalho.

Android 5.1 ou mais recente

Com o token de inscrição retornado de enrollmentTokens.create ou o 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 fornecer esse URL aos administradores de TI, que podem fornecê-lo aos usuários finais. Quando um usuário final abrir o link no dispositivo, ele 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. Com base nas credenciais, é possível calcular a política adequada para o usuário antes de prosseguir com o provisionamento de dispositivos. Exemplo:

  1. Especifique o URL de login em 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, opcional para dispositivos da empresa).

    Adicione o signinEnrollmentToken resultante como provisionamento extra a um código QR, um payload NFC ou configuração sem toque. Como alternativa, forneça o signinEnrollmentToken diretamente 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 (via código QR, conexão NFC etc.) ou solicite que os usuários insiram o token manualmente. O dispositivo abrirá o URL de login especificado na Etapa 1.
    2. Dispositivos pessoais:peça aos usuários para adicionar um perfil de trabalho em "Configurações". Quando solicitado, o usuário digitaliza um código QR contendo a signinEnrollmentToken ou insere o token manualmente. O dispositivo abrirá o URL de login especificado na Etapa 1.
    3. Dispositivos pessoais:forneça aos usuários um link do token de registro, em que o token é o signinEnrollmentToken. O dispositivo abrirá o URL de login especificado na Etapa 1.
  3. O URL de login solicita que os usuários digitem as próprias credenciais. Com base nessa identidade, é possível determinar a política adequada.

  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 pelo redirecionamento do URL, no formato https://enterprise.google.com/android/enroll?et=<token>.

Método de código QR

Android 7.0 ou mais recente

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 (normalmente um administrador de TI) toca na tela seis vezes no mesmo local. Isso aciona o dispositivo para solicitar que o usuário leia um código QR.
  2. O usuário lê o código QR exibido no console de gerenciamento (ou em um aplicativo semelhante) para registrar e provisionar o dispositivo.

Método de NFC

Android 6.0 ou mais recente

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

Uma orientação detalhada sobre como oferecer suporte ao método NFC está disponível na documentação do desenvolvedor da API EMM do Google Play. O site também inclui um exemplo de código dos parâmetros padrão enviados a um dispositivo em uma conexão NFC. Para instalar o Android Device Policy, defina o local de download do pacote de administração do dispositivo como:

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

Método do identificador do DPC

Se o Android Device Policy não puder ser adicionado por código QR ou NFC, o usuário ou administrador de TI pode seguir estas etapas para provisionar um dispositivo da empresa:

  1. Siga as instruções do assistente de configuração em um dispositivo novo ou com a configuração original redefinida.
  2. Digite os detalhes de login do Wi-Fi para conectar o dispositivo à Internet.
  3. Quando solicitado a fazer login, digite afw#setup, que faz o download do Android Device Policy.
  4. Leia um código QR ou insira manualmente um token de inscrição para provisionar o dispositivo.

Registro sem toque

Android 8.0 ou versões mais recentes (Pixel 7.1 ou mais recente)

Os dispositivos comprados de um revendedor autorizado do registro sem toque estão qualificados para o registro sem toque, um método simplificado de pré-configuração de dispositivos para provisionamento automático na primeira inicialização.

As organizações podem criar configurações contendo detalhes de provisionamento para os dispositivos sem toque usando o portal de registro sem toque ou o console de EMM. Consulte a API de 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 usam o portal de registro sem toque, eles precisam selecionar 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 aos dispositivos, estão disponíveis na Central de Ajuda do Android Enterprise.

Se você prefere que os clientes definam e atribuam configurações diretamente no console de EMM, é necessário fazer a integração com a API de cliente sem toque. Ao criar uma configuração, você especifica 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, é possível especificar um app para o Android Device Policy para iniciar durante a configuração do dispositivo ou do perfil de trabalho. Por exemplo, é possível iniciar um app de VPN para que os usuários definam as configurações da VPN como parte do processo de configuração. 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:

Verifique se o installType do app é REQUIRED_FOR_SETUP. Se não for possível instalar ou iniciar o app no dispositivo, o provisionamento vai falhar.

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

Adicione o nome do pacote do app a setupActions. Use title e description para especificar 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 distinguir que um app é iniciado da launchApp, a atividade que é iniciada como parte do app contém o extra de intent booleana com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (definido como true). Esse extra permite que você personalize o app de acordo com se ele foi iniciado de setupActions ou por um usuário.

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

Como cancelar a inscrição durante a configuração

O app iniciado como SetupAction pode cancelar a inscrição retornando RESULT_CANCELED.

O cancelamento do registro redefine um dispositivo da empresa ou exclui o perfil de trabalho em um dispositivo pessoal.

Observação: o cancelamento do registro aciona a ação sem uma caixa de diálogo de confirmação do usuário. É responsabilidade do app mostrar uma caixa de diálogo de erro adequada ao usuário antes de retornar o resultado.

Aplicar uma política aos dispositivos recém-registrados

O método usado para aplicar políticas a dispositivos recém-registrados depende de você e dos requisitos dos seus clientes. Aqui, apresentamos três abordagens diferentes:

  • (Recomendado) Ao criar um token de inscrição, é 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.

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

Registrar um dispositivo sem uma política

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

Se um dispositivo não for 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 em 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 da 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 diminua o número de licenças. Se não houver licenças disponíveis, use devices.patch para desativar o dispositivo. Como alternativa, a API redefine para a configuração original qualquer dispositivo que não esteja anexado a uma política em até cinco minutos após o registro.