App Ops — внутренний механизм операционной системы Android, предназначенный для управления операциями и разрешениями приложений на более детальном уровне, чем традиционная модель разрешений. Он реализует набор операций (operations), которые соответствуют конкретным действиям приложений, таким как доступ к данным геолокации, чтение журналов вызовов или использование датчиков. App Ops позволяет системе регистрировать, контролировать и при необходимости блокировать отдельные операции для конкретных приложений без изменения их манифестов или явного отзыва глобального разрешения.
Изначально App Ops появился в виде экспериментальной функциональности и обслуживался через внутренние интерфейсы системы и скрытые инструменты для разработчиков и продвинутых пользователей. В зависимости от версии Android и реализации производителя степень доступности и возможности управления App Ops варьируются: в некоторых сборках часть операций доступна через системные настройки или специализированные приложения, в других — интерфейсы остаются скрытыми и предназначены только для служб системы. App Ops служит дополнительным уровнем контроля приватности и безопасности, позволяя точечно ограничивать поведение приложений во время их выполнения.
- Отображение операций: показывает список операций, которыми пользуется приложение, и их текущие состояния (разрешено, запрещено, ограничено).
- Принудительная блокировка операций: возможность блокировать отдельные операции для конкретного приложения без отзыва базового разрешения.
- Аудит и журналирование: запись фактов выполнения операций для анализа поведения приложений и обнаружения потенциально нежелательных действий.
- Гранулярный контроль: разделение стандартных разрешений на подоперации, позволяющее тонко настраивать доступ (например, разделение доступа к местоположению на фоновый и передний планы).
- Интеграция с политиками системы: взаимодействие с механизмами контроля доступа и профилями управления устройством для применения корпоративных или пользовательских политик.
- Инструмент для разработчиков: служит средством отладки и тестирования поведения приложений при ограниченных операциях без изменения кода приложения.
- Ограничения реализации: наличие и поведение App Ops зависят от версии Android и кастомизаций производителей; часть функций может быть скрыта или изменена.
- Типичные сценарии использования: повышение приватности пользователя, отладка приложений, применение политик MDM и расследование инцидентов безопасности.