Provisionamento para gerenciamento de dispositivos

Os administradores de TI podem implantar dispositivos para usuários corporativos usando serviços de nuvem, código QR ou provisionamento de Near Field Communication (NFC). Para começar, baixe o APK NfcProvisioning e o APK Android-DeviceOwner . Para obter uma lista completa de requisitos, consulte Implementando o Gerenciamento de Dispositivos .

Atualizações do Android 12

  • ACTION_PROVISION_MANAGED_DEVICE está obsoleto.

  • ACTION_PROVISION_MANAGED_PROFILE tem suporte apenas para provisionamento de perfil de trabalho DPC-first, no qual os usuários finais podem provisionar um perfil de trabalho após baixar o DPC.

  • Os desenvolvedores de DPC que desejam oferecer suporte a código QR ou outros métodos de provisionamento devem implementar manipuladores para as ações de DevicePolicyManager#ACTION_GET_PROVISIONING_MODE e DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE . Se o DPC não implementar esses manipuladores, o provisionamento falhará.

  • O manipulador DPC ACTION_GET_PROVISIONING_MODE inclui um novo EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES extra. O DPC deve definir o extra EXTRA_PROVISIONING_MODE para sua intenção resultante com um valor que pertença a essa lista. Se o DPC retornar um valor que não está 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 término 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 final do assistente de configuração podem remover essa categoria, pois isso agora é feito por padrão.

Provisionamento gerenciado

O provisionamento gerenciado é um fluxo de interface do usuário da estrutura que garante que os usuários sejam informados adequadamente sobre as implicações da configuração de um proprietário de dispositivo ou perfil gerenciado. Os dispositivos que habilitam 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 executa as seguintes atividades:

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

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

  • Adiciona contas de usuário.
  • Impõe a conformidade do dispositivo.
  • Habilita quaisquer aplicativos de sistema adicionais.

Durante o provisionamento gerenciado, a estrutura copia o aplicativo EMM no perfil gerenciado. Após a conclusão do provisionamento, o gerenciador de intent ADMIN_POLICY_COMPLIANCE do aplicativo EMM é 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). O EMM adiciona contas e impõe políticas, após o que 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 habilitar o provisionamento do proprietário do perfil, você deve enviar um intent com os extras apropriados. Por exemplo, instale o aplicativo TestDPC ( baixe do Google Play ou crie do GitHub ) no dispositivo, inicie o aplicativo a partir do inicializador e siga as instruções do aplicativo. O provisionamento é concluído quando os ícones com emblemas aparecem na gaveta do inicializador.

O aplicativo EMM DPC aciona a criação do perfil gerenciado enviando uma intenção com a ação DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE . O comando a seguir é um intent de amostra que aciona a criação do perfil gerenciado e define o DeviceAdminSample como o 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

Você pode usar NFC ou serviços de nuvem para configurar o provisionamento do proprietário do dispositivo (DO) durante o processo de configuração pronto para uso de um dispositivo.

Ao usar NFC, você provisiona dispositivos no modo DO usando NFC bump durante a etapa de configuração inicial do dispositivo. Esse método requer mais inicialização, mas é de baixo toque e lida com a configuração de Wi-Fi, instalação do DPC e configuraçã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 devem ter NFC configurado para aceitar o tipo mime de provisionamento gerenciado da experiência de configuração. Para configurar, certifique-se de que /packages/apps/Nfc/res/values/provisioning.xml contenha as seguintes linhas:

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

Provisionamento usando serviços em nuvem

Você pode provisionar dispositivos com um proprietário de dispositivo ou proprietário de 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 aplicativo de gerenciamento de mobilidade empresarial (EMM) pode ajudar realizando as seguintes tarefas:

  • Perfil gerenciado de provisionamento.
  • Aplicando políticas de segurança.
    • Defina a complexidade da senha.
    • Bloqueios: desative capturas de tela, compartilhamento de perfil gerenciado etc.
  • Configurando a conectividade corporativa.
    • Use WifiEnterpriseConfig para configurar o Wi-Fi corporativo.
    • Configure a VPN no dispositivo.
    • Use DPM.setApplicationRestrictions() para configurar a VPN corporativa.
  • Habilitando o logon único (SSO) do aplicativo corporativo.
    • Instale os aplicativos corporativos desejados.
    • Use DPM.installKeyPair() para instalar silenciosamente os certificados do cliente corporativo.
    • Use DPM.setApplicationRestrictions() para configurar nomes de host, alias de certificados de aplicativos corporativos.

O provisionamento gerenciado é apenas uma parte do fluxo de trabalho de ponta a ponta do EMM, com o objetivo final de tornar os dados corporativos acessíveis aos aplicativos no perfil gerenciado ou no dispositivo gerenciado. Para orientação de teste, consulte Configurando o teste do dispositivo .