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

Рабочий профиль — это управляемый профиль , который содержит отдельные данные приложений, отличные от основного профиля пользователя, но разделяет некоторые общесистемные настройки, такие как 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 политики устройств.

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

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

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

Настройки

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

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

Android 5.0 и выше поддерживают управление устройствами для рабочих профилей на личных устройствах, использующих собственные устройства (BYOD), с помощью класса 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.

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

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


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


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


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

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

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


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

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

Значок приложения «Профиль работы»

В Android 9 и более поздних версиях, в целях обеспечения доступности, цвет значка вкладки «Работа» синий (#1A73E8) вместо оранжевого.