Registrare ed eseguire il provisioning di un dispositivo

Il provisioning è il processo di configurazione di un dispositivo da gestire utilizzando policies da parte di un enterprise. Durante la procedura, sul dispositivo viene installato Android Device Policy, che viene utilizzato per ricevere e applicare policies. Se il provisioning è riuscito, l'API crea un oggetto devices, associando il dispositivo a un'azienda.

L'API Android Management utilizza i token di registrazione per attivare il processo di provisioning. Il token di registrazione e il metodo di provisioning che utilizzi stabiliscono la proprietà (di proprietà personale o dell'azienda) e la modalità di gestione (profilo di lavoro o dispositivo completamente gestito) di un dispositivo.

Dispositivi di proprietà personale

Android 5.1 e versioni successive

I dispositivi di proprietà dei dipendenti possono essere configurati con un profilo di lavoro. Un profilo di lavoro offre uno spazio autonomo per app e dati di lavoro, separato da app e dati personali. La maggior parte della gestione di app, dati e altro policies si applica solo al profilo di lavoro, mentre le app e i dati personali del dipendente rimangono privati.

Per configurare un profilo di lavoro su un dispositivo di proprietà personale, crea un token di registrazione (assicurati che allowPersonalUsage sia impostato su PERSONAL_USAGE_ALLOWED) e utilizza uno dei seguenti metodi di provisioning:

Dispositivi di proprietà dell'azienda per uso personale e di lavoro

Android 8 e versioni successive

La configurazione di un dispositivo di proprietà dell'azienda con un profilo di lavoro consente di utilizzarlo sia per lavoro che per uso personale. Sui dispositivi di proprietà dell'azienda con profili di lavoro:

Per configurare un dispositivo di proprietà dell'azienda con un profilo di lavoro, crea un token di registrazione (assicurati che allowPersonalUsage sia impostato su PERSONAL_USAGE_ALLOWED) e utilizza uno dei seguenti metodi di provisioning:

Dispositivi di proprietà dell'azienda solo per uso lavorativo

Android 5.1 e versioni successive

La gestione completa dei dispositivi è adatta per i dispositivi di proprietà dell'azienda destinati esclusivamente a scopi lavorativi. Le aziende possono gestire tutte le app sul dispositivo e possono applicare l'intero spettro di criteri e comandi dell'API Android Management.

È anche possibile bloccare un dispositivo (tramite criteri) su una singola app o su un piccolo insieme di app per soddisfare uno scopo o un caso d'uso dedicato. Questo sottoinsieme di dispositivi completamente gestiti è definito dispositivi dedicati. I token di registrazione per questi dispositivi devono avere allowPersonalUsage impostato su PERSONAL_USAGE_DISALLOWED_USERLESS.

Per configurare la gestione completa su un dispositivo di proprietà dell'azienda, crea un token di registrazione, assicurati che allowPersonalUsage sia impostato su PERSONAL_USAGE_DISALLOWED o PERSONAL_USAGE_DISALLOWED_USERLESS, e utilizza uno dei seguenti metodi di provisioning.

I criteri possono influire sulla generazione dell'interfaccia utente durante il provisioning del dispositivo. Queste norme sono:

Se vuoi che i passaggi per la password vengano visualizzati insieme all'installazione delle app di lavoro e delle schede di registrazione del dispositivo durante il provisioning del dispositivo, ti consigliamo di aggiornare i criteri per ritardare l'avvio della generazione dell'interfaccia utente mantenendo il dispositivo in un stato di quarantena, che si verifica se il dispositivo è registrato senza un criterio associato, fino a quando non viene specificato il criterio selezionato finale per la configurazione del dispositivo compilato con gli elementi pertinenti alle tue esigenze di configurazione. Una volta completato il provisioning del dispositivo, puoi modificare il criterio in base alle tue esigenze.


Creare un token di registrazione

Panoramica di Android Management.
Figura 1. Crea un token che registri e applichi "policy1" ai dispositivi. Dopo 1800 secondi (30 minuti), il token scade.

È necessario un token di registrazione per ogni dispositivo che vuoi registrare (puoi utilizzare lo stesso token per più dispositivi). Per richiedere un token di registrazione, chiama enterprises.enrollmentTokens.create. Per impostazione predefinita, i token di registrazione scadono dopo un'ora,ma puoi specificare una data e un'ora di scadenza personalizzate (duration) fino a circa 10.000 anni.

Una richiesta andata a buon fine restituisce un oggetto enrollmentToken contenente un enrollmentTokenId e un qrcode che gli amministratori IT e gli utenti finali possono utilizzare per eseguire il provisioning dei dispositivi.

Specifica un criterio

Ti consigliamo inoltre di specificare un policyName nella richiesta per applicare un criterio contemporaneamente alla registrazione di un dispositivo. Se non specifichi un policyName, consulta Registrare un dispositivo senza un criterio.

Specifica l'utilizzo personale

allowPersonalUsage determina se è possibile aggiungere un profilo di lavoro al dispositivo durante il provisioning. Impostato su PERSONAL_USAGE_ALLOWED per consentire a un utente di creare un profilo di lavoro (obbligatorio per i dispositivi di proprietà personale, facoltativo per i dispositivi di proprietà dell'azienda).


Informazioni sui codici QR

I codici QR sono un metodo efficiente per il provisioning dei dispositivi per le aziende che gestiscono molti criteri diversi. Il codice QR restituito da enterprises.enrollmentTokens.create è costituito da un payload di coppie chiave-valore contenente un token di registrazione e tutte le informazioni necessarie per Android Device Policy per eseguire il provisioning di un dispositivo.

Pacchetto di codici QR di esempio

Il bundle include la posizione di download di Android Device Policy e un token di registrazione.

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

Puoi utilizzare il codice QR restituito da enterprises.enrollmentTokens.create direttamente o personalizzarlo. Per un elenco completo delle proprietà che puoi includere in un pacchetto di codici QR, consulta Creare un codice QR.

Per convertire la stringa qrcode in un codice QR scansionabile, utilizza un generatore di codici QR come ZXing.


Metodi di provisioning

Questa sezione descrive i diversi metodi per eseguire il provisioning di un dispositivo.

Aggiungere il profilo di lavoro da "Impostazioni"

Android 5.1 e versioni successive

Per configurare un profilo di lavoro sul proprio dispositivo, un utente può:

  1. Vai a Impostazioni > Google > Configura e ripristina.
  2. Tocca Configura il tuo profilo di lavoro.

Questi passaggi avviano una procedura guidata di configurazione che scarica Android Device Policy sul dispositivo. Successivamente, all'utente verrà chiesto di scansionare un codice QR o di inserire manualmente un token di registrazione per completare la configurazione del profilo di lavoro.

Scaricare Android Device Policy

Android 5.1 e versioni successive

Per configurare un profilo di lavoro sul proprio dispositivo, un utente può scaricare Android Device Policy dal Google Play Store. Dopo aver installato l'app, l'utente dovrà scansionare un codice QR o inserire manualmente un token di registrazione per completare la configurazione del profilo di lavoro.

Android 5.1 e versioni successive

Utilizzando il token di registrazione restituito da enrollmentTokens.create o da signinEnrollmentToken dell'azienda, genera un URL con il seguente formato:

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

Puoi fornire questo URL agli amministratori IT, che possono fornirlo ai propri utenti finali. Quando un utente finale apre il link dal proprio dispositivo, viene guidato nella configurazione del profilo di lavoro.

URL di accesso

Con questo metodo, gli utenti vengono indirizzati a una pagina in cui inserire eventuali informazioni aggiuntive necessarie per completare il provisioning. In base alle informazioni inserite dall'utente, puoi calcolare il criterio appropriato prima di procedere con il provisioning del dispositivo. Ad esempio:

  1. Specifica l'URL di accesso in enterprises.signInDetails[]. Imposta allowPersonalUsage su PERSONAL_USAGE_ALLOWED se vuoi consentire a un utente di creare un profilo di lavoro (obbligatorio per i dispositivi di proprietà personale, facoltativo per i dispositivi di proprietà dell'azienda).

    Aggiungi il signinEnrollmentToken risultante come provisioning aggiuntivo a un codice QR, al payload NFC o alla configurazione zero-touch. In alternativa, puoi fornire il signinEnrollmentToken direttamente agli utenti.

  2. Scegli un'opzione:

    1. Dispositivi di proprietà dell'azienda: dopo aver acceso un dispositivo nuovo o ripristinato ai dati di fabbrica, passa il signinEnrollmentToken al dispositivo (tramite codice QR, contatto NFC e così via) o chiedi agli utenti di inserire il token manualmente. Sul dispositivo verrà aperto l'URL di accesso specificato nel passaggio 1.
    2. Dispositivi di proprietà personale: chiedi agli utenti di aggiungere un profilo di lavoro da "Impostazioni". Quando richiesto, l'utente scansiona un codice QR contenente il signinEnrollmentToken o inserisce manualmente il token. Sul dispositivo si aprirà l'URL di accesso specificato nel passaggio 1.
    3. Dispositivi di proprietà personale: fornisci agli utenti un link al token di registrazione, dove il token di registrazione è signinEnrollmentToken. Sul dispositivo si aprirà l'URL di accesso specificato nel passaggio 1.
  3. Controlla se Google ha già autenticato l'utente. Recupera le informazioni sul provisioning del dispositivo (durante la registrazione del dispositivo) utilizzando il parametro GET provisioningInfo e controlla se è presente un valore per il campo authenticatedUserEmail. Se in questo campo è presente un valore, l'utente è stato già autenticato correttamente da Google e puoi utilizzare questa identità senza ulteriore autenticazione.

  4. Se Google non ha ancora autenticato l'utente, l'URL di accesso dovrebbe chiedere agli utenti di inserire le proprie credenziali. In base alla loro identità, puoi determinare il criterio appropriato e ottenere le informazioni di provisioning del dispositivo (durante la registrazione del dispositivo) utilizzando il parametro GET provisioningInfo.

  5. Chiama enrollmentTokens.create, specificando policyId appropriato in base alle credenziali dell'utente.

  6. Restituire il token di registrazione generato nel passaggio 5 utilizzando il reindirizzamento dell'URL nel modulo https://enterprise.google.com/android/enroll?et=<token>.

Metodo con codice QR

Android 7.0 o versioni successive

Per eseguire il provisioning di un dispositivo di proprietà dell'azienda, puoi generare un codice QR e visualizzarlo nella console EMM:

  1. Su un dispositivo nuovo o di cui sono stati ripristinati i dati di fabbrica, l'utente (di solito un amministratore IT) tocca la schermata sei volte nello stesso punto. In questo modo il dispositivo chiede all'utente di eseguire la scansione di un codice QR.
  2. L'utente esegue la scansione del codice QR visualizzato nella console di gestione (o in un'applicazione simile) per registrare e eseguire il provisioning del dispositivo.

Metodo NFC

Android 6.0 o versioni successive

Questo metodo richiede la creazione di un'app di programmazione NFC contenente il token di registrazione, i criteri iniziali e la configurazione Wi-Fi, le impostazioni e tutti gli altri dettagli di provisioning richiesti dal cliente per eseguire il provisioning di un dispositivo completamente gestito o dedicato. Quando tu o il tuo cliente installate l'app di programmazione NFC su un dispositivo Android, questo diventa il dispositivo di programmazione.

Indicazioni dettagliate su come supportare il metodo NFC sono disponibili nella documentazione per sviluppatori dell'API Play EMM. Il sito include anche il codice di esempio dei parametri predefinite inviati a un dispositivo tramite contatto NFC. Per installare Android Device Policy, imposta la posizione di download del pacchetto di amministrazione del dispositivo su:

https://play.google.com/managed/downloadManagingApp?identifier=setup

Metodo di identificazione DPC

Se non è possibile aggiungere Android Device Policy utilizzando il codice QR o NFC, un utente o un amministratore IT può seguire questa procedura per eseguire il provisioning di un dispositivo di proprietà dell'azienda:

  1. Segui la configurazione guidata su un dispositivo nuovo o di cui hai ripristinato i dati di fabbrica.
  2. Inserisci i dati di accesso al Wi-Fi per connettere il dispositivo a internet.
  3. Quando ti viene chiesto di accedere, inserisci afw#setup, che scarica Android Device Policy.
  4. Scansiona un codice QR o inserisci manualmente un token di registrazione per eseguire il provisioning del dispositivo.

Registrazione zero-touch

Android 8.0 e versioni successive (Pixel 7.1 e versioni successive)

I dispositivi acquistati da un rivenditore zero-touch autorizzato sono idonei per la registrazione zero-touch, un metodo semplificato per preconfigurare i dispositivi in modo che eseguino il provisioning automaticamente al primo avvio.

Le organizzazioni possono creare configurazioni contenenti i dettagli di provisioning per i propri dispositivi zero-touch tramite il portale della registrazione zero-touch o utilizzando la console EMM (consulta l'API dei clienti zero-touch). Al primo avvio, un dispositivo zero-touch controlla se gli è stata assegnata una configurazione. In questo caso, il dispositivo scarica Android Device Policy, che completa la configurazione utilizzando gli extra di provisioning specificati nella configurazione assegnata.

Se i tuoi clienti utilizzano il portale di registrazione zero-touch, devono selezionare Android Device Policy come DPC EMM per ogni configurazione creata. Istruzioni dettagliate su come utilizzare il portale, inclusa la creazione e l'assegnazione delle configurazioni ai dispositivi, sono disponibili nel Centro assistenza Android Enterprise.

Se preferisci che i clienti configurino e assegnano le configurazioni direttamente dalla console EMM, devi eseguire l'integrazione con l'API dei clienti zero-touch. Quando crei una configurazione, specifica gli extra di provisioning nel dpcExtras. Lo snippet JSON seguente mostra un esempio di base di cosa includere in dpcExtras, con un token di accesso aggiunto.

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

Avviare un'app durante la configurazione

setupaction
Figura 2. Usa setupActions per avviare un'app durante la configurazione.

In policies, puoi specificare un'app da avviare con Android Device Policy durante la configurazione del dispositivo o del profilo di lavoro. Ad esempio, puoi avviare un'app VPN in modo che gli utenti possano configurare le impostazioni VPN durante la procedura di configurazione. L'app deve restituire RESULT_OK per segnalare il completamento e consentire ad Android Device Policy di completare il provisioning del dispositivo o del profilo di lavoro. Per avviare un'app durante la configurazione:

Assicurati che il installType dell'app sia REQUIRED_FOR_SETUP. Se non è possibile installare o avviare l'app sul dispositivo, il provisioning non andrà a buon fine.

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

Aggiungi il nome del pacchetto dell'app a setupActions. Utilizza title e description per specificare le istruzioni rivolte agli utenti.

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

Per distinguere un'app lanciata da launchApp, l'attività avviata per la prima volta nell'ambito dell'app contiene l'extra booleano dell'intent com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (impostato su true). Questo extra ti consente di personalizzare l'app in base al fatto che sia stata avviata da setupActions o da un utente.

Dopo che l'app restituisce RESULT_OK, Android Device Policy completa i passaggi rimanenti necessari per eseguire il provisioning del dispositivo o del profilo di lavoro.

Annullare la registrazione durante la configurazione

L'app lanciata come SetupAction può annullare la registrazione tornando RESULT_FIRST_USER.

L'annullamento della registrazione reimposta un dispositivo di proprietà dell'azienda o elimina il profilo di lavoro su un dispositivo di proprietà personale.

Nota: l'annullamento della registrazione attiva l'azione senza una finestra di conferma dell'utente. È responsabilità dell'app mostrare all'utente una finestra di dialogo di errore appropriata prima di restituire RESULT_FIRST_USER.

Applicare un criterio ai dispositivi appena registrati

Il metodo che utilizzi per applicare i criteri ai dispositivi appena registrati dipende da te e dai requisiti dei tuoi clienti. Ecco i diversi approcci che puoi utilizzare:

  • (Consigliato) Quando crei un token di registrazione, puoi specificare il nome del criterio (policyName) che verrà inizialmente collegato al dispositivo. Quando registri un dispositivo con il token, il criterio viene applicato automaticamente al dispositivo.

  • Impostare un criterio come predefinito per un'azienda. Se nel token di registrazione non è specificato alcun nome di criterio ed esiste un criterio con il nome enterprises/<enterprise_id>/policies/default, ogni nuovo dispositivo viene collegato automaticamente al criterio predefinito al momento della registrazione.

  • Abbonati a un argomento Cloud Pub/Sub per ricevere notifiche sui dispositivi appena registrati. In risposta a una notifica ENROLLMENT, chiama enterprises.devices.patch per collegare il dispositivo a un criterio.

Registra un dispositivo senza criteri

Se un dispositivo viene registrato senza un criterio valido, viene messo in quarantena. I dispositivi in quarantena sono bloccati per tutte le funzioni fino a quando non vengono collegati a un criterio.

Se un dispositivo non è collegato a un criterio entro cinque minuti, la registrazione del dispositivo viene interrotta e i dati di fabbrica vengono ripristinati. Lo stato del dispositivo in quarantena ti offre la possibilità di implementare controlli delle licenze o altre procedure di convalida della registrazione all'interno della tua soluzione.

Esempio di flusso di lavoro per la verifica della licenza

  1. Un dispositivo è registrato senza un criterio predefinito o specifico.
  2. Controlla quante licenze sono rimaste all'azienda.
  3. Se sono disponibili licenze, utilizza devices.patch per associare un criterio al dispositivo, quindi diminuisci il numero di licenze. Se non sono disponibili licenze, utilizza devices.patch per disattivare il dispositivo. In alternativa, l'API ripristina i dati di fabbrica di qualsiasi dispositivo non collegato a un criterio entro cinque minuti dalla registrazione.