Provisionamento para o gerenciamento de dispositivos

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

Atualizações do Android 12

  • O uso de ACTION_PROVISION_MANAGED_DEVICE foi descontinuado.

  • O ACTION_PROVISION_MANAGED_PROFILE é compatível apenas com o provisionamento do perfil de trabalho prioritário da DPC, em que os usuários finais podem provisionar um perfil de trabalho após fazer o download da DPC.

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

  • O manipulador 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 pertence a essa lista. Se a DPC retornar um valor que não está nessa lista, o provisionamento vai falhar.

  • Para aumentar ainda mais a estabilidade, a capacidade de manutenção e a simplicidade dos fluxos que acontecem durante o assistente de configuração, a configuração da DPC não pode ser iniciada após o fim do assistente de configuração. Os DPCs que usam a categoria android.intent.category.PROVISIONING_FINALIZATION com a ação de 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 agora é feito por padrão.

Provisionamento gerenciado

O provisionamento gerenciado é um fluxo de interface do usuário do framework que garante que os usuários sejam adequadamente informados sobre as implicações de definir 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 de provisionamento gerenciado realiza 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.

Por sua vez, o app de gerenciamento de mobilidade empresarial (EMM) realiza as seguintes atividades:

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

Durante o provisionamento gerenciado, o framework copia o app de EMM para o perfil gerenciado. Depois que o provisionamento for concluído, o manipulador de intent ADMIN_POLICY_COMPLIANCE do app de EMM será chamado no usuário do perfil de trabalho (para provisionamento do perfil de trabalho) ou no usuário proprietário do dispositivo (para provisionamento do proprietário do dispositivo). Em seguida, o EMM adiciona contas e aplica políticas. Depois disso, ele 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 (perfil gerenciado) e um perfil pessoal em um dispositivo. Para ativar o provisionamento do proprietário do perfil, é necessário enviar uma intent com extras adequados. Por exemplo, instale o app TestDPC (faça o download no Google Play ou crie no GitHub) no dispositivo, inicie o app no iniciador e siga as instruções. O provisionamento será concluído quando os ícones com selo aparecerem na gaveta do iniciador.

O app DPC da EMM aciona a criação do perfil gerenciado enviando uma intent com a ação DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE. O comando a seguir é um exemplo de intent 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 de proprietário do dispositivo com NFC

É possível usar NFC ou serviços na 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 toque NFC durante a etapa inicial de configuração do dispositivo. Esse método exige mais bootstrapping, mas é de baixo contato e lida com 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 o NFC configurado para aceitar o mimetype de provisionamento gerenciado da 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:

  • Provisionando perfil gerenciado.
  • Aplicando políticas de segurança.
    • Defina a complexidade da senha.
    • Bloqueios, como desativar capturas de tela, compartilhados de um perfil gerenciado
  • Como configurar a conectividade empresarial.
    • Use WifiEnterpriseConfig para configurar o Wi-Fi corporativo.
    • Configure a VPN no dispositivo.
    • Use DPM.setApplicationRestrictions() para configurar a VPN corporativa.
  • Ativar o Logon único (SSO) para apps corporativos.
    • Instale os apps corporativos selecionados.
    • Use DPM.installKeyPair() para instalar certificados de cliente corporativos de forma silenciosa.
    • Use DPM.setApplicationRestrictions() para configurar nomes de host, aliases 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 ou dispositivo gerenciado. Para orientações sobre testes, consulte Configurar o teste de dispositivos.