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:
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 |
DeviceSettings#getGooglePlayProtectVerifyAppsState()
restituisce il valore
GooglePlayProtectVerifyAppsState corrente.
|
| 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_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
N/A
|
| Profilo di lavoro su dispositivo di proprietà personale (BYOD) |
ownership:
PERSONALLY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
PERSONALLY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| Profilo di lavoro su un dispositivo di proprietà dell'azienda |
ownership:
COMPANY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
COMPANY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| Dispositivo completamente gestito |
N/A
|
ownership:
COMPANY_OWNEDmanagementMode: DEVICE_OWNERmanagementAppPackageName: Package name of the Device Owner applicationworkProfileState:
|