Режим совместной работы с устройством Android

Сотрудники, взаимодействующие с клиентами, такие как продавцы, члены летного экипажа, а также работники выездного обслуживания, часто используют общее мобильное устройство для работы. Это создает проблемы при совместном использовании паролей или ПИН-кодов для доступа к данным клиентов и бизнес-данным на общем устройстве.

Режим совместной работы с устройством позволяет настроить устройство Android так, чтобы его можно было легко совместно использовать нескольким сотрудникам. Сотрудники могут входить в систему и быстро получать доступ к сведениям о клиентах. Когда они завершаются сменой или задачей, они могут выйти из устройства, и он будет немедленно готов к использованию следующего сотрудника.

Режим совместной работы с устройством также предоставляет для него функцию управления через Microsoft Identity.

Над приложением для совместной работы с устройством разработчики и администраторы облачных устройств работают вместе:

  • Разработчики пишут приложение с одной учетной записью (в режиме совместной работы с устройством не поддерживаются приложения с несколькими учетными записями), добавляют "shared_device_mode_supported": true в конфигурацию приложения и пишут код для обработки таких действий, как выход с общего устройства.
  • Администраторы устройства подготавливают устройство к совместному использованию, устанавливая приложение Authenticator и настроив для устройства режим общего доступа с помощью приложения Authenticator. Только пользователи с ролью Администратор облачных устройств могут перевести устройство в режим общего доступа с помощью приложения Authenticator. Вы можете настроить членство ролей организации в Центре администрирования Microsoft Entra в разделе:

Роли удостоверений и Администратор роли и Администратор>облачных>устройств Администратор istrator.>

В этой статье главным образом рассматривается то, о чем следует думать разработчикам.

Приложения с одной или несколькими учетными записями

Приложения, написанные с помощью пакета SDK библиотеки проверки подлинности Майкрософт (MSAL), могут управлять одной или несколькими учетными записями. Дополнительные сведения см. в статье о режиме одной учетной записи или нескольких учетных записей.

Возможности платформы удостоверений Майкрософт, доступные для приложения, зависят от того, выполняется ли приложение в режиме одной или нескольких учетных записей.

Приложения в режиме совместной работы с устройством работают только в режиме одной учетной записи.

Внимание

Приложения, поддерживающие только режим нескольких учетных записей, не могут выполняться на общем устройстве. Если сотрудник загружает приложение, которое не поддерживает режим одной учетной записи, оно не будет выполняться на общем устройстве.

Приложения, написанные до выпуска пакета SDK для MSAL, выполняются в режиме нескольких учетных записей и должны быть обновлены для поддержки режима одной учетной записи, прежде чем они смогут выполняться на устройстве с общим режимом.

Поддержка одной учетной записи и нескольких учетных записей

Приложение может быть создано для поддержки работы как на личных, так и на общих устройствах. Если ваше приложение сейчас поддерживает несколько учетных записей, а вам нужна поддержка режима совместной работы с устройством, добавьте поддержку для режима одной учетной записи.

Кроме того, может понадобиться изменить поведение приложения в зависимости от типа устройства, на котором оно запущено. Используйте ISingleAccountPublicClientApplication.isSharedDevice(), чтобы определить, когда запускать режим одной учетной записи.

Существует два разных интерфейса, представляющих тип устройства, на котором установлено приложение. При запросе экземпляра приложения из фабрики приложений MSAL правильный объект приложения предоставляется автоматически.

Следующая объектная модель иллюстрирует тип объекта, который вы можете получить, и то, что он означает в контексте общего устройства:

public client application inheritance model

При получении PublicClientApplication объекта необходимо выполнить проверка типа и привести его к соответствующему интерфейсу. Следующий код проверка для нескольких режимов учетных записей или режимов одной учетной записи и соответствующим образом приводит объект приложения:

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;
            ...
        }

В зависимости от того, работает ли приложение на общем или личном устройстве, применяются следующие отличия:

Устройство с режимом совместной работы Личное устройство
Измерение счетов Одна учетная запись Несколько учетных записей
Вход Глобальный Глобальный
Выход Глобальный Каждое приложение может контролировать, является ли выход локальным для приложения.
Поддерживаемые типы учетных записей Только рабочие учетные записи Поддерживаются личные и рабочие учетные записи

Почему может потребоваться поддержка только режима одной учетной записи

Если вы создаете приложение, которое будет использоваться только на общем устройстве и только сотрудниками, взаимодействующими с клиентами, мы рекомендуем поддерживать в этом приложении только режим одной учетной записи. Это относится к большинству приложений, ориентированных на задачи, например к приложениям для учета медицинских записей и выставления счетов, а также к большинству бизнес-приложений. Только поддержка режима одной учетной записи упрощает разработку, так как вам не нужно реализовать другие функции, которые являются частью приложений с несколькими учетными записями.

Что происходит при изменении режима устройства

Если приложение работает в режиме нескольких учетных записей и администратор выбирает для устройства режим совместной работы с устройством, все учетные записи на устройстве удаляются из приложения, а приложение переходит в режим одной учетной записи.

Приложения Майкрософт, которые поддерживают режим общего устройства

Эти приложения Майкрософт поддерживают режим общего устройства Microsoft Entra:

Сторонние MDM, поддерживающие режим общего устройства

Этот сторонний мобильный Управление устройствами (MDM), поддерживающий режим общего устройства Microsoft Entra:

Выход с общего устройства и общие сведения о жизненном цикле приложения

При выходе пользователя необходимо принять меры для защиты конфиденциальности и данных пользователя. Например, если вы создаете приложение медицинских записей, необходимо убедиться, что при выходе пользователя из ранее отображаемых записей пациентов очищаются. Приложение должно быть подготовлено к конфиденциальности данных и проверять это каждый раз при выходе на передний план.

Когда приложение использует MSAL для выхода пользователя из приложения, работающего на устройстве в режиме совместного использования, учетная запись, в которую выполнен вход, и кэшированные токены удаляются как из приложения, так и с устройства.

На следующей схеме показан общий жизненный цикл приложения и типичные события, которые могут возникнуть во время выполнения приложения. Схема охватывает время запуска действия, входа и выхода учетной записи, а также как события, такие как приостановка, возобновление и остановка действия.

Shared device app lifecycle

Следующие шаги

Дополнительные сведения о запуске приложения для сотрудников, взаимодействующих с клиентами, на устройстве Android с режимом совместной работы см. в следующих статьях: