Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Permisos de Android

Los permisos de Android proporcionan controles que aumentan el conocimiento del usuario y limitan el acceso de una aplicación a datos confidenciales. La configuración de permisos en Android 8.0 y versiones anteriores incluye listas blancas, sin las cuales las aplicaciones con privilegios están deshabilitadas, incluso si están en la ruta de la priv-app privada. En Android 9 y versiones posteriores, un dispositivo que intente usar aplicaciones que no están en la lista blanca correctamente no arrancará.

Las protecciones aumentadas contra aplicaciones potencialmente dañinas (PHA) mejoran

  • Transparencia sobre el comportamiento potencialmente dañino de la aplicación.
  • Control del usuario sobre el comportamiento de la aplicación.
  • La discreción de los desarrolladores de aplicaciones al usar datos privados, protegidos por permisos.

Instalación y permiso del paquete

En Android 9 y versiones anteriores, las funcionalidades de control de permisos e instalación de paquetes estaban incluidas en el paquete PackageInstaller ( //packages/apps/PackageInstaller ). En Android 10 y superior, la funcionalidad de control de permisos reside en un paquete separado, PermissionController ( //packages/apps/PermissionController ). La Figura 1 ilustra dónde residen los dos paquetes en Android 10.

Separación de las funcionalidades de control de permisos e instalación de paquetes para las aplicaciones del sistema y las que utilizan las aplicaciones instaladas por el usuario
Figura 1. Funcionalidades de instalación de paquetes y control de permisos en Android 10

Listas blancas y acceso

En Android 6.0 y superior, las aplicaciones solicitan acceso a permisos peligrosos en tiempo de ejecución . Android 10 agrega permisos de tiempo de ejecución de reconocimiento de actividad (AR), que solicitan al usuario que modifique o permita permisos peligrosos.

Android 8.0 requería que incluyese explícitamente aplicaciones privilegiadas en la lista blanca en los archivos XML de configuración del sistema en el directorio /etc/permissions . En Android 9 y versiones posteriores, los permisos privilegiados deben estar incluidos en la lista blanca o el dispositivo no puede arrancar.

Para limitar la visibilidad de la API interna y evitar que las aplicaciones accedan accidentalmente a las bibliotecas de la plataforma, Android 7.0 introdujo los espacios de nombres para las bibliotecas nativas . Esto separa las bibliotecas del sistema de las bibliotecas de aplicaciones, y los fabricantes de dispositivos pueden agregar sus propias bibliotecas nativas.

A partir de Android 10, las aplicaciones deben tener permisos de firma y consentimiento del usuario para acceder al contenido de la pantalla de un dispositivo . Las aplicaciones privilegiadas que dependen de la funcionalidad de captura silenciosa, como tomar una captura de pantalla, deben usar la clase MediaProjection en su lugar.

Transparencia y privacidad

En Android 6.0 y superior, la dirección MAC de fábrica de un dispositivo está protegida contra el acceso de proveedores de servicios Wi-Fi y analizadores de paquetes. Las restricciones adicionales a partir de Android 10 limitan que las aplicaciones accedan a los identificadores (ID) de dispositivos inmutables, a menos que estén en la lista blanca para obtener permisos privilegiados . (La sección Conectividad proporciona una discusión relacionada sobre los identificadores de dispositivos , ya que esto afecta a los operadores).

En Android 9 y versiones anteriores, los usuarios toman decisiones persistentes al otorgar acceso a la ubicación a las aplicaciones. A partir de Android 10, una función de permisos de ubicación de tres estados ofrece a los usuarios tres opciones para permitir el acceso de la aplicación a la ubicación de un dispositivo. Estos requisitos de permiso se aplican a las aplicaciones en Android 10 independientemente del SDK de destino.

Configure permisos para otras funciones de transparencia y privacidad a partir de Android 10

Configuraciones optimizadas

Las configuraciones de permisos se han optimizado para Android 6.0 y versiones posteriores.

  • Las capacidades ambientales para los servicios lanzados por init mantienen todos los aspectos de la configuración del servicio en un solo archivo .rc . Al configurar las capacidades para los servicios que init no inicia, configure las capacidades del sistema de archivos utilizando fs_config.c en fs_config.c lugar.
  • Android 7.xy versiones anteriores amplían el mecanismo de ID de Android (AID) mediante un archivo android_filesystem_config.h específico del android_filesystem_config.h para especificar las capacidades del sistema de archivos y / o AID personalizados del fabricante del dispositivo. Android 8.0 y superior admite un nuevo método para ampliar las capacidades del sistema de archivos .
  • En Android 8.0, el manejo de comandos USB se movió fuera de los scripts de init específicos del dispositivo (una sustitución de las capas HAL) y en un demonio USB nativo. La interfaz USB HAL debe implementarse en todos los dispositivos que se inician con Android 8.0 y versiones posteriores.