O provisionamento é o processo de configuração de um dispositivo para ser gerenciado usando
policies por um enterprise. Durante o processo, o dispositivo instala o
Android Device Policy, que é usado para receber e aplicar policies. Se o
provisionamento for bem-sucedido, a API vai 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 usados estabelecem a propriedade de um dispositivo (pessoal ou corporativo) e o modo de gerenciamento (perfil de trabalho ou dispositivo totalmente gerenciado).
Um sistema de cotas controla quantos dispositivos cada projeto pode gerenciar. É necessário solicitar a cota inicial de dispositivos antes de provisionar o primeiro dispositivo.
Dispositivos pessoais
Android 5.1 ou mais recente
Os dispositivos de funcionários podem ser configurados com um perfil de trabalho. Um perfil de trabalho oferece um espaço independente para apps de trabalho e dados, separado de apps pessoais e dados. A maioria das policies de gerenciamento de apps, dados e outros se aplica 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:
- Adicionar um perfil de trabalho em "Configurações"
- Baixar o Android Device Policy
- Link do token de registro
- URL de login
Dispositivos da empresa para uso profissional e pessoal
Android 8 ou mais recente
A configuração de um dispositivo da empresa com um perfil de trabalho permite que ele seja usado para fins profissionais e pessoais. Em dispositivos corporativos com perfis de trabalho:
- A maioria dos
policiesde gerenciamento de apps, dados e outros se aplica apenas ao perfil de trabalho. - O perfil pessoal do funcionário permanece privado. No entanto, as empresas podem aplicar determinadas políticas para todo o dispositivo e políticas de uso pessoal.
- As empresas podem usar o
blockScopepara aplicar ações de compliance em um dispositivo inteiro ou apenas no perfil de trabalho. - Os comandos
devices.deletee de dispositivo se aplicam a um dispositivo inteiro.
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 da empresa apenas para uso profissional
Android 5.1 ou mais recente
O gerenciamento total de dispositivos é adequado para dispositivos da empresa destinados exclusivamente a fins profissionais. 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 (por 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. Os tokens de registro desses dispositivos precisam ter allowPersonalUsage definido como PERSONAL_USAGE_DISALLOWED_USERLESS.
Para configurar o gerenciamento total em um dispositivo da empresa, crie um token de registro,
garantindo que allowPersonalUsage esteja definido como PERSONAL_USAGE_DISALLOWED ou
PERSONAL_USAGE_DISALLOWED_USERLESS, e use um dos seguintes
métodos de provisionamento.
- Registro sem toque
- QR code
- URL de login (não adequado para dispositivos dedicados)
- NFC
- Identificador do DPC
As políticas podem afetar a geração da interface durante o provisionamento do dispositivo. Essas políticas são:
PasswordPolicyScope: determina os requisitos de senha.PermittedInputMethods: determina os métodos de entrada do pacote.PermittedAccessibilityServices: determina quais serviços de acessibilidade são permitidos para dispositivos totalmente gerenciados e perfis de trabalho.SetupActions: determina quais ações são executadas durante a configuração.ApplicationsPolicy: determina a política de um app individual.
Se você quiser que as etapas de senha sejam mostradas junto com a instalação de apps de trabalho e os cards de registro do dispositivo durante o provisionamento de dispositivo, sugerimos atualizar suas políticas para atrasar o início da geração da interface, mantendo o dispositivo em um estado de quarentena, que ocorre se ele for registrado sem uma política associada, até especificar a política final selecionada para a configuração do dispositivo preenchida com itens relevantes para suas necessidades de configuração. Depois que o provisionamento do dispositivo for concluído, você poderá mudar a política conforme necessário.
Criar um token de registro
Você precisa de um token de registro para cada dispositivo que quer registrar. É possível
usar o mesmo token para vários dispositivos. Para solicitar um token de registro, chame
enterprises.enrollmentTokens.create. Os tokens de registro expiram após uma
hora por padrão, 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 que contém um
enrollmentTokenId e um qrcode que os admins 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 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).
Isenção para tokens de registro atuais
Alguns clientes usam tokens de registro com datas de validade longas para realizar registros repetidos. Para garantir que esses fluxos de trabalho não sejam interrompidos, todos os tokens criados ANTES que o requisito "Autenticar usando o Google" fosse ativado pela primeira vez estão isentos das novas solicitações de login. Esses tokens mais antigos vão continuar funcionando como antes, permitindo que os usuários registrem dispositivos sem passar pelo processo de autenticação do Google.
No entanto, todos os tokens criados DEPOIS que o requisito de autenticação do Google foi
ativado pela primeira vez seguem as novas regras de autenticação. Isso
significa que os dispositivos que usam esses tokens mais recentes exigem que os usuários se autentiquem
de acordo com as configurações escolhidas pelo admin de TI. Para dispositivos dedicados que
não devem armazenar dados do usuário, verifique se allowPersonalUsage está definido como
PERSONAL_USAGE_DISALLOWED_USERLESS para evitar que a tela de autenticação
seja exibida.
Aplicar a autenticação do Google na inscrição
Os EMMs podem exigir o login na Conta do Google durante o registro do dispositivo definindo os
valores apropriados no token de registro ou de login. Essa configuração
determina se o botão "Pular" fica oculto na tela de login do Google.
Quando definidas, essas opções substituem a política googleAuthenticationSettings
da empresa.
Opções de configuração
É possível controlar o comportamento de autenticação usando o objeto googleAuthenticationOptions
em um EnrollmentToken ou SigninDetail.
| Campo | Descrição | Valores |
authenticationRequirement |
Especifica se o usuário precisa se autenticar com o Google durante o registro. | AUTHENTICATION_REQUIREMENT_UNSPECIFIED:: volta para as configurações padrão da empresa.
OPCIONAL: o usuário vê a tela de login do Google, mas pode pular essa etapa. OBRIGATÓRIO: o usuário não pode pular o login. O botão "Pular" fica oculto. |
requiredAccountEmail |
O e-mail específico da Conta do Google gerenciada que o usuário precisa usar.
Observação: authenticationRequirement PRECISA ser definido como
REQUIRED se esse campo for usado. |
String (por exemplo, "user@enterprise.com") |
Exemplos de payload JSON
Desativar o botão de pular
Para ocultar o botão "Pular" e forçar o usuário a fazer login com qualquer conta corporativa válida, defina o requisito de autenticação como REQUIRED.
{
...
"googleAuthenticationOptions": {
"authenticationRequirement": "REQUIRED"
}
}
Exigir um e-mail de conta específico
Para forçar o usuário a fazer login com uma conta designada, defina a string requiredAccountEmail. A solicitação de criação de token vai falhar com um erro INVALID_ARGUMENT se o campo de requisito não estiver definido como REQUIRED.
{
...
"googleAuthenticationOptions": {
"authenticationRequirement": "REQUIRED",
"requiredAccountEmail": "user@enterprise.com"
}
}
Sobre QR codes
Os QR codes funcionam como um método eficiente de provisionamento de dispositivos para empresas que
mantêm muitas políticas diferentes. O QR code 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 a política do dispositivo Android
provisione um dispositivo.
Exemplo de pacote de QR code
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}"
}
}
Você pode usar o QR code retornado de enterprises.enrollmentTokens.create
diretamente ou personalizá-lo. Para ver uma lista completa de propriedades que podem ser incluídas em
um pacote de QR code, consulte Criar um QR code.
Para converter a string qrcode em um QR code que pode ser lido, use um gerador de QR code, como o ZXing.
Métodos de provisionamento
Nesta seção, descrevemos 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:
- Acesse Configurações > Google > Configurar e restaurar.
- Toque em Configurar seu perfil de trabalho.
Essas etapas iniciam um assistente de configuração que faz o download do Android Device Policy no dispositivo. Em seguida, o usuário vai precisar ler um QR code ou inserir manualmente um token de registro para concluir a configuração do perfil de trabalho.
Baixar o Android Device Policy
Android 5.1 ou mais recente
Para configurar um perfil de trabalho no dispositivo Android, o usuário pode fazer o download do Android Device Policy na Google Play Store. Depois que o app for instalado, o usuário vai precisar ler um QR code ou inserir manualmente um token de registro para concluir a configuração do perfil de trabalho.
Link do token de registro
Android 5.1+
Usando o token de registro retornado de enrollmentTokens.create ou o
signinEnrollmentToken da empresa,
gere um URL com o seguinte formato:
https://enterprise.google.com/android/enroll?et=<enrollmentToken>
Você pode fornecer esse URL aos admins de TI, que podem disponibilizá-lo para os usuários finais. Quando um usuário final abre o link no dispositivo, ele é guiado pela configuração do perfil de trabalho.
URL de login
Com esse método, os usuários são direcionados para uma página em que inserem as informações adicionais necessárias para concluir o provisionamento. Com base nas informações inseridas pelo usuário, é possível calcular a política apropriada para ele antes de prosseguir com o provisionamento do dispositivo. Exemplo:
Especifique o URL de login em
enterprises.signInDetails[]. DefinaallowPersonalUsagecomoPERSONAL_USAGE_ALLOWEDse quiser permitir que um usuário crie um perfil de trabalho (obrigatório para dispositivos pessoais, opcional para dispositivos corporativos).Adicione o
signinEnrollmentTokenresultante como extra de provisionamento a um QR code, payload de NFC ou configuração sem toque. Como alternativa, você pode fornecer osigninEnrollmentTokendiretamente aos usuários.Escolha uma opção:
- Dispositivos da empresa: depois de ligar um dispositivo novo ou redefinido para a configuração original,
transmita o
signinEnrollmentTokenpara o dispositivo (por QR code, conexão NFC etc.) ou peça para os usuários inserirem o token manualmente. O dispositivo vai abrir o URL de login especificado na Etapa 1. - Dispositivos pessoais: peça para os usuários adicionarem um perfil de trabalho em
"Configurações". Quando solicitado, o usuário
faz a leitura de um QR code que contém o
signinEnrollmentTokenou insere o token manualmente. O dispositivo vai abrir o URL de login especificado na Etapa 1. - Dispositivos pessoais: forneça aos usuários um link do token de registro, em que o token de registro é o
signinEnrollmentToken. O dispositivo vai abrir o URL de login especificado na Etapa 1.
- Dispositivos da empresa: depois de ligar um dispositivo novo ou redefinido para a configuração original,
transmita o
Verifique se o Google já autenticou o usuário. Receba as informações de provisionamento do dispositivo (durante o registro do dispositivo) usando o parâmetro GET
provisioningInfoe verifique se há um valor para o campoauthenticatedUserEmail. Se houver um valor nesse campo, o usuário já foi autenticado pelo Google, e você pode usar essa identidade sem precisar de outra autenticação.Se o Google ainda não tiver autenticado o usuário, o URL de login precisará solicitar que os usuários insiram as credenciais. Com base na identidade, é possível determinar a política adequada e receber as informações de provisionamento de dispositivo (durante o registro do dispositivo) usando o parâmetro GET
provisioningInfo.Chame
enrollmentTokens.create, especificando opolicyIdadequado com base nas credenciais do usuário.Retorne o token de registro gerado na Etapa 5 usando o redirecionamento de URL, no formato
https://enterprise.google.com/android/enroll?et=<token>.
Aplicar a autenticação do Google com o fluxo de URL de login
Ao usar SigninDetail para fluxos de login de terceiros (com
enterprises.create ou enterprises.patch), é possível transmitir
googleAuthenticationOptions. Isso aplica regras antes que o usuário seja redirecionado
para o URL de login de terceiros.
Quando um EnrollmentToken é criado no final de um fluxo de URL de login, os
requisitos de autenticação dele interagem com o SigninDetail inicial:
- Se o usuário pulou o login do Google porque ele não era exigido pelo
SigninDetail, mas oEnrollmentTokenresultante tem o requisito definido como REQUIRED, o usuário vai receber um erro e precisará fazer login. - Se
requiredAccountEmailestiver definido no token e o usuário tiver feito login com um endereço diferente pertencente à empresa, ele vai receber um erro "Conta incorreta" e precisará fazer login novamente com o e-mail correto.
Método de QR code
Android 7.0 ou mais recente
Para provisionar um dispositivo da empresa, gere um QR code e mostre-o no console de EMM:
- 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 lugar. Dessa forma, o dispositivo vai acionar a leitura de QR code.
- O usuário lê o QR code que você mostra no console de gerenciamento (ou aplicativo semelhante) para registrar e provisionar o dispositivo.
Método NFC
Android 6.0 ou mais recente
Esse método exige que você crie um app de programação NFC que contenha o token de registro, as políticas iniciais e a configuração de Wi-Fi, as configurações e todos os outros detalhes de provisionamento necessários para que o cliente provisione um dispositivo totalmente gerenciado ou dedicado. Quando você ou seu cliente instala o app programador de NFC em um dispositivo Android, ele se torna o dispositivo programador.
Orientações detalhadas sobre como oferecer suporte ao método NFC estão disponíveis na documentação para desenvolvedores da API Play EMM. O site também inclui um exemplo de código dos parâmetros padrão enviados para 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 de identificador de DPC
Se não for possível adicionar a política do dispositivo Android usando o QR code ou a NFC, um usuário ou admin de TI pode seguir estas etapas para provisionar um dispositivo da empresa:
- Siga o assistente de configuração em um dispositivo novo ou redefinido para as configurações originais.
- Insira os detalhes de login do Wi-Fi para conectar o dispositivo à Internet.
- Quando for solicitado que você faça login, digite afw#setup, que faz o download da política do dispositivo Android.
- Leia um QR code ou insira manualmente um token de registro para provisionar o dispositivo.
Registro sem toque
Android 8.0 ou mais recente (Pixel 7.1 ou mais recente)
Os dispositivos comprados de um revendedor autorizado de registro sem toque estão qualificados para o registro sem toque, um método simplificado para pré-configurar dispositivos para provisionamento automático na primeira inicialização.
As organizações podem criar configurações com detalhes de provisionamento para os dispositivos sem toque, seja pelo portal de registro sem toque ou usando o console de EMM (consulte a API de registro sem toque para clientes). 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 do dispositivo usando os extras de provisionamento especificados na política do dispositivo atribuída.
Se os clientes usarem o portal de registro sem toque, eles precisarão 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 a dispositivos, estão disponíveis na Central de Ajuda do Android Enterprise.
Se você preferir que seus clientes definam e atribuam configurações diretamente do seu console de EMM, faça a integração com a API de registro sem toque para clientes. Ao
criar uma configuração, especifique os extras de provisionamento no
campo dpcExtras. O snippet JSON a seguir 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
setupActions para iniciar um app
durante a configuração.Em policies, é possível especificar um app para a política do dispositivo Android 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 possam definir as configurações de 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 o app não puder ser
instalado ou iniciado 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 ao 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 foi iniciado no launchApp, a atividade que é
iniciada primeiro como parte do app contém o intent extra booleano
com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (definido como
true). Esse extra permite personalizar o app com base no fato de ele ter sido iniciado
no setupActions ou por um usuário.
Depois que o app retornar RESULT_OK, o Android Device Policy vai concluir as etapas restantes
necessárias para provisionar o dispositivo ou o perfil de trabalho.
Cancelar inscrição durante a configuração
O app iniciado como SetupAction pode cancelar o registro retornando
RESULT_FIRST_USER.
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 RESULT_FIRST_USER.
Aplicar uma política a 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. Confira as diferentes abordagens que você pode usar:
(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.Defina uma política como padrão para uma empresa. Se nenhum nome de política for especificado no token de registro 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 do registro.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
ENROLLMENT, chameenterprises.devices.patchpara 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 em quarentena. Os dispositivos em quarentena são bloqueados de todas as funções até que sejam vinculados a uma política.
Se um dispositivo não for vinculado a uma política em cinco minutos, o registro vai falhar e o dispositivo será redefinido de fábrica. O estado de quarentena do dispositivo permite implementar verificações de licenciamento ou outros processos de validação de registro como parte da sua solução.
Exemplo de fluxo de trabalho de verificação de licenciamento
- Um dispositivo é registrado sem uma política padrão ou específica.
- Verifique quantas licenças a empresa ainda tem.
- Se houver licenças disponíveis, use
devices.patchpara anexar uma política ao dispositivo e, em seguida, diminuir a contagem de licenças. Se não houver licenças disponíveis, usedevices.patchpara 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.