Обзор Центра безопасности

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

Начиная с Android 13, Центр безопасности объединяет элементы безопасности и конфиденциальности на одной странице под названием «Безопасность и конфиденциальность» . Центр безопасности также доступен с плитки быстрых настроек .

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

Security & privacy settingsSecurity & privacy settings

Рис. 1. Экран Центра безопасности.

Требования и рекомендации по интеграции

  • Android 13 и Mainline M-2022-11 или более поздняя версия
  • Файл конфигурации платформы Android для включения Центра безопасности:
  • Требования к серверу (только Android 13):

    • Для флага DeviceConfig safety_center_is_enabled установлено значение true (по умолчанию true , начиная с Android 14).

Методические рекомендации

  • OEM-производители GMS, которые не внедряют Центр безопасности, могут отказаться, установив для наложенного поля config_enableSafetyCenter в файле config.xml значение false (по умолчанию установлено значение true ). Дополнительную информацию см. в разделе Включение и отключение Центра безопасности .
  • Чтобы избежать ошибок при интеграции экрана блокировки в Android 13, см. раздел О PendingIntent и обходном пути PendingIntent . Нет необходимости делать это в Android 14 или Android 13 QPR, поскольку проблема устранена.

Интеграция с Центром безопасности

  1. Включите Центр безопасности на вашем устройстве.
  2. (Необязательно) Измените файл конфигурации Центра безопасности, чтобы изменить способ предоставления данных. См. Обновление файла конфигурации . Изменения в файле конфигурации должны соответствовать требованиям настройки и должны быть протестированы с помощью теста GTS , который накладывает строгие ограничения на изменения.
  3. (Необязательно) Измените приложение «Настройки» , чтобы добавить или изменить запись «Безопасность и конфиденциальность» .
  4. Добавьте или измените поддержку источников безопасности , чтобы обеспечить работу Центра безопасности с такими сигналами, как экран блокировки или биометрические данные (если они поддерживаются). Для правильной реализации этого могут потребоваться некоторые изменения в приложении «Настройки» . Например, изменив имя пакета настроек в файле конфигурации на подходящее и используя исходные API Центра безопасности в приложении «Настройки».
  5. (Необязательно) Настройте пользовательский интерфейс Центра безопасности, наложив темы, отступы и другие функции.
  6. Запустите и пройдите соответствующие тесты GTS и CTS .
  7. В шаге 13 убедитесь, что вы отправили отпечатки устройств для внесения в белый список на стороне сервера. В 14 этого делать не нужно.

Источники Центра безопасности

Источник Центра безопасности предоставляет данные в Центр безопасности. Источник обычно принадлежит отдельному приложению на устройстве. В настоящее время безопасными источниками разрешены только системные приложения. Сторонние приложения не являются источниками безопасности.

Вот несколько примеров источников Центра безопасности:

  • Экран блокировки
  • Биометрия
  • Обновления безопасности
  • Найти мое устройство
  • Google Play Защита
  • Проверка безопасности аккаунта Google
  • Сигналы конфиденциальности

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

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

Конфигурационный файл

Источники Центра безопасности перечислены в файле конфигурации, который действует как список разрешений. Этот файл также предоставляет данные по умолчанию для каждой записи пользовательского интерфейса. В файле конфигурации можно указать статические записи перенаправления , которые не могут повлиять на состояние или проблемы Центра безопасности (также называемые источниками статической безопасности ). Дополнительные сведения см. в разделе Обновление файла конфигурации .

Магистральный модуль

Центр безопасности в первую очередь является частью модуля PermissionController Mainline , поэтому Google может обновить эту функцию как часть обновления Mainline для OEM-устройств GMS, поддерживающих Mainline.

OEM-устройства, не принадлежащие GMS, и OEM-устройства GMS, которые не поддерживают Mainline, могут использовать Центр безопасности, если эта функция включена в их образ системы; однако им следует использовать код M-2022-11 или выше. Требования см. в разделе «Включение или отключение Центра безопасности» .

API-интерфейсы Центра безопасности

API-интерфейсы Центра безопасности написаны на Java, а примеры кода на этой странице написаны на Java. Однако, поскольку Kotlin совместим с Java, API-интерфейсы Центра безопасности можно использовать в Kotlin. Некоторые части системного приложения PermissionController, взаимодействующие с Центром безопасности, написаны на Kotlin.

Вы можете использовать API для взаимодействия с Центром безопасности. Эти API в основном доступны через SafetyCenterManager , который является системным API. Дополнительные сведения см. в разделе Взаимодействие с Центром безопасности .

Действия по намерению и дополнительные возможности

Начиная с Android 13, публичное действие намерения (доступное сторонним приложениям) определяется в классе Intent для перенаправления в Центр безопасности.

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

API с поддержкой Центра безопасности

SafetyCenterManager предоставляет API, который сообщает, включен ли Центр безопасности на устройстве. API подтверждает, соответствует ли устройство требованиям Центра безопасности, например, установлена ​​ли на устройстве правильная версия модуля Mainline. Эта проверка используется для определения того, отображается ли Центр безопасности в настройках и других местах. Это также можно использовать для определения того, следует ли предоставлять данные в Центр безопасности. Информацию о том, как включить или выключить Центр безопасности, см. в разделе Включение или отключение Центра безопасности .

Исходные API Центра безопасности

Источники Центра безопасности используют API-интерфейсы Центра безопасности для предоставления динамических данных в Центр безопасности. Исходные API Центра безопасности выполняют следующие функции:

  • Установите данные для данного источника Центра безопасности.
  • Получите последний набор данных для данного источника Центра безопасности.
  • Сообщите об ошибке для данного источника Центра безопасности.

Источники Центра безопасности могут согласиться на получение сигнала для отправки данных в Центр безопасности в особых случаях, например, когда открывается страница Центра безопасности, чтобы гарантировать актуальность предоставленных данных.

API-интерфейсы внутреннего центра безопасности

Некоторые API-интерфейсы Центра безопасности являются внутренними и используются только модулем основной линии PermissionController , за исключением оболочки и тестов. По техническим причинам эти API не скрыты и доступны SafetyCenterManager .

API-интерфейсы Центра безопасности выполняют следующие функции:

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

Тестовые API

SafetyCenterManager включает API-интерфейсы тестирования Центра безопасности, которые используются для тестирования.

API-интерфейсы тестирования Центра безопасности могут:

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

Команды оболочки

Некоторые команды оболочки предназначены для взаимодействия с Центром безопасности через оболочку Android Debug Bridge ( adb shell ). Используйте adb shell cmd safety_center help чтобы просмотреть список команд и узнать, что они могут делать.

Пользовательский интерфейс Центра безопасности

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

Внешний вид этой страницы можно изменить с помощью наложений. Дополнительную информацию см. в разделе Настройка пользовательского интерфейса Центра безопасности .