Registrare ed eseguire il provisioning di un dispositivo

Il provisioning è il processo di configurazione di un dispositivo da gestire utilizzando policies da un enterprise. Durante la procedura, un dispositivo installa Android Device Policy, che viene utilizzata per ricevere e applicare policies. Se il provisioning ha esito positivo, 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à (personale o aziendale) e la modalità di gestione (profilo di lavoro o dispositivo completamente gestito) di un dispositivo.

Un sistema di quote controlla il numero di dispositivi che ogni progetto può gestire. Devi richiedere la quota iniziale di dispositivi prima di poter eseguire il provisioning del primo dispositivo.

Dispositivi di proprietà personale

Android 5.1 o versioni successive

I dispositivi di proprietà dei dipendenti possono essere configurati con un profilo di lavoro. Un profilo di lavoro fornisce uno spazio autonomo per app e dati di lavoro, separato da app e dati personali. La maggior parte delle impostazioni di gestione di app, dati e altro policies si applicano 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+

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

Per configurare un dispositivo di proprietà aziendale 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 o versioni successive

La gestione completa dei dispositivi è adatta ai dispositivi di proprietà aziendale destinati esclusivamente a scopi lavorativi. Le aziende possono gestire tutte le app sul dispositivo e possono applicare l'intera gamma di norme 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 uno scopo o un caso d'uso dedicato. Questo sottoinsieme di dispositivi completamente gestiti è denominato 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à aziendale, crea un token di registrazione, assicurandoti 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 della UI durante il provisioning del dispositivo. Queste norme sono:

Se vuoi che i passaggi della password vengano mostrati insieme all'installazione delle app di lavoro e alle 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 uno stato di quarantena, che si verifica se la registrazione viene eseguita senza un criterio associato, fino a quando non viene specificato il criterio finale selezionato per la configurazione del dispositivo popolato con elementi pertinenti alle tue esigenze di configurazione. Una volta completato il provisioning del dispositivo, puoi modificare le norme in base alle tue esigenze.


Creare un token di registrazione

Panoramica di Android Management.
Figura 1. Crea un token che registra e applica "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 il numero enterprises.enrollmentTokens.create. I token di registrazione scadono dopo un'ora per impostazione predefinita, ma puoi specificare un tempo di scadenza personalizzato (duration) fino a circa 10.000 anni.

Una richiesta riuscita restituisce un oggetto enrollmentToken contenente un enrollmentTokenId e un qrcode che gli amministratori IT e gli utenti finali possono utilizzare per provisioning dei dispositivi.

Specificare una policy

Potresti anche voler specificare un policyName nella richiesta di applicazione di un criterio contemporaneamente alla registrazione di un dispositivo. Se non specifichi un policyName, vedi Registrare un dispositivo senza criteri.

Specifica l'utilizzo personale

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


Informazioni sui codici QR

I codici QR sono un metodo di provisioning dei dispositivi efficiente per le aziende che mantengono molte norme diverse. Il codice QR restituito da enterprises.enrollmentTokens.create è costituito da un payload di coppie chiave-valore contenenti un token di registrazione e tutte le informazioni necessarie per consentire a Android Device Policy di eseguire il provisioning di un dispositivo.

Esempio di bundle di codici QR

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 bundle di codici QR, vedi 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 diversi metodi per il provisioning di un dispositivo.

Aggiungere il profilo di lavoro da "Impostazioni"

Android 5.1 o 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 o versioni successive

Per configurare un profilo di lavoro sul proprio dispositivo, un utente può scaricare Android Device Policy dal Google Play Store. Dopo l'installazione dell'app, 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.

Android 5.1 o versioni successive

Utilizzando il token di registrazione restituito da enrollmentTokens.create o dalle 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 loro utenti finali. Quando un utente finale apre il link dal proprio dispositivo, viene guidato alla configurazione del profilo di lavoro.

URL di accesso

Con questo metodo, gli utenti vengono indirizzati a una pagina per inserire eventuali informazioni aggiuntive necessarie per completare il provisioning. In base alle informazioni inserite dall'utente, puoi calcolare il criterio appropriato per l'utente 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 personali, facoltativo per i dispositivi di proprietà aziendale).

    Aggiungi il signinEnrollmentToken risultante come extra di provisioning a un codice QR, a un payload NFC o a una configurazione zero-touch. In alternativa, puoi fornire 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, trasmetti il signinEnrollmentToken al dispositivo (tramite codice QR, contatto NFC e così via) o chiedi agli utenti di inserire il token manualmente. Il dispositivo aprirà 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 signinEnrollmentToken o inserisce il token manualmente. Il dispositivo 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. Il dispositivo aprirà l'URL di accesso specificato nel passaggio 1.
  3. Controlla se Google ha già autenticato l'utente. Recupera le informazioni di provisioning del dispositivo (durante la registrazione del dispositivo) utilizzando il parametro GET provisioningInfo e controlla se è presente un valore per il campo authenticatedUserEmail. Se è presente un valore in questo campo, l'utente è già stato 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 deve chiedere agli utenti di inserire le proprie credenziali. In base alla loro identità, puoi determinare il criterio appropriato e ottenere le informazioni sul provisioning del dispositivo (durante la registrazione del dispositivo) utilizzando il parametro GET provisioningInfo.

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

  6. Restituisci il token di registrazione generato nel passaggio 5 utilizzando il reindirizzamento URL, nel formato https://enterprise.google.com/android/enroll?et=<token>.

Metodo del codice QR

Android 7.0 e 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 su cui sono stati ripristinati i dati di fabbrica, l'utente (di solito un amministratore IT) tocca sei volte lo stesso punto dello schermo. In questo modo il dispositivo chiederà all'utente di eseguire la scansione di un codice QR.
  2. L'utente scansiona il codice QR visualizzato nella console di gestione (o in un'applicazione simile) per registrare e configurare il dispositivo.

Metodo NFC

Android 6.0 o versioni successive

Questo metodo richiede di creare un'app di programmazione NFC che contenga il token di registrazione, le policy 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 dispositivo diventa il dispositivo di programmazione.

Indicazioni dettagliate su come supportare il metodo NFC sono disponibili nella documentazione per gli sviluppatori dell'API Play EMM. Il sito include anche codice di esempio dei parametri predefiniti 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 questi passaggi 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 dettagli di accesso alla rete 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+ (Pixel 7.1+)

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 venga eseguito automaticamente il provisioning 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 (vedi 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 del dispositivo utilizzando gli extra di provisioning specificati nella configurazione assegnata.

Se i tuoi clienti utilizzano il portale della registrazione zero-touch, devono selezionare Android Device Policy come DPC EMM per ogni configurazione che creano. Istruzioni dettagliate su come utilizzare il portale, inclusa la procedura per creare e assegnare configurazioni ai dispositivi, sono disponibili nel Centro assistenza Android Enterprise.

Se preferisci che i tuoi clienti impostino e assegnino le configurazioni direttamente dalla tua console EMM, devi eseguire l'integrazione con l'API dei clienti zero-touch. Quando crei una configurazione, specifica gli extra di provisioning nel campo 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 nell'ambito della 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 installType dell'app sia REQUIRED_FOR_SETUP. Se l'app non può essere installata o avviata 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 l'avvio di un'app da launchApp, l'attività avviata per prima come parte dell'app contiene l'extra intent booleano com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (impostato su true). Questo extra ti consente di personalizzare la tua app in base all'avvio da setupActions o da parte di 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 avviata come SetupAction può annullare la registrazione restituendo RESULT_FIRST_USER.

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

Nota: l'annullamento della registrazione attiva l'azione senza una finestra di dialogo 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.

  • Imposta una norma come predefinita per un'azienda. Se nel token di registrazione non è specificato alcun nome di norma e esiste una norma con il nome enterprises/<enterprise_id>/policies/default, ogni nuovo dispositivo viene collegato automaticamente alla norma predefinita al momento della registrazione.

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

Registrare un dispositivo senza criteri

Se un dispositivo viene registrato senza un criterio valido, viene messo in quarantena. I dispositivi in quarantena sono bloccati da tutte le funzioni del dispositivo finché non vengono collegati a un criterio.

Se un dispositivo non viene collegato a un criterio entro cinque minuti, la registrazione del dispositivo non va a buon fine e vengono ripristinati i dati di fabbrica del dispositivo. Lo stato del dispositivo in quarantena ti offre l'opportunità di implementare controlli delle licenze o altri processi di convalida della registrazione nell'ambito della tua soluzione.

Esempio di flusso di lavoro di controllo delle licenze

  1. Un dispositivo viene registrato senza criteri predefiniti o specifici.
  2. Controlla quante licenze rimangono all'azienda.
  3. Se sono disponibili licenze, utilizza devices.patch per collegare un criterio al dispositivo, quindi decrementa il conteggio delle 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.