Используйте рабочие профили

Рабочий профиль — это управляемый профиль , который содержит данные приложения, отдельные от основного профиля пользователя, но использует некоторые системные настройки, такие как Wi-Fi и Bluetooth. Основная цель рабочего профиля — создать отдельный и безопасный контейнер для хранения управляемых данных. Администратор рабочего профиля имеет полный контроль над областью действия, входящими и исходящими данными, а также временем существования данных. Ниже приведены некоторые характеристики рабочих профилей:

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

  • Управление. Приложения, известные как владельцы профилей, могут программно вызывать API в классе DevicePolicyManager для ограничения использования. Владельцы профилей определяются при первоначальной настройке профиля. Политики, уникальные для рабочих профилей, включают ограничения приложений, возможность обновления и поведение намерений.

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

Подробности реализации

Рабочие профили реализованы как вторичные пользователи, поэтому приложения, запущенные в рабочем профиле, имеют UID uid = 100000 \* userid + appid . Эти профили имеют отдельные данные приложения ( /data/user/userid ), аналогично основным пользователям.

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

  • Рабочий профиль связан с родительским пользователем и запускается основным пользователем во время загрузки.

  • Уведомления для рабочих профилей включаются с помощью ActivityManagerService , что позволяет рабочему профилю делиться стеком активностей с основным пользователем.

  • Дополнительные общие системные службы включают IME, службы A11Y, Wi-Fi и NFC.

  • API-интерфейсы лаунчеров позволяют лаунчерам отображать отмеченные приложения и разрешенные виджеты из рабочего профиля рядом с приложениями в основном профиле без переключения пользователей.

Разделение данных

В рабочих профилях используются следующие правила разделения данных.

Приложения

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

Счета

Учётные записи в рабочем профиле уникальны для основного пользователя, и доступ к учётным данным за пределами профиля и пользователя невозможен. Доступ к соответствующим учётным записям имеют только приложения в соответствующем контексте.

Намерения

Администратор контролирует, разрешаются ли намерения в рабочем профиле или за его пределами. По умолчанию приложения из рабочего профиля попадают в область действия исключения рабочего профиля API Device Policy.

Идентификаторы устройств

На персональных устройствах с рабочим профилем Android 12 и более поздние версии блокируют доступ к идентификаторам оборудования (IMEI, MEID, серийный номер) и предоставляют уникальный идентификатор регистрации , который идентифицирует регистрацию рабочего профиля для конкретной организации. Идентификатор регистрации остается неизменным после сброса настроек к заводским, что обеспечивает надежный учет устройств с рабочими профилями.

Личные устройства с рабочим профилем должны использовать идентификатор, привязанный к регистрации; устройства, принадлежащие компании, включая как устройства с рабочим профилем, так и полностью управляемые устройства, также могут использовать этот идентификатор. Чтобы использовать идентификатор, привязанный к регистрации, операторы EMM должны установить идентификатор организации для каждого управляемого ими устройства, после чего они смогут считывать идентификатор, привязанный к регистрации, на этом устройстве и обрабатывать его как серийный номер. Подробнее см. в разделе «Улучшения безопасности и конфиденциальности для рабочего профиля» .

Настройки

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

Управление устройствами на устройствах с рабочим профилем

Android 5.0 и более поздние версии поддерживают управление рабочими профилями на персональных устройствах, использующих BYOD (Bring Your Own Device) с помощью класса DevicePolicyManager . Кроме того, в Android 11 появилась концепция рабочих профилей на корпоративных устройствах. Возможности управления устройствами внутри рабочего профиля остаются одинаковыми как для устройств BYOD, так и для корпоративных устройств, однако рабочие профили на корпоративных устройствах могут предоставлять дополнительные возможности/политики, такие как installSystemUpdate , setScreenCaptureDisabled и setPersonalAppsSuspended , которые могут расширить применение политик администратора за пределы рабочего профиля для некоторых политик на уровне устройства.

  • Рабочий профиль на личном устройстве (BYOD): устройство является личным и содержит рабочий профиль, которым управляет ИТ-администратор, связанный с работодателем.

  • Рабочий профиль на корпоративном устройстве: устройство предоставлено работодателем или принадлежит ему и содержит рабочий профиль, управляемый ИТ-администратором, связанным с работодателем. Приложения могут вызывать метод isOrganizationOwnedDeviceWithManagedProfile() чтобы определить, было ли устройство подготовлено как корпоративное устройство с управляемым профилем.

Дополнительную информацию о создании рабочего профиля и использовании API политики устройства см. в разделе Создание рабочего профиля .

Владельцы профилей

Клиентское приложение Device Policy Client (DPC) выступает в роли владельца профиля при создании рабочего профиля. Клиентское приложение DPC обычно предоставляется партнёром по управлению корпоративной мобильностью (EMM), например, Google Apps Device Policy, и может применять политики, если оно назначено владельцем профиля. В рабочем профиле есть маркированные экземпляры приложений, которые визуально отличаются от персональных экземпляров приложений; маркировка идентифицирует приложение как рабочее. EMM управляет только рабочим профилем (рабочими приложениями и данными), но не личным пространством. Политики устройства применяются только к рабочему профилю, за некоторыми исключениями, такими как применение экрана блокировки, которое применяется ко всему устройству.

Пользовательский опыт рабочего профиля

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

Пользователи могут переключать рабочий профиль в настройках или меню быстрых настроек. В Android 9 и более поздних версиях реализации устройств могут включать или отключать рабочий профиль в нижнем колонтитуле вкладки «Работа». Переключение рабочего профиля происходит асинхронно и применяется ко всем допустимым профилям пользователей; этот процесс управляется классом WorkModeSwitch .

Устройства с панелью приложений

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

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


Рисунок 1. Вид личной вкладки

Рисунок 2. Вид вкладки «Работа», переключение рабочего профиля

Представление с вкладками реализовано в классе AllAppsContainerView Launcher3. Пример реализации индикатора профиля с вкладками см. в классе PersonalWorkSlidingTabStrip .

Обучающее сообщение для пользователей на устройствах с рабочей вкладкой

Android 9 и более поздние версии поддерживают образовательный режим, который информирует пользователей о назначении рабочей вкладки и о том, как упростить доступ к рабочим приложениям. С помощью Launcher3 образовательный режим можно отобразить на экране рабочей вкладки при первом её открытии, как показано на рисунке:

Образовательный взгляд

Рисунок 3. Образовательный вид

Устройства без панели приложений

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

Пользовательские реализации средства запуска могут использовать getProfiles() и getActivityList() для получения списка приложений со значком средства запуска для пользователя рабочего профиля.

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


Рисунок 4. Закрытая рабочая папка

Рисунок 5. Открытая рабочая папка

Обучающее сообщение для пользователей на устройствах с рабочей папкой

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

Отключаемая подсказка

Рисунок 3. Отключаемая подсказка

Проверка пользовательского опыта рабочего профиля

Самый простой способ протестировать пользовательский интерфейс рабочего профиля — настроить его с помощью приложения Test DPC. Ниже описана процедура настройки рабочего профиля на личном устройстве (сценарий BYOD):

  1. Начните со сброса настроек устройства к заводским настройкам и завершите настройку личного профиля с помощью личной учетной записи Google или же используйте устройство с личным профилем в качестве отправной точки.

  2. Установите приложение Test DPC из Google Play Store.

  3. Откройте панель запуска или панель приложений и выберите Настроить тестовый DPC .

  4. Следуйте инструкциям на экране, чтобы настроить рабочий профиль:


    Рисунок 4. Настройка рабочего профиля


    Рисунок 5. Добавление учетных записей


    Рисунок 6. Настройка завершена

  5. Откройте панель запуска или панель приложений и убедитесь, что вкладка «Работа» отображается и содержит нижний колонтитул рабочего профиля. Альтернативные реализации производителей устройств могут содержать рабочую папку вместо рабочей вкладки.

  6. Убедитесь, что рабочий профиль можно переключать из быстрых настроек (или настроек), убедившись, что приложения рабочего профиля (приложения со значком портфеля) включены и отключены должным образом. В некоторых реализациях устройств рабочие приложения могут быть неактивны при отключении рабочего профиля, в то время как в других реализациях, например, с рабочей вкладкой, может отображаться наложение с сообщением об отключении рабочего профиля. На следующих рисунках показаны примеры включенных и отключенных рабочих профилей на устройстве с рабочей вкладкой:


    Рисунок 7. Переключатель включен, рабочий профиль включен.

    Рисунок 8. Выключено, рабочий профиль отключен.

Значок приложения «Рабочий профиль»

В Android 9 и выше из соображений доступности цвет значка работы — синий (#1A73E8), а не оранжевый.