Aprovisionamiento para la administración de dispositivos

Los administradores de TI pueden implementar dispositivos para los usuarios corporativos con servicios en la nube, códigos QR o aprovisionamiento de comunicación de campo cercano (NFC). Para comenzar, descarga el APK de NfcProvisioning y el APK de Android-DeviceOwner. Para obtener una lista completa de los requisitos, consulta Implementación de la administración de dispositivos.

Actualizaciones de Android 12

  • ACTION_PROVISION_MANAGED_DEVICE ya no está disponible.

  • ACTION_PROVISION_MANAGED_PROFILE solo se admite para el aprovisionamiento de perfiles de trabajo que priorizan el DPC, en el que los usuarios finales pueden aprovisionar un perfil de trabajo después de descargar el DPC.

  • Los desarrolladores de DPC que deseen admitir códigos QR o cualquier otro método de aprovisionamiento deben implementar controladores para las acciones de intents DevicePolicyManager#ACTION_GET_PROVISIONING_MODE y DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE. Si el DPC no implementa estos controladores, la aprovisionamiento fallará.

  • El controlador ACTION_GET_PROVISIONING_MODE del DPC incluye un nuevo elemento adicional EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES. El DPC debe establecer el parámetro adicional EXTRA_PROVISIONING_MODE en el intent resultante con un valor que pertenezca a esa lista. Si el DPC devuelve un valor que no está en esa lista, falla el aprovisionamiento.

  • Para aumentar aún más la estabilidad, la capacidad de mantenimiento y la simplicidad de los flujos que se producen durante el asistente de configuración, la configuración del DPC no se puede iniciar después del final del asistente de configuración. Los DPC que usan la categoría android.intent.category.PROVISIONING_FINALIZATION con la acción de intent ADMIN_POLICY_COMPLIANCE para solicitar explícitamente la configuración antes del final del asistente de configuración pueden quitar esa categoría, ya que ahora se realiza de forma predeterminada.

Aprovisionamiento administrado

El aprovisionamiento administrado es un flujo de IU del framework que garantiza que los usuarios estén adecuadamente informados sobre las implicaciones de establecer un propietario del dispositivo o un perfil administrado. Los dispositivos que habilitan la encriptación predeterminada ofrecen un flujo de aprovisionamiento de administración de dispositivos considerablemente más simple y rápido.

Durante el aprovisionamiento administrado, el componente de aprovisionamiento administrado realiza las siguientes actividades:

  • Encripta el dispositivo.
  • Crea el perfil administrado.
  • Inhabilita las apps no obligatorias.
  • Establece la app de administración de movilidad empresarial (EMM) como propietario del perfil o del dispositivo.

A su vez, la app de administración de movilidad empresarial (EMM) realiza las siguientes actividades:

  • Agrega cuentas de usuario.
  • Aplica el cumplimiento del dispositivo.
  • Habilita las apps del sistema adicionales.

Durante el aprovisionamiento administrado, el framework copia la app de EMM en el perfil administrado. Una vez que se completa el aprovisionamiento, se llama al controlador de intents ADMIN_POLICY_COMPLIANCE de la app de EMM en el usuario del perfil de trabajo (para el aprovisionamiento del perfil de trabajo) o en el usuario propietario del dispositivo (para el aprovisionamiento del propietario del dispositivo). Luego, el EMM agrega cuentas y aplica políticas, después de lo cual llama a setProfileEnabled() para que los íconos del selector sean visibles.

Aprovisionamiento del propietario del perfil

El aprovisionamiento del propietario del perfil permite que el usuario tenga un perfil de trabajo (perfil administrado) y un perfil personal en un dispositivo. Para habilitar el aprovisionamiento del propietario del perfil, debes enviar un intent con elementos adicionales adecuados. Por ejemplo, instala la app de TestDPC (descárgala desde Google Play o compílala desde GitHub) en el dispositivo, inicia la app desde el selector y, luego, sigue las instrucciones de la app. El aprovisionamiento se completa cuando aparecen íconos con insignias en el panel del selector.

La app del DPC del EMM activa la creación del perfil administrado enviando un intent con la acción DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE. El siguiente comando es un ejemplo de intent que activa la creación del perfil administrado y establece DeviceAdminSample como propietario del 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"

Aprovisionamiento de propietario del dispositivo con NFC

Puedes usar NFC o servicios en la nube para configurar el aprovisionamiento del propietario del dispositivo (DO) durante el proceso de configuración normal de un dispositivo.

Cuando usas NFC, aprovisionas dispositivos en modo DO con NFC bump durante el paso de configuración inicial del dispositivo. Este método requiere más bootstrapping, pero es de baja interacción y se encarga de configurar la red Wi-Fi, instalar el DPC y establecerlo como propietario del dispositivo.

Un paquete típico de NFC incluye lo siguiente:

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

Los dispositivos deben tener configurado el NFC para aceptar el tipo de MIME de aprovisionamiento administrado desde la experiencia de configuración. Para configurar, asegúrate de que /packages/apps/Nfc/res/values/provisioning.xml contenga las siguientes líneas:

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

Aprovisionamiento con servicios en la nube

Puedes aprovisionar dispositivos con un propietario del dispositivo o un propietario del perfil (perfil de trabajo) a través de servicios en la nube. El dispositivo recopila y usa credenciales (o tokens) para realizar una búsqueda en un servicio en la nube, que luego se puede usar para iniciar el proceso de aprovisionamiento.

Beneficios de la administración de movilidad empresarial

Una app de administración de movilidad empresarial (EMM) puede ayudar a realizar las siguientes tareas:

  • Se está aprovisionando el perfil administrado.
  • Aplicar políticas de seguridad
    • Establece la complejidad de la contraseña.
    • Bloqueos, como inhabilitar las capturas de pantalla, compartidos desde el perfil administrado
  • Configura la conectividad empresarial.
    • Usa WifiEnterpriseConfig para configurar la red Wi-Fi corporativa.
    • Configura la VPN en el dispositivo.
    • Usa DPM.setApplicationRestrictions() para configurar la VPN corporativa.
  • Habilitar el inicio de sesión único (SSO) en las apps corporativas
    • Instalar las apps corporativas seleccionadas
    • Usa DPM.installKeyPair() para instalar certificados de cliente corporativos de forma silenciosa.
    • Usa DPM.setApplicationRestrictions() para configurar los nombres de host y los alias de certificados de las apps corporativas.

El aprovisionamiento administrado es solo una parte del flujo de trabajo integral de la EMM, cuyo objetivo final es que los datos corporativos sean accesibles para las apps en el perfil administrado o el dispositivo administrado. Para obtener orientación sobre las pruebas, consulta Cómo configurar las pruebas de dispositivos.