Google setzt sich dafür ein, die Rassengerechtigkeit für schwarze Gemeinschaften zu fördern. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Android-Berechtigungen

Android-Berechtigungen bieten Steuerelemente, die das Bewusstsein der Benutzer erhöhen und den Zugriff einer App auf vertrauliche Daten einschränken. Das Konfigurieren von Berechtigungen unter Android 8.0 und niedriger umfasst die Whitelist, ohne die privilegierte Apps deaktiviert werden, selbst wenn sie sich im Pfad für priv-app Apps befinden. Unter Android 9 und höher wird ein Gerät, das versucht, Apps zu verwenden, die nicht ordnungsgemäß auf der Whitelist stehen, nicht gestartet.

Der erhöhte Schutz vor potenziell schädlichen Apps (PHAs) verbessert sich

  • Transparenz in potenziell schädliches App-Verhalten.
  • Benutzerkontrolle über das App-Verhalten.
  • Das Ermessen der App-Entwickler bei der Verwendung privater Daten ist durch Berechtigungen geschützt.

Paketinstallation und Berechtigung

In Android 9 und niedriger waren die Funktionen zur PackageInstaller und Berechtigungssteuerung im PackageInstaller Paket ( //packages/apps/PackageInstaller ) enthalten. In Android 10 und höher befindet sich die Berechtigungssteuerungsfunktion in einem separaten Paket, PermissionController ( //packages/apps/PermissionController ). Abbildung 1 zeigt, wo sich die beiden Pakete in Android 10 befinden.

Trennung der Funktionen zur Paketinstallation und Berechtigungskontrolle für System-Apps und für vom Benutzer installierte Apps
Abbildung 1. Funktionen zur Paketinstallation und Berechtigungskontrolle in Android 10

Whitelists und Zugriff

In Android 6.0 und höher fordern Apps zur Laufzeit den Zugriff auf gefährliche Berechtigungen an. Android 10 fügt AR-Laufzeitberechtigungen (Activity Recognition, AR) hinzu, die den Benutzer auffordern, gefährliche Berechtigungen zu ändern oder zuzulassen.

Für Android 8.0 mussten Sie privilegierte Apps in den XML-Dateien der Systemkonfiguration im Verzeichnis /etc/permissions explizit auf die Whitelist setzen. In Android 9 und höher müssen privilegierte Berechtigungen auf der Whitelist stehen , sonst kann das Gerät nicht gestartet werden.

Um die Sichtbarkeit der internen API einzuschränken und zu verhindern, dass Apps versehentlich auf Plattformbibliotheken zugreifen, hat Android 7.0 Namespaces für native Bibliotheken eingeführt . Dadurch werden Systembibliotheken von Anwendungsbibliotheken getrennt, und Gerätehersteller können ihre eigenen nativen Bibliotheken hinzufügen.

Ab Android 10 müssen Apps sowohl über Signaturberechtigungen als auch über die Zustimmung des Benutzers verfügen, um auf den Bildschirminhalt eines Geräts zugreifen zu können . Privilegierte Apps, die auf der Funktion zur stillen Erfassung basieren, z. B. das Erstellen eines Screenshots, sollten stattdessen die MediaProjection- Klasse verwenden.

Transparenz und Privatsphäre

In Android 6.0 und höher ist eine werkseitige MAC-Adresse des Geräts vor dem Zugriff durch Wi-Fi-Dienstanbieter und Paketanalysatoren geschützt. Zusätzliche Einschränkungen ab Android 10 beschränken Apps auf den Zugriff auf die unveränderlichen Gerätekennungen (IDs), es sei denn, sie sind für privilegierte Berechtigungen auf der Whitelist . (Der Abschnitt " Konnektivität " enthält eine entsprechende Diskussion zu Gerätekennungen , da dies Auswirkungen auf Netzbetreiber hat.)

Unter Android 9 und niedriger treffen Benutzer dauerhafte Entscheidungen, wenn sie Standortzugriff auf Apps gewähren. Ab Android 10 bietet eine dreistufige Standortberechtigungsfunktion Benutzern drei Optionen, um der App den Zugriff auf den Standort eines Geräts zu ermöglichen. Diese Berechtigungsanforderungen gelten für Apps in Android 10 unabhängig vom Ziel-SDK.

Konfigurieren Sie Berechtigungen für andere Transparenz- und Datenschutzfunktionen ab Android 10

Optimierte Konfigurationen

Die Berechtigungskonfigurationen wurden für Android 6.0 und höher optimiert.

  • Die Umgebungsfunktionen für von init gestartete Dienste speichern alle Aspekte der Dienstkonfiguration in einer einzigen .rc Datei. Wenn Sie Funktionen für Dienste fs_config.c nicht von init gestartet wurden, konfigurieren Sie die Dateisystemfunktionen stattdessen mit fs_config.c .
  • Android 7.x und niedriger erweitern den Mechanismus für Android-IDs (AIDs) mithilfe einer gerätespezifischen Datei android_filesystem_config.h , um Dateisystemfunktionen und / oder benutzerdefinierte android_filesystem_config.h anzugeben. Android 8.0 und höher unterstützt eine neue Methode zur Erweiterung der Dateisystemfunktionen .
  • In Android 8.0 wurde die Verarbeitung von USB-Befehlen aus gerätespezifischen init Skripten (ein Ersatz für HAL-Ebenen) in einen nativen USB-Daemon verschoben. Die USB-HAL- Schnittstelle muss auf jedem Gerät implementiert sein, das mit Android 8.0 und höher gestartet wird.