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, un dispositivo installa Android Device Policy, che viene utilizzato per ricevere e applicare policies. Se il provisioning va a buon fine, 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 un dispositivo (di proprietà personale o aziendale) e la modalità di gestione (profilo di lavoro o dispositivo completamente gestito).

Un sistema di quote controlla il numero di dispositivi che ogni progetto può gestire. Devi richiedere la quota iniziale dei dispositivi prima di poter eseguire il provisioning del primo 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 fornisce uno spazio autonomo per app e dati di lavoro, separato da app e dati personali. La maggior parte delle policies di gestione di app, dati e altro 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 utilizzare il dispositivo sia per uso lavorativo sia 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 ai dispositivi di proprietà dell'azienda destinati esclusivamente a scopi lavorativi. Le aziende possono gestire tutte le app sul dispositivo e applicare l'intera gamma di policy e comandi dell'API Android Management.

È anche possibile bloccare un dispositivo (tramite policy) in modo che utilizzi una singola app o un piccolo insieme di app per uno scopo o un caso d'uso dedicati. 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à dell'azienda, 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.

Le policy possono influire sulla generazione della UI durante il provisioning del dispositivo. Queste policy sono:

Se vuoi che i passaggi per la password vengano mostrati insieme all'installazione delle app di lavoro e alle schede di registrazione del dispositivo durante il provisioning del dispositivo, ti suggeriamo di aggiornare le policy per ritardare l'avvio della generazione della UI mantenendo il dispositivo in uno stato di quarantena, che si verifica se la registrazione avviene senza una policy associata, fino a quando non specifichi la policy selezionata finale per la configurazione del dispositivo compilata con elementi pertinenti alle tue esigenze di configurazione. Una volta completato il provisioning del dispositivo, puoi modificare la policy in base alle tue esigenze.


Crea 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. Per impostazione predefinita, i token di registrazione scadono dopo un'ora,ma puoi specificare una data di scadenza personalizzata (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 eseguire il provisioning dei dispositivi.

Specifica una policy

Potresti anche voler specificare un policyName nella richiesta per applicare una policy contemporaneamente alla registrazione di un dispositivo. Se non specifichi un policyName, consulta Registra un dispositivo senza una policy.

Specifica l'utilizzo personale

allowPersonalUsage determina se è possibile aggiungere un profilo di lavoro al dispositivo durante il provisioning. Imposta 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à aziendale).

Esenzione per i token di registrazione esistenti

Alcuni clienti utilizzano token di registrazione con date di scadenza lunghe per eseguire registrazioni ripetute. Per assicurarti che questi workflow esistenti non vengano interrotti, tutti i token creati PRIMA che il requisito "Autenticati utilizzando Google" venisse attivato per la prima volta sono esenti dai nuovi prompt di accesso. Questi token meno recenti continueranno a funzionare come prima, consentendo agli utenti di registrare i dispositivi senza sottoporsi alla procedura di autenticazione di Google.

Tuttavia, tutti i token creati DOPO la prima attivazione del requisito di autenticazione di Google seguono le nuove regole di autenticazione. Ciò significa che i dispositivi che utilizzano questi token più recenti richiedono agli utenti di autenticarsi in base alle impostazioni scelte dall'amministratore IT. Per i dispositivi dedicati che non devono archiviare i dati utente, assicurati che allowPersonalUsage sia impostato su PERSONAL_USAGE_DISALLOWED_USERLESS per evitare di visualizzare la schermata di autenticazione.

Applica l'autenticazione Google al momento della registrazione

Gli EMM possono imporre l'accesso con l'Account Google durante la registrazione del dispositivo impostando i valori appropriati sul token di registrazione o sul token di accesso. Questa configurazione determina se il pulsante "Salta" è nascosto nella schermata di accesso di Google. Se impostate, queste opzioni sostituiscono la policy googleAuthenticationSettings a livello aziendale.

Opzioni di configurazione

Puoi controllare il comportamento di autenticazione utilizzando l'oggetto googleAuthenticationOptions all'interno di un EnrollmentToken o di un SigninDetail.

Campo Descrizione Valori
authenticationRequirement Specifica se l'utente deve autenticarsi con Google durante la registrazione. AUTHENTICATION_REQUIREMENT_UNSPECIFIED: viene eseguito il fallback alle impostazioni predefinite dell'azienda.
FACOLTATIVO: l'utente vede la schermata di accesso di Google, ma può scegliere di saltarla.
OBBLIGATORIO: l'utente non può saltare l'accesso. Il pulsante "Salta" è nascosto.
requiredAccountEmail L'indirizzo email specifico dell'Account Google gestito che l'utente deve utilizzare.
Nota: authenticationRequirement DEVE essere impostato su REQUIRED se viene utilizzato questo campo.
Stringa (ad es. "user@enterprise.com")

Esempi di payload JSON

Disattiva il pulsante Salta

Per nascondere il pulsante "Salta" e forzare l'utente ad accedere con un account aziendale valido, imposta il requisito di autenticazione su REQUIRED.

{
  ...
  "googleAuthenticationOptions": {
    "authenticationRequirement": "REQUIRED"
  }
}

Richiedi un indirizzo email specifico per l'account

Per forzare l'utente ad accedere con un account designato, definisci la stringa requiredAccountEmail. La richiesta di creazione del token non andrà a buon fine e restituirà un errore INVALID_ARGUMENT se il campo del requisito non è impostato su REQUIRED.

{
...
  "googleAuthenticationOptions": {
    "authenticationRequirement": "REQUIRED",
    "requiredAccountEmail": "user@enterprise.com"
  }
}

Informazioni sui codici QR

I codici QR sono un metodo di provisioning dei dispositivi efficiente per le aziende che mantengono molti criteri diversi. 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 ad Android Device Policy per 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 direttamente il codice QR restituito da enterprises.enrollmentTokens.create o personalizzarlo. Per un elenco completo delle proprietà che puoi includere in un bundle di codici QR, consulta Crea 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.

Aggiungi 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 configurazione guidata 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.

Scarica Android Device Policy

Android 5.1 e versioni successive

Per configurare un profilo di lavoro sul proprio dispositivo Android, un utente può scaricare Android Device Policy dal Google Play Store. Dopo aver installato l'app, all'utente verrà chiesto di scansionare il codice QR o di 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 dal 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 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 la policy appropriata 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 di proprietà personale, facoltativo per i dispositivi di proprietà aziendale).

    Aggiungi il signinEnrollmentToken risultante come extra di provisioning a un codice QR, un payload NFC o una 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 di cui sono stati ripristinati i 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. 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 il 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. Ottieni le informazioni di provisioning del dispositivo (durante la registrazione del dispositivo) utilizzando il parametro GET provisioningInfo e verifica se è presente un valore per il campo authenticatedUserEmail. Se questo campo contiene un valore, l'utente è già stato autenticato correttamente da Google e puoi utilizzare questa identità senza ulteriori autenticazioni.

  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 la policy appropriata e ottenere le informazioni di 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>.

Forza l'autenticazione Google con il flusso dell'URL di accesso

Quando utilizzi SigninDetail per i flussi di accesso di terze parti (tramite enterprises.create o enterprises.patch), puoi passare googleAuthenticationOptions. In questo modo, le regole vengono applicate prima che l'utente venga reindirizzato all'URL di accesso di terze parti.

Quando viene creata una EnrollmentToken alla fine di un flusso di URL di accesso, i suoi requisiti di autenticazione interagiscono con la SigninDetail iniziale:

  • Se l'utente ha saltato l'accesso con Google perché non era richiesto da SigninDetail, ma il EnrollmentToken risultante ha il requisito impostato su REQUIRED, l'utente visualizzerà un errore e dovrà accedere.
  • Se requiredAccountEmail è impostato sul token e l'utente ha eseguito l'accesso con un indirizzo diverso appartenente all'azienda, riceverà un errore "Account errato" e dovrà eseguire di nuovo l'accesso con l'indirizzo email richiesto corretto.

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 lo schermo sei volte nello stesso punto. In questo modo il dispositivo chiederà all'utente di scansionare un codice QR.
  2. L'utente scansiona il codice QR visualizzato nella console di gestione (o in un'applicazione simile) per registrare ed eseguire il provisioning del dispositivo.

Metodo NFC

Android 6.0 e versioni successive

Questo metodo richiede la creazione di un'app di programmazione NFC contenente 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 NFC Programmer su un dispositivo Android, questo diventa il dispositivo programmatore.

Per istruzioni dettagliate su come supportare il metodo NFC, consulta la documentazione per lo sviluppo dell'API Play EMM. Il sito include anche il codice campione 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 dell'identificatore DPC

Se non è possibile aggiungere Android Device Policy utilizzando il codice QR o l'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 per scaricare Android Policy per i dispositivi.
  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 eseguano automaticamente il provisioning al primo avvio.

Le organizzazioni possono creare configurazioni contenenti i dettagli di provisioning per i loro dispositivi zero-touch, tramite il portale della registrazione zero-touch o utilizzando la tua 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 del dispositivo 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 EMM DPC per ogni configurazione che creano. Istruzioni dettagliate su come utilizzare il portale, tra cui come 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, specifichi gli extra di provisioning nel campo dpcExtras. Il seguente snippet JSON 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}"
   }
}

Avvia un'app durante la configurazione

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

In policies, puoi specificare un'app che Android Device Policy deve avviare durante la configurazione del dispositivo o del profilo di lavoro. Ad esempio, potresti avviare un'app VPN in modo che gli utenti possano configurare le impostazioni della 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 valore di 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 un'app avviata da launchApp, l'attività avviata per prima come parte dell'app contiene l'extra dell'intent booleano 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 venga 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.

Annulla 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à 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 dialogo di conferma dell'utente. È responsabilità dell'app mostrare all'utente una finestra di dialogo di errore appropriata prima di restituire RESULT_FIRST_USER.

Applica una policy ai dispositivi appena registrati

Il metodo che utilizzi per applicare le policy ai dispositivi appena registrati dipende da te e dalle esigenze dei tuoi clienti. Ecco i diversi approcci che puoi utilizzare:

  • (Consigliato) Quando crei un token di registrazione, puoi specificare il nome della policy (policyName) che verrà inizialmente collegata al dispositivo. Quando registri un dispositivo con il token, la policy viene applicata automaticamente al dispositivo.

  • Imposta una policy come predefinita per un'azienda. Se nel token di registrazione non viene specificato alcun nome di policy ed esiste una policy con il nome enterprises/<enterprise_id>/policies/default, ogni nuovo dispositivo viene collegato automaticamente alla policy 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 enterprises.devices.patch per collegare il dispositivo a una policy.

Registra un dispositivo senza policy

Se un dispositivo viene registrato senza una policy valida, viene messo in quarantena. I dispositivi in quarantena sono bloccati per tutte le funzioni finché non vengono collegati a una policy.

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

Esempio di workflow di controllo delle licenze

  1. Un dispositivo viene registrato senza una policy predefinita o una policy specifica.
  2. Controlla quante licenze rimangono all'azienda.
  3. Se sono disponibili licenze, utilizza devices.patch per collegare una policy al dispositivo, quindi decrementa 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 una policy entro cinque minuti dalla registrazione.