Provisionamento para o gerenciamento de dispositivos

Os administradores de TI podem implantar dispositivos para usuários corporativos usando serviços em nuvem, código QR ou provisionamento de comunicação a curta distância (NFC). Para começar, faça o download do APK NfcProvisioning e do APK Android-DeviceOwner. Para uma lista completa de requisitos, consulte Implementar o gerenciamento de dispositivos.

Atualizações do Android 12

  • O uso de ACTION_PROVISION_MANAGED_DEVICE foi descontinuado.

  • ACTION_PROVISION_MANAGED_PROFILE é compatível apenas com o provisionamento de perfis de trabalho que priorizam o DPC, em que os usuários finais podem provisionar um perfil de trabalho depois de fazer o download do DPC.

  • Os desenvolvedores de DPC que querem oferecer suporte a QR code ou outros métodos de provisionamento precisam implementar gerenciadores para as ações da intent DevicePolicyManager#ACTION_GET_PROVISIONING_MODE e DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE. Se o DPC não implementar esses gerenciadores, o provisionamento falhará.

  • O gerenciador ACTION_GET_PROVISIONING_MODE do DPC inclui um novo extra EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES. O DPC precisa definir o extra EXTRA_PROVISIONING_MODE para a intent resultante com um valor que pertença a essa lista. Se o DPC retornar um valor que não esteja nessa lista, o provisionamento falhará.

  • Para aumentar ainda mais a estabilidade, a facilidade de manutenção e a simplicidade dos fluxos que ocorrem durante o assistente de configuração, a configuração do DPC não pode ser iniciada após o fim do assistente. Os DPCs que usam a categoria android.intent.category.PROVISIONING_FINALIZATION com a ação da intent ADMIN_POLICY_COMPLIANCE para solicitar explicitamente a configuração antes do fim do assistente de configuração podem remover essa categoria, já que isso é feito por padrão.

Provisionamento gerenciado

O provisionamento gerenciado é um fluxo de interface do framework que garante que os usuários sejam adequadamente informados sobre as implicações de configurar um proprietário do dispositivo ou um perfil gerenciado. Os dispositivos que ativam a criptografia padrão oferecem um fluxo de provisionamento de gerenciamento de dispositivos consideravelmente mais simples e rápido.

Durante o provisionamento gerenciado, o componente executa as seguintes atividades:

  • Criptografa o dispositivo.
  • Cria o perfil gerenciado.
  • Desativa apps não obrigatórios.
  • Define o app de gerenciamento de mobilidade empresarial (EMM) como proprietário do perfil ou do dispositivo.

Em seguida, o app de gerenciamento de mobilidade empresarial (EMM) realiza as seguintes atividades:

  • Adiciona contas de usuário.
  • Aplica a conformidade do dispositivo.
  • Ativa outros apps do sistema.

Durante o provisionamento gerenciado, o framework copia o app EMM para o perfil gerenciado. Depois que o provisionamento é concluído, o gerenciador de intents ADMIN_POLICY_COMPLIANCE do app EMM é chamado no usuário do perfil de trabalho (para provisionamento de perfil de trabalho) ou no usuário proprietário do dispositivo (para provisionamento de proprietário do dispositivo). O EMM adiciona contas e aplica políticas, depois chama setProfileEnabled() para tornar os ícones do iniciador visíveis.

Provisionamento do proprietário do perfil

O provisionamento do proprietário do perfil permite que o usuário tenha um perfil de trabalho (gerenciado) e um perfil pessoal em um dispositivo. Para ativar o provisionamento do proprietário do perfil, envie uma intent com os extras apropriados. Por exemplo, instale o app TestDPC (faça o download no Google Play ou faça a build no GitHub) no dispositivo, inicie o app pelo iniciador e siga as instruções dele. O provisionamento é concluído quando os ícones com selo aparecem na gaveta do inicializador.

O app de DPC do EMM aciona a criação do perfil gerenciado enviando uma intent com a ação DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE. O comando a seguir é uma intent de exemplo que aciona a criação do perfil gerenciado e define o DeviceAdminSample como proprietário do perfil:

adb shell am start \
  -a android.app.action.PROVISION_MANAGED_PROFILE \
  -c android.intent.category.DEFAULT \
  -e wifiSsid $(printf '%q' \"WifiSSID\") \
  -e deviceAdminPackage "com.google.android.deviceadminsample" \
  -e android.app.extra.deviceAdminPackageName $(printf '%q'.DeviceAdminSample\$DeviceAdminSampleReceiver) \
  -e android.app.extra.DEFAULT_MANAGED_PROFILE_NAME "My Organisation"

Provisionamento do proprietário do dispositivo com NFC

É possível usar NFC ou serviços em nuvem para configurar o provisionamento de proprietário do dispositivo (DO, na sigla em inglês) durante o processo de configuração inicial de um dispositivo.

Ao usar o NFC, você provisiona dispositivos no modo DO usando o NFC bump durante a etapa inicial de configuração do dispositivo. Esse método exige mais inicialização, mas é de baixa manutenção e processa a configuração do Wi-Fi, a instalação do DPC e a definição do DPC como proprietário do dispositivo.

Um pacote NFC típico inclui o seguinte:

EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LOCATION
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
EXTRA_PROVISIONING_WIFI_SSID
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE

Os dispositivos precisam ter NFC configurado para aceitar o mimetype de provisionamento gerenciado na experiência de configuração. Para configurar, verifique se /packages/apps/Nfc/res/values/provisioning.xml contém as seguintes linhas:

<bool name="enable\_nfc\_provisioning">true</bool>
<item>application/com.android.managedprovisioning</item>

Provisionar usando serviços de nuvem

É possível provisionar dispositivos com um proprietário do dispositivo ou um proprietário do perfil (perfil de trabalho) usando serviços de nuvem. O dispositivo coleta e usa credenciais (ou tokens) para realizar uma pesquisa em um serviço de nuvem, que pode ser usado para iniciar o processo de provisionamento.

Benefícios do gerenciamento de mobilidade empresarial

Um app de gerenciamento de mobilidade empresarial (EMM) pode ajudar realizando as seguintes tarefas:

  • Provisionamento de perfil gerenciado.
  • Aplicação de políticas de segurança.
    • Definir a complexidade da senha.
    • Bloqueios, como a desativação de capturas de tela, compartilhados pelo perfil gerenciado
  • Como configurar a conectividade empresarial.
    • Usar o WifiEnterpriseConfig para configurar o Wi-Fi corporativo.
    • Configure a VPN no dispositivo.
    • Usar DPM.setApplicationRestrictions() para configurar a VPN corporativa.
  • Ativar o Logon único (SSO) do app corporativo.
    • Instalar apps corporativos selecionados.
    • Use DPM.installKeyPair() para instalar silenciosamente certificados de cliente corporativos.
    • Use DPM.setApplicationRestrictions() para configurar nomes de host e alias de certificado de apps corporativos.

O provisionamento gerenciado é apenas uma parte do fluxo de trabalho completo do EMM, com o objetivo final de tornar os dados corporativos acessíveis aos apps no perfil gerenciado ou dispositivo gerenciado. Para orientações sobre testes, consulte Como configurar testes do dispositivo.