Device Trust de Android Enterprise pone a disposición un conjunto de indicadores de postura del dispositivo en Device a los que pueden acceder las aplicaciones autorizadas, incluidas las aplicaciones de la lista de entidades permitidas y las apps a las que se les asignó el rol COMPANION_APP (consulta Administra roles de aplicaciones y Configuración de políticas), para calcular una puntuación de confianza para el dispositivo.
Cada campo de indicador en Device y sus clases de modelo anidadas incluyen un método get*Metadata() correspondiente que devuelve Metadata, que informa cualquier Metadata.DataIssue que se encuentre cuando se recupera el indicador (como permisos de manifiesto faltantes).
Para obtener información sobre cómo integrar el SDK de la API de Android Management en tu aplicación, consulta Device Trust de Android Enterprise: Guía de integración.
| Indicadores | |
|---|---|
| Versión del SO |
Device#getSoftwareInfo() devuelve un objeto
SoftwareInfo que contiene detalles de la versión del SO
(las versiones anteriores del SO suelen tener más vulnerabilidades):
|
| Versión de Android Device Policy |
SoftwareInfo#getAndroidDevicePolicyVersionCode() y
SoftwareInfo#getAndroidDevicePolicyVersionName() devuelven
el código de versión y el nombre de la versión visible para el usuario de la app de política de dispositivo Android
en el dispositivo.
|
| ¿El dispositivo tiene actualizaciones OTA pendientes? |
SoftwareInfo#getSystemUpdateInfo() devuelve un
SoftwareInfo.SystemUpdateInfo que indica si hay
una actualización del SO pendiente para el dispositivo (un proxy que indica si el dispositivo es
vulnerable a exploits):
|
| Nivel de parche de seguridad del dispositivo |
SoftwareInfo#getDeviceSecurityPatchInfos() devuelve una
lista de objetos
SoftwareInfo.SecurityPatchInfo (con
getComponent() y
getSecurityPatchLevel() que devuelven una lista de objetos
SecurityPatchLevel) para el nivel de parche de seguridad
actual del dispositivo en los tipos de
SecurityPatchComponent actualizables:
|
| Nivel de parche de seguridad publicado |
SoftwareInfo#getPublishedSecurityPatchInfos() devuelve una
lista de objetos
SoftwareInfo.SecurityPatchInfo (con
getComponent() y
getSecurityPatchLevel() que devuelven una lista de objetos
SecurityPatchLevel) para el nivel de parche de seguridad
publicado actual en los tipos de
SecurityPatchComponent actualizables:
|
| Detalles de la app |
Device#getApplicationReports() devuelve detalles sobre todas
las aplicaciones instaladas a las apps de extensibilidad y las aplicaciones de llamada
con el rol
COMPANION_APP en un dispositivo administrado por AMAPI (consulta
Administra roles de aplicaciones y
Configuración
de políticas; cuando se llama dentro de un perfil de trabajo, los informes se
limitan a las apps instaladas en el perfil de trabajo). Para todos los demás emisores de llamadas (como las aplicaciones de la lista de entidades permitidas), Device#getApplicationReports() devuelve detalles solo de las siguientes apps fundamentales:
Los detalles se devuelven como una lista de objetos
ApplicationReport que exponen lo siguiente:
|
| Información del hardware del dispositivo |
Device#getHardwareInfo() devuelve un objeto
HardwareInfo que expone lo siguiente:
|
| Complejidad del bloqueo de pantalla |
Device#getDeviceSettings() proporciona
DeviceSettings#getScreenLockComplexity(), que devuelve un valor
DeviceSettings.ScreenLockComplexity que indica
la complejidad del bloqueo de pantalla del usuario o perfil actual.
|
| Estado de administración (y app de administración) |
La información que se devuelve depende del perfil en el que se ejecuta la aplicación. Para obtener más información, consulta la
tabla de estados de administración.
|
| Encriptación de los discos |
DeviceSettings#getEncryptionStatus() devuelve un valor
DeviceSettings.EncryptionStatus que indica
si el almacenamiento del dispositivo está encriptado.
|
| Acceso al estado de la red (estado de la red y estado de la conexión Wi-Fi) |
Device#getNetworkInfo() devuelve un objeto
NetworkInfo, y
NetworkInfo#getNetworkParams() devuelve una lista de objetos
NetworkInfo.NetworkParams con detalles sobre
todas las redes activas en el dispositivo:
|
| VerifyApps de Google Play Protect |
DeviceSettings#getGooglePlayProtectVerifyAppsState()
devuelve el
GooglePlayProtectVerifyAppsState actual.
|
| ¿Está habilitado el DNS-over-TLS? |
NetworkParams#getPrivateDnsState() devuelve un valor
PrivateDnsState que indica si se usa un DNS privado
en la red.
|
| Paquete de WebView |
SoftwareInfo#getWebviewPackage() devuelve el nombre del paquete de WebView actual.
|
| Nombre de la empresa del proveedor de administración legible por humanos |
En los dispositivos administrados por AMAPI,
Device#getManagementProviderInfo() devuelve un objeto
ManagementProviderInfo cuyo método
getBusinessName() proporciona el nombre comercial legible por humanos
del proveedor de administración. Este campo no se establece en
dispositivos no administrados o administrados por un DPC personalizado.
|
Estado de administración
Los valores que se devuelven para los indicadores de administración dependen del perfil en el que se ejecuta tu
aplicación. Para acceder a los indicadores desde el perfil personal, en un dispositivo no administrado o en un dispositivo administrado por un DPC personalizado, tu aplicación debe estar en la lista de entidades permitidas. En un dispositivo completamente administrado por AMAPI o
desde un perfil de trabajo, las aplicaciones a las que se les asigna el
rol COMPANION_APP también pueden acceder a estos indicadores sin
estar en la lista de entidades permitidas (limitado a los indicadores del perfil de trabajo cuando se llama
dentro de un perfil de trabajo).
| Estado de administración | Indicadores cuando se llama desde el perfil personal | Indicadores cuando se llama desde el perfil de trabajo |
|---|---|---|
| Dispositivo no administrado |
ownership:
PERSONALLY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
N/A
|
| Perfil de trabajo en un dispositivo personal (BYOD) |
ownership:
PERSONALLY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
PERSONALLY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| Perfil de trabajo en un dispositivo de la empresa |
ownership:
COMPANY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
COMPANY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| Dispositivo completamente administrado |
N/A
|
ownership:
COMPANY_OWNEDmanagementMode: DEVICE_OWNERmanagementAppPackageName: Package name of the Device Owner applicationworkProfileState:
|