Modalità dispositivo condiviso per dispositivi Android

I lavoratori sul campo, ad esempio i collaboratori al dettaglio, i membri dell'equipaggio di volo e assistenza sul campo lavoratori usano spesso un dispositivo mobile condiviso per svolgere il proprio lavoro. Ciò diventa problematico quando iniziano a condividere password o numeri di pin per accedere ai dati aziendali e dei clienti nel dispositivo condiviso.

La modalità dispositivo condiviso consente di configurare un dispositivo Android in modo che possa essere facilmente condiviso da più dipendenti. I dipendenti possono accedere e accedere rapidamente alle informazioni dei clienti. Al termine del turno o dell'attività, è possibile disconnettersi dal dispositivo e sarà immediatamente pronto per l'uso da parte del dipendente successivo.

La modalità dispositivo condiviso offre anche la gestione supportata dall'identità Microsoft del dispositivo.

Per creare un'app in modalità dispositivo condiviso, gli sviluppatori e gli amministratori di dispositivi cloud interagiscono:

  • Gli sviluppatori scrivono un'app con account singolo (le app con più account non sono supportate in modalità dispositivo condiviso), aggiungono "shared_device_mode_supported": true alla configurazione dell'app e scrivono codice per gestire elementi come la disconnessazione del dispositivo condiviso.
  • Gli amministratori dei dispositivi preparano il dispositivo da condividere installando l'app di autenticazione e impostando il dispositivo sulla modalità condivisa usando l'app di autenticazione. Solo gli utenti che si trovano nel ruolo Amministrazione istrator del dispositivo cloud possono impostare un dispositivo in modalità condivisa usando l'app Authenticator. È possibile configurare l'appartenenza dei ruoli dell'organizzazione nell'interfaccia di amministrazione di Microsoft Entra in:

Ruoli di identità>e ruoli Amministrazione>s & Amministrazione s>Cloud Device Amministrazione istrator.

Questo articolo è incentrato principalmente sugli sviluppatori da considerare.

Applicazioni con account singolo e con più account

Le applicazioni scritte con Microsoft Authentication Library (MSAL) SDK possono gestire un singolo account o più account. Per informazioni dettagliate, vedere modalità con account singolo o modalità con più account.

Le funzionalità di Microsoft Identity Platform disponibili per l'app variano a seconda che l'applicazione sia in esecuzione in modalità con account singolo o con più account.

Le app in modalità dispositivo condiviso funzionano solo in modalità account singolo.

Importante

Le applicazioni che supportano solo la modalità con più account non possono essere eseguite in un dispositivo condiviso. Se un dipendente carica un'app che non supporta la modalità con account singolo, non verrà eseguita nel dispositivo condiviso.

Le app scritte prima del rilascio di MSAL SDK sono state eseguite in modalità con più account e devono essere aggiornate per supportare la modalità con account singolo prima di poter essere eseguite in un dispositivo in modalità condivisa.

Supporto sia di account singolo che di più account

L'app può essere compilata per supportare l'esecuzione su dispositivi personali e dispositivi condivisi. Se l'app supporta attualmente più account e si vuole supportare la modalità dispositivo condiviso, aggiungere il supporto per la modalità account singolo.

È anche possibile che l'app modifichi il comportamento a seconda del tipo di dispositivo in cui è in esecuzione. Usare ISingleAccountPublicClientApplication.isSharedDevice() per determinare quando eseguire in modalità account singolo.

Esistono due interfacce diverse che rappresentano il tipo di dispositivo su cui si trova l'applicazione. Quando si richiede un'istanza dell'applicazione dalla factory dell'applicazione msal, l'oggetto applicazione corretto viene fornito automaticamente.

Il modello a oggetti seguente illustra il tipo di oggetto che è possibile ricevere e il relativo significato nel contesto di un dispositivo condiviso:

public client application inheritance model

È necessario eseguire un controllo del tipo ed eseguire il cast all'interfaccia appropriata quando si ottiene l'oggetto PublicClientApplication . Il codice seguente verifica la presenza di più modalità account o modalità di account singolo ed esegue il cast appropriato dell'oggetto applicazione:

private IPublicClientApplication mApplication;

        // Running in personal-device mode?
        if (mApplication instanceOf IMultipleAccountPublicClientApplication) {
          IMultipleAccountPublicClientApplication multipleAccountApplication = (IMultipleAccountPublicClientApplication) mApplication;
          ...
        // Running in shared-device mode?
        } else if (mApplication instanceOf ISingleAccountPublicClientApplication) {
           ISingleAccountPublicClientApplication singleAccountApplication = (ISingleAccountPublicClientApplication) mApplication;
            ...
        }

Le differenze seguenti si applicano a seconda che l'app sia in esecuzione in un dispositivo condiviso o personale:

Dispositivo in modalità condivisa Dispositivo personale
Account Account singolo Più account
Accesso Generale Generale
Disconnessione Generale Ogni applicazione può controllare se la disconnessa è locale per l'app.
Tipi di account supportati Solo account aziendali Account personali e aziendali supportati

Perché può essere necessario supportare solo la modalità account singolo

Se si scrive un'app che verrà usata solo per i lavoratori sul campo che usano un dispositivo condiviso, è consigliabile scrivere l'applicazione in modo da supportare solo la modalità con account singolo. Questo vale per la maggior parte delle applicazioni incentrate su attività, come le app medicali, le app di fatturazione e quasi tutte le app line-of-business. Il supporto della modalità con account singolo semplifica lo sviluppo perché non è necessario implementare le altre funzionalità che fanno parte di app con più account.

Cosa accade quando cambia la modalità dispositivo

Se l'applicazione è in esecuzione in modalità con più account e un amministratore inserisce il dispositivo in modalità dispositivo condiviso, tutti gli account nel dispositivo vengono cancellati dall'applicazione e l'applicazione passa alla modalità con account singolo.

Applicazioni Microsoft che supportano la modalità dispositivo condiviso

Queste applicazioni Microsoft supportano la modalità dispositivo condiviso Microsoft Entra:

MDM di terze parti che supportano la modalità dispositivo condiviso

Questo dispositivo mobile di terze parti Gestione dispositivi (MDM) che supporta la modalità dispositivo condiviso Microsoft Entra:

Disconnesso del dispositivo condiviso e ciclo di vita complessivo dell'app

Quando un utente si disconnette, è necessario intervenire per proteggere la privacy e i dati dell'utente. Ad esempio, se si sta creando un'app per le cartelle cliniche che si vuole assicurarsi che quando l'utente si disconnette dai record dei pazienti visualizzati in precedenza viene cancellato. L'applicazione deve essere preparata per la privacy dei dati e controllare ogni volta che entra in primo piano.

Quando l'app usa MSAL per disconnettere l'utente in un'app in esecuzione nel dispositivo in modalità condivisa, l'account connesso e i token memorizzati nella cache vengono rimossi sia dall'app che dal dispositivo.

Il diagramma seguente mostra il ciclo di vita generale dell'app e gli eventi comuni che possono verificarsi durante l'esecuzione dell'app. Il diagramma illustra dal momento dell'avvio di un'attività, l'accesso e la disconnessione di un account e la modalità di sospensione, ripresa e arresto dell'attività.

Shared device app lifecycle

Passaggi successivi

Per altre informazioni su come eseguire un'app di lavoro sul campo in una modalità condivisa nel dispositivo Android, vedere: