Device Trust da Android Enterprise - Indicatori disponibili

Device Trust di Android Enterprise mette a disposizione un insieme di indicatori di postura del dispositivo su Device a cui possono accedere le applicazioni autorizzate, incluse quelle nella lista consentita e quelle a cui è assegnato il ruolo COMPANION_APP (vedi Gestisci i ruoli delle applicazioni e Configurazione dei criteri), per calcolare un punteggio di attendibilità per il dispositivo.

Ogni campo di indicatori su Device e le relative classi di modelli nidificati include un metodo get*Metadata() corrispondente che restituisce Metadata, che segnala eventuali Metadata.DataIssue rilevati durante il recupero dell'indicatore (ad esempio autorizzazioni del manifest mancanti).

Per informazioni su come integrare l'SDK dell'API Android Management nella tua applicazione, consulta Device Trust di Android Enterprise - Guida all'integrazione.

Indicatori
Versione sistema operativo
Device#getSoftwareInfo() restituisce un oggetto SoftwareInfo contenente i dettagli della versione del sistema operativo (le versioni precedenti del sistema operativo in genere presentano più vulnerabilità):
Versione di Android Device Policy
SoftwareInfo#getAndroidDevicePolicyVersionCode() e SoftwareInfo#getAndroidDevicePolicyVersionName() restituiscono il codice versione e il nome della versione visibile all'utente dell'app Android Device Policy sul dispositivo.
Il dispositivo ha un OTA in attesa
SoftwareInfo#getSystemUpdateInfo() restituisce un SoftwareInfo.SystemUpdateInfo che indica se è presente un aggiornamento del sistema operativo in attesa per il dispositivo (un proxy per verificare se il dispositivo è vulnerabile agli exploit):
Livello patch di sicurezza del dispositivo
SoftwareInfo#getDeviceSecurityPatchInfos() restituisce un elenco di SoftwareInfo.SecurityPatchInfo oggetti (con getComponent() e getSecurityPatchLevel() che restituiscono un elenco di SecurityPatchLevel oggetti) per l'attuale livello patch di sicurezza del dispositivo tra i tipi di SecurityPatchComponent aggiornabili:
Livello patch di sicurezza pubblicato
SoftwareInfo#getPublishedSecurityPatchInfos() restituisce un elenco di SoftwareInfo.SecurityPatchInfo oggetti (con getComponent() e getSecurityPatchLevel() che restituiscono un elenco di SecurityPatchLevel oggetti) per il livello patch di sicurezza pubblicato corrente su SecurityPatchComponent tipi aggiornabili:
Dettagli sull'app critica
Device#getApplicationReports() restituisce i dettagli di tutte le applicazioni installate alle app di estensibilità e alle applicazioni chiamanti con il ruolo COMPANION_APP su un dispositivo gestito da AMAPI (consulta Gestisci i ruoli delle applicazioni e Configurazione delle policy; se chiamati all'interno di un profilo di lavoro, i report sono limitati alle app installate nel profilo di lavoro). Per tutti gli altri chiamanti (ad esempio le applicazioni nella lista consentita), Device#getApplicationReports() restituisce i dettagli solo sulle seguenti app critiche:
  • com.android.chrome
  • com.google.android.gms
  • com.google.android.apps.work.clouddpc
  • com.android.vending
  • Il pacchetto WebView corrente del dispositivo (ad esempio com.google.android.webview)
I dettagli vengono restituiti come un elenco di oggetti ApplicationReport che espongono:
Informazioni sull'hardware del dispositivo
Device#getHardwareInfo() restituisce un oggetto HardwareInfo che espone:
Complessità del blocco schermo
Device#getDeviceSettings() fornisce DeviceSettings#getScreenLockComplexity(), restituendo un valore DeviceSettings.ScreenLockComplexity che indica la complessità del blocco schermo dell'utente o del profilo corrente.
Stato della gestione (e app di gestione)
Le informazioni restituite dipendono dal profilo in cui è in esecuzione l'applicazione. Per maggiori dettagli, consulta la tabella degli stati di gestione.
Crittografia del disco
DeviceSettings#getEncryptionStatus() restituisce un valore DeviceSettings.EncryptionStatus che indica se lo spazio di archiviazione del dispositivo è criptato.
Access Network State (Stato della rete e Stato del Wi-Fi)
Device#getNetworkInfo() restituisce un oggetto NetworkInfo e NetworkInfo#getNetworkParams() restituisce un elenco di oggetti NetworkInfo.NetworkParams con i dettagli di tutte le reti attive sul dispositivo:
VerifyApps di Google Play Protect
DNS over TLS è abilitato
NetworkParams#getPrivateDnsState() restituisce un valore PrivateDnsState che indica se sulla rete viene utilizzato il DNS privato.
Pacchetto WebView
SoftwareInfo#getWebviewPackage() restituisce il nome del pacchetto WebView corrente.
Nome dell'attività leggibile del provider di gestione
Sui dispositivi gestiti da AMAPI, Device#getManagementProviderInfo() restituisce un oggetto ManagementProviderInfo il cui metodo getBusinessName() fornisce il nome dell'attività leggibile del provider di gestione. Questo campo non è impostato sui dispositivi non gestiti o sui dispositivi gestiti da un DPC personalizzato.

Stato della gestione

I valori restituiti per gli indicatori di gestione dipendono dal profilo in cui è in esecuzione l'applicazione. Per accedere agli indicatori dal profilo personale, su un dispositivo non gestito o su un dispositivo gestito da un DPC personalizzato, l'applicazione deve essere inclusa nella lista consentita. Su un dispositivo completamente gestito gestito da AMAPI o all'interno di un profilo di lavoro, le applicazioni a cui è assegnato il ruolo COMPANION_APP possono accedere a questi indicatori anche senza essere incluse nella lista consentita (limitatamente agli indicatori del profilo di lavoro se chiamate all'interno di un profilo di lavoro).

Stato della gestione Indicatori quando vengono chiamati dal profilo personale Indicatori quando vengono chiamati dal profilo di lavoro
Dispositivo non gestito ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
N/A
Profilo di lavoro su dispositivo di proprietà personale (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:
Profilo di lavoro su un dispositivo di proprietà dell'azienda 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 completamente gestito N/A ownership: COMPANY_OWNED
managementMode: DEVICE_OWNER
managementAppPackageName: Package name of the Device Owner application
workProfileState: