Eseguire il provisioning per la gestione dei dispositivi

Gli amministratori IT possono eseguire il deployment dei dispositivi per gli utenti aziendali utilizzando i servizi cloud, i codici QR o il provisioning NFC (Near Field Communication). Per iniziare, scarica l' APK NfcProvisioning e l'APK Android-DeviceOwner. Per un elenco completo dei requisiti, consulta Implementazione della gestione dei dispositivi.

Aggiornamenti di Android 12

  • ACTION_PROVISION_MANAGED_DEVICE è deprecata.

  • ACTION_PROVISION_MANAGED_PROFILE è supportata solo per il provisioning del profilo di lavoro DPC-first, in cui gli utenti finali possono eseguire il provisioning di un profilo di lavoro dopo aver scaricato il DPC.

  • Gli sviluppatori di DPC che vogliono supportare i codici QR o altri metodi di provisioning devono implementare i gestori per le azioni di intent DevicePolicyManager#ACTION_GET_PROVISIONING_MODE e DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE. Se il DPC non implementa questi gestori, il provisioning non riesce.

  • Il gestore ACTION_GET_PROVISIONING_MODE del DPC include un nuovo extra EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES. Il DPC deve impostare l'extra EXTRA_PROVISIONING_MODE sull'intent risultante con un valore che appartiene a questo elenco. Se il DPC restituisce un valore non presente nell'elenco, il provisioning non riesce.

  • Per aumentare ulteriormente la stabilità, la manutenibilità e la semplicità dei flussi che si verificano durante la procedura guidata di configurazione, la configurazione del DPC non può essere avviata dopo la fine della procedura guidata di configurazione. I DPC che utilizzano la categoria android.intent.category.PROVISIONING_FINALIZATION con l'azione di intent ADMIN_POLICY_COMPLIANCE per richiedere esplicitamente la configurazione prima della fine della procedura guidata di configurazione possono rimuovere questa categoria, poiché ora viene eseguita per impostazione predefinita.

Provisioning gestito

Il provisioning gestito è un flusso dell'interfaccia utente del framework che garantisce che gli utenti siano adeguatamente informati delle implicazioni dell'impostazione di un proprietario del dispositivo o di un profilo gestito. I dispositivi che abilitano la crittografia predefinita offrono un flusso di provisioning della gestione dei dispositivi notevolmente più semplice e rapido.

Durante il provisioning gestito, il componente di provisioning gestito esegue le seguenti attività:

  • Cripta il dispositivo.
  • Crea il profilo gestito.
  • Disattiva le app non richieste.
  • Imposta l'app di gestione della mobilità aziendale (EMM) come proprietario del profilo o del dispositivo.

A sua volta, l'app di gestione della mobilità aziendale (EMM) esegue le seguenti attività:

  • Aggiunge account utente.
  • Applica la conformità del dispositivo.
  • Abilita eventuali app di sistema aggiuntive.

Durante il provisioning gestito, il framework copia l'app EMM nel profilo gestito. Al termine del provisioning, viene chiamato il gestore di intent ADMIN_POLICY_COMPLIANCE dell'app EMM nell'utente del profilo di lavoro (per il provisioning del profilo di lavoro) o nell'utente proprietario del dispositivo (per il provisioning del proprietario del dispositivo). L'EMM aggiunge quindi gli account e applica le policy, dopodiché chiama setProfileEnabled() per rendere visibili le icone di avvio.

Provisioning del proprietario del profilo

Il provisioning del proprietario del profilo consente all'utente di avere sia un profilo di lavoro (profilo gestito) sia un profilo personale su un dispositivo. Per abilitare il provisioning del proprietario del profilo, devi inviare un intent con gli extra appropriati. Per un esempio, installa l'app TestDPC (scaricala da Google Play o creala da GitHub) sul dispositivo, avvia l'app dal launcher, quindi segui le istruzioni dell'app. Il provisioning è completato quando nel riquadro di avvio vengono visualizzate le icone con badge.

L'app DPC EMM attiva la creazione del profilo gestito inviando un intent con l' azione DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE. Il seguente comando è un intent di esempio che attiva la creazione del profilo gestito e imposta DeviceAdminSample come proprietario del profilo:

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"

Provisioning del proprietario del dispositivo con NFC

Puoi utilizzare NFC o i servizi cloud per configurare il provisioning del proprietario del dispositivo (DO) durante la procedura di configurazione iniziale di un dispositivo.

Quando utilizzi NFC, esegui il provisioning dei dispositivi in modalità DO utilizzando NFC bump durante il passaggio di configurazione iniziale del dispositivo. Questo metodo richiede più bootstrapping, ma è a basso contatto e gestisce la configurazione del Wi-Fi, l'installazione del DPC e l'impostazione del DPC come proprietario del dispositivo.

Un pacchetto NFC tipico include quanto segue:

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

I dispositivi devono avere NFC configurato per accettare il tipo MIME di provisioning gestito dall'esperienza di configurazione. Per configurare, assicurati che /packages/apps/Nfc/res/values/provisioning.xml contenga le seguenti righe:

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

Eseguire il provisioning utilizzando i servizi cloud

Puoi eseguire il provisioning dei dispositivi con un proprietario del dispositivo o un proprietario del profilo (profilo di lavoro) utilizzando i servizi cloud. Il dispositivo raccoglie e utilizza le credenziali (o i token) per eseguire una ricerca in un servizio cloud, che può essere utilizzato per avviare la procedura di provisioning.

Vantaggi della gestione della mobilità aziendale

Un'app di gestione della mobilità aziendale (EMM) può aiutarti a svolgere le seguenti attività:

  • Provisioning del profilo gestito.
  • Applicazione delle policy di sicurezza.
    • Impostazione della complessità della password.
    • Blocchi, ad esempio disattivazione degli screenshot, condivisi dal profilo gestito.
  • Configurazione della connettività aziendale.
    • Utilizzo di WifiEnterpriseConfig per configurare il Wi-Fi aziendale.
    • Configurazione della VPN sul dispositivo.
    • Utilizzo di DPM.setApplicationRestrictions() per configurare la VPN aziendale.
  • Abilitazione del Single Sign-On (SSO) per le app aziendali.
    • Installazione delle app aziendali selezionate.
    • Utilizzo di DPM.installKeyPair() per installare silenziosamente i certificati client aziendali.
    • Utilizzo di DPM.setApplicationRestrictions() per configurare i nomi host e gli alias dei certificati delle app aziendali.

Il provisioning gestito è solo una parte del flusso di lavoro end-to-end EMM, con l'obiettivo finale di rendere i dati aziendali accessibili alle app nel profilo gestito o nel dispositivo gestito. Per indicazioni sui test, consulta Configurare i test dei dispositivi.