Provisioning dei dispositivi

Esistono diversi modi per eseguire il provisioning dei dispositivi. I tuoi clienti attività in base ai requisiti della tua azienda determinano i metodi di provisioning da utilizzare.

Nozioni di base sul provisioning dei dispositivi

Gli scenari di implementazione del provisioning dei dispositivi che i tuoi clienti vogliono dell'assistenza clienti (come BYOD o di proprietà dell'azienda) determinano le modalità di funzionamento che (ad esempio la modalità proprietario del dispositivo o la modalità proprietario del profilo). Analogamente, le modalità di e le release di Android necessarie per consentire di stabilire che implementerai.

Scenari di deployment

In uno scenario di deployment di proprietà dell'azienda, l'azienda possiede e controlla completamente i dispositivi usati dai suoi dipendenti. In genere, le organizzazioni eseguono il deployment dispositivi di proprietà dell'azienda quando devono monitorare e gestire rigorosamente l'intero dispositivo.

Le aziende che supportano uno scenario di implementazione BYOD consentono dipendenti di portare al lavoro dispositivi di proprietà personale e di utilizzarli per accesso a informazioni e applicazioni aziendali privilegiate.

Modalità di funzionamento

Le implementazioni di proprietà dell'azienda sono supportate dalla modalità proprietario del dispositivo operativo. In Android, l'app di gestione è denominata Criteri relativi ai dispositivi il controller (DPC). Il DPC applica i criteri sui dispositivi Android quando agisce come proprietario del dispositivo, gestisce l'intero dispositivo. Come proprietario del dispositivo, il DPC può eseguire azioni a livello di dispositivo, ad esempio configurare connettività, configurare le impostazioni globali ed eseguire un ripristino dei dati di fabbrica.

Le implementazioni BYOD sono supportate dalla modalità proprietario del profilo di operativa. Tramite il DPC, l'azienda abilita i dispositivi personali per l'uso lavorativo aggiungendo un profilo di lavoro all'account utente principale sul dispositivo. Il lavoro profilo è associato all'utente principale, ma come profilo separato. Come profilo proprietario, il DPC gestisce solo il profilo di lavoro sul dispositivo un controllo limitato al di fuori del profilo di lavoro.

Metodi di provisioning del proprietario del dispositivo

Devi eseguire il provisioning della modalità operativa del proprietario del dispositivo durante la configurazione iniziale di un nuovo dispositivo o dopo un ripristino dei dati di fabbrica. Impossibile eseguire il provisioning della modalità Proprietario del dispositivo su un dispositivo in qualsiasi altro momento.

A seconda del caso d'uso, esistono due tipi principali di metodi di provisioning la modalità di proprietario del dispositivo di provisioning.

  • In un flusso basato sul dispositivo, gli amministratori IT possono utilizzare la tecnologia NFC per eseguire il numero di dispositivi. Questo flusso può essere utilizzato per l'account Google Play gestito o Google Workspace diversi scenari.
  • In un flusso basato dall'utente, le opzioni dipendono dal fatto che l'organizzazione o meno usa Google Workspace.
    • In uno scenario di Google Workspace, l'utente aggiunge il proprio Account Google durante la configurazione iniziale del dispositivo e il DPC deve guidare l'utente attraverso passaggi per configurare il proprietario del dispositivo. Una procedura guidata dagli utenti può aiutare gli utenti finali a impostare ed è inoltre un'alternativa quando i dispositivi non supportano la tecnologia NFC.
    • Se un'organizzazione non usa Google Workspace, devi usare lo account della versione gestita di Google Play.

Nota: se limiti la distribuzione della tua app a paesi specifici in Google Play, queste restrizioni vengono ignorate durante il provisioning del proprietario del dispositivo. Il DPC verrà scaricato anche se il dispositivo non si trova in un paese target.

Metodi di provisioning del proprietario del profilo

Il metodo consigliato per eseguire il provisioning della modalità operativa del proprietario del profilo dipende sull'uso o meno di Google Workspace da parte dell'organizzazione.

  • Nel caso di Google Workspace, il metodo consigliato è flusso guidato dall'utente in cui l'utente aggiunge il proprio Account Google e il DPC guiderà l'utente attraverso i passaggi per impostare il proprietario del profilo.
  • Se un'organizzazione non usa Google Workspace, il metodo consigliato è Account della versione gestita di Google Play.

Il metodo tradizionale, con cui all'utente viene chiesto di installare manualmente il DPC. Si basa sul download del DPC da Google Play e sull'installazione da parte dell'utente. mentre il DPC guida l'utente nel resto del processo per configurare proprietario del profilo.

Differenze di provisioning delle chiavi tra le versioni di Android

Scenario di deployment Modalità di funzionamento Metodo di provisioning 5,0, 5,1 6.0, successive 7.0, successive
Di proprietà dell'azienda Proprietario del dispositivo Codice QR
Account Google Play gestiti
Account Google
NFC
BYOD Proprietario del profilo Account Google Play gestiti
Account Google 5.11
Installazione manuale con DPC (controller criteri dispositivi)

Considerazioni generali sull'implementazione

Ecco alcuni aspetti da considerare scrivere il DPC, indipendentemente dalla modalità operativa da te implementata.

Compatibilità con Google Play Services

La Guida all'APK di Google Play Services indica agli sviluppatori di eseguire un controllo della versione di Google Play Services prima e l'esecuzione di transazioni API. Perché il tentativo di aggiornamento di Google Play Services causa gravi interruzioni nella procedura di configurazione del dispositivo, il DPC non deve tentano di aggiornare Google Play Services prima del completamento del provisioning dispositivo.

I punti chiave relativi alla compatibilità del DPC con Google Play Services sono:

  • Il DPC deve essere eseguito utilizzando Google Play Services in dotazione con dispositivo specifico.
  • Il DPC non deve fare affidamento sulle nuove funzionalità presenti nelle versioni future di Google Play disponibili al momento del provisioning dispositivo.

Una volta completato il provisioning del dispositivo, il DPC può chiedere all'utente di eseguire l'aggiornamento Google Play Services in modo che il DPC possa utilizzare le funzionalità più recenti. Tuttavia, se non è disponibile per qualche motivo, il DPC deve ricorrere automaticamente la versione fornita con il dispositivo.

Recupera i dettagli del dispositivo

A causa di ritardi nella propagazione, potrebbero essere necessari fino a 2 minuti prima di una chiamata a device.get per un dispositivo appena registrato restituirà i dettagli del dispositivo.

Se il tuo flusso di lavoro richiede i dettagli prima che l'utente finale possa utilizzare il dispositivo o profilo di lavoro, ti consigliamo di usare una schermata di avanzamento nel DPC e di attendere la chiamata ha esito positivo.

Considerazioni sull'implementazione per la modalità proprietario del profilo

Ecco alcuni aspetti da considerare scrivi il tuo DPC per implementare il proprietario del profilo modalità operativa.

Rimuovere o disattivare il DPC personale

Durante il provisioning della modalità operativa del proprietario del profilo, viene avviata l'esecuzione del DPC (controller criteri dispositivi). nel profilo personale e avvia la procedura per creare un profilo di lavoro. Una volta creato il profilo di lavoro, il DPC è in esecuzione anche all'interno del lavoro profilo. Il DPC nel profilo di lavoro completa il processo di provisioning. Alle ore A questo punto, il DPC nel profilo personale deve disattivare se stesso o il dispositivo l'utente deve rimuoverla.

L'utente rimuove il DPC personale

  1. Il DPC personale rimane in ascolto ACTION_MANAGED_PROFILE_PROVISIONED Per i dispositivi Android 5.1, il DPC personale deve invece ascoltare ACTION_MANAGED_PROFILE_ADDED).
  2. Il DPC personale avvia una richiesta di disinstallazione ACTION_UNINSTALL_PACKAGE In questo modo viene chiesto all'utente di disinstallare il DPC personale. Per l'utente migliore la procedura di disinstallazione dovrebbe avvenire durante il flusso di provisioning.

Il DPC personale si disattiva automaticamente

  1. Il DPC personale rimane in ascolto ACTION_MANAGED_PROFILE_PROVISIONED Per i dispositivi Android 5.1, il DPC personale deve invece ascoltare ACTION_MANAGED_PROFILE_ADDED).
  2. Se applicabile, il DPC personale deve rilasciare i privilegi amministrativi del dispositivo prima di disattivarsi.
  3. Il DPC personale avvia una setApplicationEnabledSetting disattiva la richiesta COMPONENT_ENABLED_STATE_DISABLED .
  4. L'utente può riattivare il DPC personale da Google Play.

Considerazioni sull'implementazione per la modalità Proprietario del dispositivo

Ecco alcuni aspetti da considerare quando scrivi il DPC per implementare la modalità operativa del proprietario del dispositivo.

Il dispositivo deve essere nuovo o di cui hai ripristinato i dati di fabbrica

Devi eseguire il provisioning della modalità operativa del proprietario del dispositivo durante la configurazione iniziale di un nuovo dispositivo o dopo un ripristino dei dati di fabbrica. La modalità Proprietario del dispositivo non può essere di cui è stato eseguito il provisioning su un dispositivo in qualsiasi altro momento.

La modalità Proprietario del dispositivo conferisce al DPC il controllo completo su un dispositivo. Se il provisioning modalità proprietario del dispositivo dopo la configurazione iniziale:

  • Il malware potrebbe potenzialmente creare un proprietario del dispositivo e assumere il controllo del dispositivo.
  • Potrebbero verificarsi problemi di privacy se alcuni dati utente o app erano già attivi del dispositivo.

Configura la modalità proprietario del dispositivo solo sui dispositivi di proprietà dell'azienda

Devi eseguire il provisioning della modalità proprietario del dispositivo solo sui dispositivi che identifichi come dell'azienda del tuo cliente. Puoi verificarlo rilevando un identificatore univoco del dispositivo (ad esempio, il numero di serie) o mediante l'utilizzo di un insieme di account autorizzati alla registrazione dei dispositivi tramite EMM .

Se non riesci a verificare la proprietà aziendale di un dispositivo, devi creare una protezione in modo che il provisioning della modalità proprietario del dispositivo non venga eseguito per errore. Ad esempio: puoi chiedere all'utente del dispositivo di confermare o eseguire un'azione prima di eseguire il provisioning della modalità di proprietario del dispositivo.

Abilita le app di sistema

Quando il DPC esegue il provisioning di un profilo di lavoro, tutte le app di sistema senza icone in Avvio applicazioni vengono considerati critici per il dispositivo e la loro esecuzione viene autorizzata automaticamente nel profilo di lavoro. Le app di sistema con icone in Avvio applicazioni sono considerate facoltativi e puoi decidere se abilitarli.

Abilitare le app di sistema tramite Google Play

Attivazione delle app di sistema tramite Google Play è facile e gli utenti ricevono gli aggiornamenti delle app non appena sono disponibili.

Abilita le app di sistema che utilizzano le API del framework Android

Se vuoi che gli utenti vedano le app di sistema non appena iniziano a usare i dispositivi: attivare le app di sistema come parte del processo di provisioning del dispositivo. Il DPC consente le app di sistema per nome del pacchetto o per intento, utilizzando DevicePolicyManager.enableSystemApp()

Esistono alcuni modi per identificare le app di sistema che vuoi attivare e presentare nella tua console EMM agli amministratori IT.

Creare cataloghi di app di sistema

Con questo metodo, ogni dispositivo determina quali app sono presenti sul dispositivo e invia i dati alla console EMM. La console EMM visualizza dinamicamente durante la creazione dei criteri relativi ai dispositivi, il che consente all'amministratore IT di gestire di singole app.

  1. Se non è stato ancora eseguito il provisioning del profilo di lavoro sul dispositivo, recupera un elenco di tutte le app con icone in Avvio applicazioni su un dispositivo che utilizzano queryIntentActivities():

    private List<ResolveInfo> getAppsWithLauncher() {
      Intent i = new Intent(Intent.ACTION_MAIN);
      i.addCategory(Intent.CATEGORY_LAUNCHER);
      return getPackageManager().queryIntentActivities(i, 0);
    }
    
  2. Se è già stato eseguito il provisioning del profilo di lavoro sul dispositivo, recupera un elenco di tutte le app nel profilo di lavoro che usano PackageManager.GET_DISABLED_COMPONENTS e PackageManager.GET_UNINSTALLED_PACKAGES.

  3. Trova le app di sistema nell'elenco delle app selezionando FLAG_SYSTEM, che indica se un'app è installata nell'immagine di sistema del dispositivo.

Pro:

  • Offre agli amministratori IT un quadro completo delle app su tutti i dispositivi.
  • Fornisce un controllo granulare sulle app da attivare.

Contro:

  • Poiché ogni dispositivo ha un catalogo di app diverso, è difficile applicare un modello della configurazione di un singolo criterio su più tipi di dispositivi.
  • Può essere difficile presentare il volume di app specifiche degli OEM in un un modo significativo per gli amministratori IT.

Classificare le app di sistema per funzionalità

Se un amministratore IT vuole abilitare un'app di sistema per un gruppo di dispositivi, selezionano un'app generica in base alla funzionalità; come ad esempio "Sistema Browser". Il DPC autorizza quindi tutte le app di sistema per quell'intento.

Pro:

  • Abilitazione semplice e basata sulle funzionalità per gli amministratori IT.
  • Garantisce funzionalità coerenti tra una varietà di dispositivi (almeno per casi d'uso comuni).

Contro:

  • Limita le app di sistema a quelle supportate su tutti i tipi di dispositivi.
  • Gli amministratori IT potrebbero voler eseguire il push di una versione OEM di un'app (ad esempio browser Samsung®), ma non un altro (ad esempio un browser LG®).
  • Gli amministratori IT potrebbero non voler eseguire il push di più app, ma non possono impedire quando sono presenti più gestori di intent.

Supportare solo le app di sistema approvate

Collabori con l'OEM per identificare i pacchetti OEM specifici e supportare solo quelli i pacchetti all'interno della console EMM. In questo modo puoi anche catalogare per l'app OEM, che altrimenti non sapresti perché L'app OEM non è ospitata su Google Play.

Pro:

  • Semplifica enormemente il flusso di lavoro di integrazione ed elimina i casi limite. problematici nelle prime due opzioni.
  • Puoi catalogare le configurazioni gestite per l'app OEM e presentarle nella console EMM per gli amministratori IT.
  • Consente relazioni strette con gli OEM per il supporto dei dispositivi di punta.

Contro:

  • Sono meno scalabili e riducono di conseguenza la scelta dei consumatori.

Scenari di test per il tuo DPC (controller criteri dispositivi)

Il DPC di test è un modello open source fornita da Google per testare le funzionalità aziendali nell'app DPC (controller criteri dispositivi). Il DPC di test è disponibile da github o Google Play. Puoi utilizzare il DPC di test per:

  • Simulare funzionalità in Android
  • Imposta e applica i criteri
  • Impostare limitazioni relative ad app e intent
  • Configurare i profili di lavoro
  • Configura i dispositivi Android completamente gestiti

Sebbene il DPC di test sia principalmente un veicolo per testare l'azienda per Android, puoi usarla anche come sorgente di codice di esempio per Android le funzionalità di machine learning.

Personalizza il provisioning

Durante il provisioning dei dispositivi, l'interfaccia utente di sistema mostra un colore predefinito in la barra di stato e un logo predefinito nella parte superiore dello schermo. Imposta colori personalizzati e loghi per fornire una transizione visiva coerente tra il DPC e il all'interfaccia di sistema o consentire agli amministratori di farlo utilizzando la console EMM. Ad esempio: un amministratore può caricare un logo aziendale o personalizzare l'aspetto delle schermate notifiche.

Il DPC applica le scelte relative al colore e al logo utilizzando il DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR e DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI extra.

Per impostare un colore personalizzato, utilizza EXTRA_PROVISIONING_MAIN_COLOR: per impostare un numero intero che indichi il colore predominante da mostrare durante il dispositivo per eseguire il provisioning. Inserisci la parte in più (costante) in un intent con ACTION_PROVISION_MANAGED_PROFILE o ACTION_PROVISION_MANAGED_DEVICE.

Per vedere come sono rappresentati i numeri interi, vedi Colore. Per un esempio, vedi MAIN_COLOR nell'app TestDPC.

Per impostare un logo personalizzato, utilizza EXTRA_PROVISIONING_LOGO_URI: per impostare un'immagine da visualizzare nella parte superiore dello schermo durante per eseguire il provisioning. Inserisci la parte in più (costante) in un intent con ACTION_PROVISION_MANAGED_PROFILE o ACTION_PROVISION_MANAGED_DEVICE. Assicurati che l'immagine abbia una densità di pixel ragionevole per il dispositivo.

Per un esempio, vedi LOGO_URI nell'app TestDPC.

Metodo codice QR

Il metodo di provisioning del codice QR imposta e configura la modalità Proprietario del dispositivo scansione di un codice QR dalla configurazione guidata. Il codice QR contiene un payload di coppie chiave-valore con tutte le informazioni necessarie al DPC per eseguire il provisioning un dispositivo.

La tua console EMM dovrebbe fornire agli amministratori IT un modo per creare codici QR per i dispositivi di cui si vuole eseguire il provisioning. L'amministratore IT invia i codici QR agli utenti finali, che questi ultimi eseguono il provisioning dei propri dispositivi analizzando Codici QR.

Casi d'uso per il provisioning del codice QR

Alcuni dispositivi, come i tablet, non supportano la tecnologia NFC. Il provisioning dei codici QR un modo pratico per eseguire il provisioning di un parco dispositivi distribuito che non supporta NFC. Un amministratore IT può inviare codici QR ai propri utenti per consentire l'accesso per eseguire il provisioning.

Il provisioning del codice QR non richiede un'identità Google, ad esempio un dominio Google o un Account Google. Organizzazioni che usano Android, ma non Google Workspace, non hanno un'identità Google.

Come NFC, il provisioning dei codici QR consente implementazioni kiosk e monouso in cui L'identità Google (o qualsiasi identità) non è necessaria né desiderabile. Ad esempio, un Il dispositivo kiosk di un negozio non appartiene a nessuno e non deve avere un utente finale e identità di base.

Crea un codice QR

Un codice QR valido per il provisioning del codice QR è un oggetto JavaScript® codificato in UTF-8 Stringa di notazione (JSON). Puoi includere queste proprietà in un codice QR valido:

Sempre obbligatoria

Obbligatorio se sul dispositivo non è già installato un DPC (controller criteri dispositivi)

Consigliato se il dispositivo non è già connesso alla rete Wi-Fi

Facoltativo

Questo esempio crea un codice QR valido:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

Procedura di provisioning del codice QR

  1. La configurazione guidata chiede all'utente di toccare la schermata di benvenuto 6 volte. La i tocchi devono essere effettuati nella stessa posizione dello schermo.
  2. La configurazione guidata chiede all'utente di connettersi a internet per che la procedura guidata può scaricare un lettore di codici QR.
  3. Google Play Services scarica un modulo che contiene un riconoscimento del codice QR e un motore analitico veloce basato su SQL.
  4. L'utente scansiona il codice QR fornito dall'amministratore IT.
  5. La configurazione guidata scarica l'app DPC e avvia il proprietario del dispositivo il processo di provisioning ACTION_PROVISION_MANAGED_DEVICE

Metodo degli account della versione gestita di Google Play

Un DPC può utilizzare il metodo di provisioning degli account della versione gestita di Google Play per configurare modalità proprietario del dispositivo o proprietario del profilo. Questo metodo di provisioning è scelto come target delle organizzazioni che non usano Google Workspace.

Il metodo di provisioning degli account Google Play gestiti utilizza Libreria di supporto DPC. Questa libreria client garantisce il corretto funzionamento della versione gestita di Google Play Account. Mantiene inoltre la compatibilità con gli aggiornamenti futuri Procedura di provisioning degli account Google Play.

Prerequisiti per il provisioning dei dispositivi

  • L'ID azienda viene creato e registrato con un'identità EMM e l'ESA. come descritto in Crea e registra un'azienda.
  • L'identità aziendale dell'utente è nota alla tua console EMM.
  • L'utente può accedere all'app DPC utilizzando le credenziali accettate dal tuo provider EMM della console, in genere le credenziali email aziendali.

Configura la modalità proprietario del profilo

Puoi eseguire il provisioning della modalità operativa del proprietario del profilo su un dispositivo che viene utilizzata in uno scenario BYOD come dispositivo personale.

  1. L'utente scarica manualmente il tuo DPC da Google Play e lo avvia.
  2. Il DPC esegue il provisioning del profilo di lavoro utilizzando ACTION_PROVISION_MANAGED_PROFILE
  3. Completa gli ultimi passaggi di configurazione.

Configura la modalità proprietario del dispositivo

Devi eseguire il provisioning della modalità operativa del proprietario del dispositivo durante la configurazione iniziale di un nuovo dispositivo o dopo un ripristino dei dati di fabbrica. Non è possibile eseguire il provisioning della modalità Proprietario del dispositivo in un dispositivo in qualsiasi altro momento.

Durante la configurazione del dispositivo, l'utente inserisce un token speciale DPC specifico per il viene richiesto di aggiungere un account. Un token è nel formato afw#DPC_IDENTIFIER. Per un EMM denominato ACME, afw#acme installerà il DPC predefinito di ACME EMM. Ogni EMM deve richiedere a Google un identificatore DPC specifico prima di poter utilizzare durante il processo di provisioning.

  1. L'utente accende un dispositivo nuovo o di cui è stato ripristinato i dati di fabbrica e la configurazione guidata viene avviato.
  2. Quando viene richiesto di aggiungere un account, l'utente inserisce un token speciale nel formato afw#DPC_IDENTIFIER che identifica il DPC per il tuo provider EMM.
  3. Utilizzando l'identificatore DPC nel token, la configurazione guidata aggiunge un Account Google al dispositivo. Questo account temporaneo viene utilizzato solo per scaricare il DPC (controller criteri dispositivi) dell'EMM da Google Play e viene rimosso i passaggi di configurazione finali.
  4. Il DPC esegue il provisioning del dispositivo utilizzando ACTION_PROVISION_MANAGED_DEVICE
  5. Completa gli ultimi passaggi di configurazione.

Passaggi finali di configurazione per tutte le modalità operative

Esegui questi passaggi soltanto dopo i passaggi iniziali per la configurazione la modalità proprietario del profilo o la modalità proprietario del dispositivo sono state completate.

  1. Il DPC assicura che il dispositivo possa supportare gli account della versione gestita di Google Play inizializzando la libreria di supporto DPC:

    AndroidForWorkAccountSupport androidForWorkAccountSupport =
      new AndroidForWorkAccountSupport(context, admin);
    androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
    

    Se stai configurando la modalità proprietario del dispositivo su un dispositivo, questo passaggio rimuove il l'Account Google temporaneo aggiunto per scaricare il DPC.

  2. L'utente accede al DPC utilizzando le proprie credenziali EMM. Si tratta di di solito le credenziali email aziendali.

  3. Il DPC richiede le credenziali dell'account Google Play gestito per utente aziendale autenticato dalla console EMM.

  4. Se la console EMM non dispone di un userId di Google Play per l'utente, crea un nuovo utente chiamando Users.insert() Se esegui il provisioning della modalità Proprietario del dispositivo, specifica un account del dispositivo (ad deployment di dispositivi dedicati) o un account utente (per le implementazioni di proprietà dell'azienda).

  5. Imposta i criteri del dispositivo chiamando Devices.update Devi configurare le norme prima di aggiungere l'account della versione gestita di Google Play a dispositivo, altrimenti il criterio non verrà applicato per un breve periodo dopo aver aggiunto l'account al dispositivo.

  6. La console EMM richiede le credenziali dell'account per userId entro il giorno chiamata Users.generateAuthenticationToken() Questo token di autenticazione è di breve durata e non può essere riutilizzato. Il DPC deve utilizzare il token per aggiungere l'account in modo programmatico (non serve a niente dell'utente).

  7. L'API EMM di Google Play restituisce il token di autenticazione alla console EMM.

  8. La console EMM inoltra il token di autenticazione al DPC (controller criteri dispositivi).

  9. Il DPC aggiunge l'account della versione gestita di Google Play al dispositivo utilizzando

    androidForWorkAccountSupport.addAndroidForWorkAccount(token,
      accountAddedCallback);
    

Metodo Account Google

Un DPC può utilizzare il metodo di provisioning dell'Account Google per configurare il proprietario del dispositivo o alla modalità proprietario del profilo. Con il metodo di provisioning dell'Account Google, Il DPC guida l'utente attraverso la procedura di provisioning dopo che l'utente ha aggiunto la propria Account Google durante la configurazione iniziale del dispositivo.

Quando un utente inserisce le credenziali del proprio Account Google:

  • Il server di autenticazione di Google autentica l'account utente.
  • Il server di autenticazione comunica quindi con il server aziendale per se il dominio dell'account è registrato come dominio Google Workspace o come Dominio gestito da EMM.
  • In tal caso, il sistema scarica automaticamente il DPC associato al dominio da Google Play e installarlo.

Configura la modalità proprietario del profilo

Puoi eseguire il provisioning della modalità operativa del proprietario del profilo durante la configurazione iniziale di un dispositivo o quando l'utente aggiunge un account tramite Impostazioni > Aggiungi account.

  1. L'autenticazione dell'account viene avviata da un utente dalla configurazione guidata o da Impostazioni > Aggiungi account.
  2. GMSCore avvia il provisioning del profilo di lavoro utilizzando ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.
  3. Il DPC viene scaricato automaticamente sul dispositivo e avviato utilizzando ACTION_GET_PROVISIONING_MODE per verificare che il provisioning del profilo di lavoro sia supportato dal DPC (controller criteri dispositivi).
  4. La piattaforma esegue il provisioning del profilo di lavoro.
  5. Quando viene eseguito il provisioning del profilo di lavoro, il DPC riceve la trasmissione ACTION_PROFILE_PROVISIONING_COMPLETE La proprietà ACTION_ADMIN_POLICY_COMPLIANCE del DPC (controller criteri dispositivi) viene avviato nel profilo di lavoro. Una volta creato il profilo di lavoro, il DPC sia eseguito anche all'interno del profilo di lavoro. Il DPC applica i criteri per questo Account Google gestito, garantisce che il dispositivo non si trovi in una zona stato e verifica che i criteri siano applicati (ad esempio richiedendo una della password).
  6. Il DPC nel profilo personale si disattiva o l'utente lo rimuove.

Configura la modalità proprietario del dispositivo o COPE

Devi eseguire il provisioning della modalità operativa del proprietario del dispositivo durante la configurazione iniziale di un nuovo dispositivo o dopo un ripristino dei dati di fabbrica. La modalità Proprietario del dispositivo non può essere aggiunta a un dispositivo in qualsiasi altro momento.

  1. L'autenticazione dell'account viene avviata da un utente tramite la configurazione guidata.
  2. GMSCore avvia il provisioning dei proprietari dei dispositivi utilizzando ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE. 3.Il DPC viene scaricato automaticamente sul dispositivo e avviato utilizzando il gestore GET_PROVISIONING_MODE per selezionare la modalità di provisioning desiderata.
  3. La piattaforma esegue il provisioning del dispositivo nella modalità di provisioning desiderata.
  4. Una volta eseguito il provisioning del dispositivo, il DPC riceve i seguenti broadcast e viene avviato il gestore ACTION_ADMIN_POLICY_COMPLIANCE del DPC:
  5. Il DPC utilizza il valore Global.DEVICE_PROVISIONED per verificare che il dispositivo sia nuovo o abbia ripristinato i dati di fabbrica (provisioning non eseguito):
    • 0 - Provisioning non eseguito.
    • 1 - Provisioning effettuato.
  6. Il DPC completa il processo di provisioning eseguendo il push dei criteri per questo dispositivo gestito, garantendo che non si trovi in uno stato compromesso. per verificare che i criteri siano applicati (ad esempio, richiedere una password).

Considerazioni sull'implementazione per il metodo Account Google

  • Il DPC deve rilevare il flusso di autenticazione dell'Account Google cercando gli extra specifici nell'intento di lancio utilizzati (vedi LaunchIntentUtil):

    • Account di tipo android.accounts.Account : indica che è stato aggiunto dalla configurazione guidata o da Impostazioni > Aggiungi account, che richiede il DPC lanciato per gestire il dispositivo o il profilo.
    • is_setup_wizard di tipo Booleano : se true, il DPC è stato avviato in la configurazione guidata prima del completamento della configurazione guidata, altrimenti Impostazioni > Aggiungi account o un altro flusso.

    Un controllo per verificare se il DPC è stato lanciato come parte del metodo Account Google è:

    boolean isSynchronousAuthLaunch(Intent launchIntent) {
      return launchIntent.hasExtra("is_setup_wizard");
    }
    
  • Il DPC non deve chiamare finish() prima del termine della configurazione. Dovrebbe anche restituire un codice risultato positivo (ad esempio RESULT_OK) come il DPC lanciato con startActivityForResult() e attende un risultato.

    Il DPC deve attendere di ricevere un codice risultato dal processo di provisioning prima chiamata a finish() se il flusso di configurazione DPC raggiunge il punto di invio di un Intenzione ACTION_PROVISION_*. Utilizza la startActivityForResult() e onActivityResult() all'avvio di ACTION_PROVISION_* intent. (Vedi LaunchActivity e SetupSyncAuthManagement per gli esempi).

    A causa della natura potenzialmente asincrona del processo di configurazione, il DPC (controller criteri dispositivi) non può fare affidamento su un codice risultato RESULT_OK per indicare che il provisioning riuscito. L'unico modo garantito è fare affidamento DeviceAdminReceiver sulla riuscita del provisioning. RESULT_CANCELED indica che l'utente sottoposti a backup in una parte sincrona del flusso di configurazione e il DPC deve reagire a questo punto.

    In questo esempio, il DPC avvia il provisioning e attende il codice risultato di un'attività:

    Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
    startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    
    @Override
    public void onActivityResult(int req, int res, Intent i) {
        if (req == REQUEST_MANAGED_PROFILE) {
            if (res == Activity.RESULT_OK) {
                setResult(Activity.RESULT_OK);
                finish();
            } else {
                Toast.makeText(this, Provisioning failed,
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    
  • Il DPC non deve tentare di configurare la modalità operativa del proprietario del dispositivo se è già stato eseguito il provisioning del dispositivo (vedi ProvisioningStateUtil.isDeviceProvisioned()). In questo esempio, il DPC controlla se viene eseguito il provisioning del dispositivo:

    public static boolean isDeviceProvisioned(Context context) {
    ContentResolver cr = context.getContentResolver();
        return
    Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
    }
    
  • (Facoltativo) Il DPC può utilizzare EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE extra quando si avvia il provisioning per ritrasmettere le informazioni sullo stato DeviceAdminReceiver (che nel caso del proprietario del profilo è in esecuzione all'interno del profilo di lavoro). TestDPC utilizza questo extra inserire un altro insieme di attività nel flusso dell'Account Google dopo viene completato il provisioning. Per maggiori dettagli, vedi DeviceAdminReceiver

    public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
    {
      @Override
      public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC's launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
    
  • Per configurare un profilo di lavoro, il DPC deve eseguire la migrazione dell'account aggiunto al nuovo profilo di lavoro. A tal fine, il DPC deve trasmettere l'account fornito nel intenzione di lancio per ACTION_PROVISION_MANAGED_PROFILE

  • Il DPC deve fornire all'utente un chiaro invito all'azione (ad esempio Fine) per uscire dall'app al termine della configurazione in modo che l'utente non pensi non c'è una via d'uscita.

  • Il DPC deve utilizzare il tema o la libreria di layout della configurazione guidata, in modo che l'utente sia fluida e ben integrata.

Metodo NFC

Un DPC può utilizzare il metodo di provisioning NFC per configurare la modalità proprietario del dispositivo. Nella metodo di provisioning NFC, o tag NFC, crei un'app programmatore NFC che contiene i criteri iniziali e la configurazione, le impostazioni e dettagli di provisioning richiesti dal tuo cliente per configurare il proprietario del dispositivo modalità operativa. Quando tu o il tuo cliente installano l'app di programmazione NFC un dispositivo Android, tale dispositivo diventa il dispositivo di programmazione.

Per eseguire il provisioning di un dispositivo, l'amministratore IT prende un nuovo dispositivo dalla confezione e lo colpisce contro il dispositivo di programmazione o il Tag NFC. Il dosso si trasferisce configurazioni al dispositivo in modo che si connetta a internet e scarichi i criteri e le impostazioni appropriati. Il dispositivo viene quindi gestito dal tuo DPC (controller criteri dispositivi).

Dopo il provisioning di un dispositivo, per un breve periodo di tempo Google Play mostra lo stato non gestito contenuti per consumatori invece che app e raccolte approvate che dovrebbero display. che può durare da pochi minuti a un'ora.

Crea l'app di programmazione e il dispositivo di programmazione NFC

Sui dispositivi con Android 10 o versioni precedenti, è possibile usare Android Beam per completare un provisioning NFC:

  1. Scarica l'app di esempio del programmatore NFC. Puoi utilizzare il campione così com'è senza aggiunte oppure puoi modificarlo per i valori predefiniti.
  2. Installa l'app di programmazione sul dispositivo scelto.
  3. Avvia l'app di programmazione NFC e seleziona Carica impostazioni predefinite. per com.example.android.apis. Questo testo può variare a seconda dell'impostazione predefinita parametri che hai impostato.)

Eseguire il provisioning di un dispositivo del cliente

  1. Avvicina il dispositivo del programmatore o il Tag NFC a un dispositivo nuovo o a uno che è stato ripristinare i dati di fabbrica.
  2. Verifica che il dispositivo resti nella schermata di benvenuto iniziale, visualizzata visualizzato all'avvio. Il testo è specificato in Ready to send:{...} nell'app del programmatore.
  3. Attendi mentre il DPC:
    1. Cripta il dispositivo.
    2. Se si tratta di un dispositivo CDMA (Code-Division Multi Access): attiva il uno smartphone mentre è visualizzata un'interfaccia utente di telefonia (non è richiesta alcuna interazione).
    3. Configura la connessione Wi-Fi.
    4. Scarica il file APK per com.example.android.apis.
    5. Installa com.example.android.apis.
    6. Imposta l'amministratore del dispositivo di esempio in com.example.android.apis come proprietario del dispositivo.
    7. Mostra un "toast" riuscito quando viene attivato il proprietario del dispositivo.
  4. Una volta tornata alla home page (la configurazione guidata viene saltata automaticamente), verifica che com.example.android.apis sia impostato come proprietario del dispositivo:
    1. In Impostazioni > Sicurezza > Amministratori dispositivo, assicurati che lo stato del dispositivo Impossibile rimuovere l'amministratore.
    2. In Impostazioni > Utenti > Utenti e profili > Tu (proprietario), assicurati che: Il proprietario è l'unico account disponibile (un dispositivo può avere un solo account attivo proprietario del dispositivo alla volta).

Risorse aggiuntive

NFC avanzata descrive argomenti quali l'utilizzo di varie tecnologie di tag, la scrittura nell'NFC tag e invii in primo piano.

Metodo di installazione manuale del DPC

Per impostare la modalità proprietario del profilo utilizzando il metodo di provisioning manuale dell'installazione DPC (controller criteri dispositivi), l'utente scarica il tuo DPC da Google Play e lo installa. Il DPC (controller criteri dispositivi) guida l'utente nel resto della procedura per impostare il proprietario del profilo l'Account Google gestito.

Il DPC può aggiungere l'Account Google gestito prima o dopo la creazione il profilo di lavoro. Ad esempio, il DPC può creare un profilo di lavoro basato su le credenziali EMM dell'utente invece di richiedere l'Account Google gestito per prima cosa.

Configura la modalità proprietario del profilo

Devi prima aggiungere l'Account Google gestito

  1. L'utente scarica il tuo DPC da Google Play e lo installa.
  2. Il DPC aggiunge l'Account Google gestito prima di creare il profilo di lavoro utilizzando AccountManager.addAccount().
  3. Il DPC inizia a essere eseguito nel profilo personale e avvia il processo per crea un profilo di lavoro utilizzando:
  4. Il DPC nel profilo di lavoro completa il processo di provisioning. Una volta che il lavoro esistente, il DPC è in esecuzione anche all'interno del profilo di lavoro. Il DPC (controller criteri dispositivi) Il profilo di lavoro completa il processo di provisioning eseguendo il push dei criteri per l'Account Google gestito, assicurandosi che il dispositivo non si trovi in una zona stato e per verificare che i criteri siano applicati (ad esempio richiedendo una della password).
  5. Quando viene eseguito il provisioning del profilo di lavoro, il DPC riceve la trasmissione ACTION_PROFILE_PROVISIONING_COMPLETE
  6. Il DPC nel profilo personale si disattiva o quando l'utente lo rimuove.

Devi prima creare il profilo di lavoro

  1. L'utente scarica il tuo DPC da Google Play e lo installa.
  2. Il DPC inizia a essere eseguito nel profilo personale e avvia il processo per crea un profilo di lavoro utilizzando:
  3. Il DPC aggiunge l'Account Google gestito utilizzando AccountManager.addAccount()
  4. Il DPC riceve la trasmissione ACTION_PROFILE_PROVISIONING_COMPLETE e legge EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE.
  5. Il DPC nel profilo di lavoro completa il processo di provisioning. Una volta creato il profilo di lavoro, il DPC è in esecuzione anche all'interno del lavoro profilo. Il DPC nel profilo di lavoro completa il processo di provisioning push dei criteri per quell'Account Google gestito, assicurando che il dispositivo non è in stato compromesso e verifica che i criteri vengano applicati (come la richiesta di una password).
  6. Il DPC abilita il profilo di lavoro utilizzando DevicePolicyManager.setProfileEnabled()
  7. Il DPC nel profilo personale si disattiva o quando l'utente lo rimuove.

  1. Il metodo Account Google in Android 5.1 supporta solo la modalità operativa del proprietario del profilo e l'utente può configurarlo solo da Impostazioni > Aggiungi account