Device Trust do Android Enterprise: indicadores disponíveis

O recurso Device Trust do Android Enterprise disponibiliza um conjunto de indicadores de postura do dispositivo que um aplicativo registrado pode acessar para calcular uma pontuação de confiança do dispositivo.

Para saber como integrar o SDK da API Android Management ao seu aplicativo, consulte Device Trust do Android Enterprise: guia de integração.

Indicadores
Versão do SO
SoftwareInfo inclui a versão do SO do dispositivo. Versões mais antigas do SO geralmente têm mais vulnerabilidades.
O dispositivo tem OTA pendente?
SoftwareInfo.SystemUpdateInfo retorna se houver uma atualização pendente do SO para o dispositivo. Proxy para verificar se o dispositivo está vulnerável a exploits.
Nível do patch de segurança do dispositivo
SoftwareInfo#getDeviceSecurityPatchInfos() retorna o nível atual do patch de segurança do dispositivo para diferentes componentes atualizáveis:
Nível do patch de segurança publicado
SoftwareInfo#getPublishedSecurityPatchInfos() retorna o nível atual do patch de segurança publicado do dispositivo para diferentes componentes atualizáveis:
Detalhes de apps críticos
Device#getApplicationReports() retorna detalhes sobre todos os aplicativos instalados para apps de extensibilidade e aplicativos de chamada com a função COMPANION_APP em um dispositivo gerenciado. Para todos os outros casos de uso, Device#getApplicationReports() retorna detalhes sobre os seguintes apps críticos:
  • com.android.chrome
  • com.google.android.gms
  • com.google.android.apps.work.clouddpc
  • com.android.vending
  • com.google.android.webview
Os detalhes fornecidos são compartilhados com uma lista de ApplicationReport.
Modelo / marca do dispositivo
HardwareInfo#getModel() retorna o modelo do dispositivo e HardwareInfo#getBrand() retorna a marca do dispositivo.
Complexidade do bloqueio de tela
DeviceSettings#getScreenLockComplexity() retorna a complexidade do bloqueio de tela do usuário atual.
Estado de gerenciamento (e app de gerenciamento)
Device#getManagementMode() retorna o estado de gerenciamento e Device#getManagementAppPackageName() retorna o app de gerenciamento.
As informações retornadas dependem do perfil em que o aplicativo está sendo executado. Para mais detalhes, consulte a tabela de estado de gerenciamento.
Criptografia de disco
DeviceSettings#getEncryptionStatus() retorna se o armazenamento do dispositivo está criptografado.
Acesso ao estado da rede (estado da rede e estado do Wi-Fi)
Você pode usar Device#getNetworkInfo() para receber detalhes sobre todas as redes ativas no dispositivo:
  • Transporte de rede (celular / Wi-Fi)
  • Nível de segurança do Wi-Fi (OPEN, PERSONAL, ENTERPRISE_EAP, ENTERPRISE_192)
  • Estado do DNS particular
Google Play Protect VerifyApps
DeviceSettings#getGooglePlayProtectVerifyAppsState() retorna o GooglePlayProtectVerifyAppsState atual.
O DNS via TLS está ativado?
NetworkParams#getPrivateDnsState() retorna se o DNS particular é usado na rede.
Pacote WebView
SoftwareInfo#getWebviewPackage() retorna o nome do pacote WebView atual.
Nome comercial legível do provedor de gerenciamento.
Em um dispositivo gerenciado pela AMAPI, ManagementProviderInfo pode ser usado para recuperar o nome da empresa legível por humanos do provedor de gerenciamento.

Estado de gerenciamento

Os valores retornados para os indicadores de gerenciamento dependem do perfil em que seu aplicativo está sendo executado.

Estado de gerenciamento Indicadores quando chamado de dentro do perfil pessoal Sinaliza quando é chamado no perfil de trabalho
Dispositivo não gerenciado ownership: OWNERSHIP_UNSPECIFIED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
N/A
Perfil de trabalho em dispositivos pessoais (BYOD) ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
ownership: PERSONALLY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
Perfil de trabalho em dispositivos corporativos ownership: COMPANY_OWNED
managementMode: UNMANAGED
managementAppPackageName:N/A
workProfileState:
ownership: COMPANY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
Dispositivo totalmente gerenciado N/A ownership: COMPANY_OWNED
managementMode: DEVICE_OWNER
managementAppPackageName: Package name of the Device Owner application
workProfileState: