Berechtigungen: Unterschied zwischen den Versionen

Aus Android Wiki
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung
Keine Bearbeitungszusammenfassung
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung Visuelle Bearbeitung
Zeile 12: Zeile 12:


== Berechtigungen ab Android {{Android|6.0}} ==
== Berechtigungen ab Android {{Android|6.0}} ==
Im Android M Release ({{Android|6.0}}) hat Google eine geänderte Struktur für die Anforderung und Gewährung von spezifischen Berechtigungen implementiert. Anstelle alle möglichen Berechtigungen, die eine App ggf. benötigen könnte, vor der Installation vom Nutzer bestätigen zu lassen und diese anschließend zu gewähren, unabhängig davon, ob die Basisfunktion auch ohne ein spezifisches Recht ausgeführt werden könnte, wird jede Berechtigung erst dann beim Nutzer eingefordert, wenn diese tatsächlich benögt wird, also bspw. eine entsprechende Funktion in der App aufgerufen wird. Dies hat den Vorteil, dass ein App-Entwickler auch Funktionen als Zusatz in eine App implementieren kann, ohne den Nutzer bei der Installation durch verwirrend klingende Berechtigungsanfragen zu verunsichern. Für den Nutzer bietet sich der Vorteil, das er theoretisch nicht alle Berechtigungen bestätigen muss (mit der Möglichkeit, dass die App nicht korrekt funktioniert) und zudem während der Berechtigungsanfrage besser abschätzen kann, ob die App diese spezifische Berechtigung für die Funktion tatsächlich benötigt. Ein Nachteil ist, dass der Nutzer bei der Installation (über den Google Play Store) nicht mehr erkennt, welche Nerechtigungen die App möglicherweise benötigen könnte.
Im Android M Release ({{Android|6.0}}) hat Google eine geänderte Struktur für die Anforderung und Gewährung von spezifischen Berechtigungen implementiert. Anstelle alle möglichen Berechtigungen, die eine App ggf. benötigen könnte, vor der Installation vom Nutzer bestätigen zu lassen und diese anschließend zu gewähren, unabhängig davon, ob die Basisfunktion auch ohne ein spezifisches Recht ausgeführt werden könnte, wird jede Berechtigung erst dann beim Nutzer eingefordert, wenn diese tatsächlich benögt wird, also bspw. eine entsprechende Funktion in der App aufgerufen wird.<ref>{{Internetquelle|titel = App-Berechtigungen ab Android 6.0 verwalten - Google Play-Hilfe|url = https://support.google.com/googleplay/answer/6270602?p=app_permissons_m&rd=1|zugriff = 2016-02-03|werk = support.google.com}}</ref> Dies hat den Vorteil, dass ein App-Entwickler auch Funktionen als Zusatz in eine App implementieren kann, ohne den Nutzer bei der Installation durch verwirrend klingende Berechtigungsanfragen zu verunsichern. Für den Nutzer bietet sich der Vorteil, das er theoretisch nicht alle Berechtigungen bestätigen muss (mit der Möglichkeit, dass die App nicht korrekt funktioniert) und zudem während der Berechtigungsanfrage besser abschätzen kann, ob die App diese spezifische Berechtigung für die Funktion tatsächlich benötigt. Ein Nachteil ist, dass der Nutzer bei der Installation (über den Google Play Store) nicht mehr erkennt, welche Nerechtigungen die App möglicherweise benötigen könnte.


== Berechtigung einschränken ==
== Berechtigung einschränken ==
Zeile 18: Zeile 18:
Ab Android {{Android|4.3}} ist die versteckte Funktion [[App Ops]] in das System integriert, die es dem Nutzer erlaubt, die Berechtigungen einer App nachträglich zu verändern. Zur Verwendung wird allerdings eine Drittanbieter-App, sowie ab Android {{Android|4.4.2}} [[Root]], benötigt. In früheren Android-Versionen ist eine solche Funktion von Haus aus allerdings nicht vorhanden.
Ab Android {{Android|4.3}} ist die versteckte Funktion [[App Ops]] in das System integriert, die es dem Nutzer erlaubt, die Berechtigungen einer App nachträglich zu verändern. Zur Verwendung wird allerdings eine Drittanbieter-App, sowie ab Android {{Android|4.4.2}} [[Root]], benötigt. In früheren Android-Versionen ist eine solche Funktion von Haus aus allerdings nicht vorhanden.


== Einzelnachweise ==
[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:Allgemein]]
[[Kategorie:Allgemein]]

Version vom 3. Februar 2016, 23:49 Uhr

Das Berechtigungssystem ist eine zentrale Sicherheitsfunktion in Android. Es schafft Transparenz für den Benutzer und erschwert es schädlichen Apps, Zugriff auf Geräte-Funktionen zu nehmen, die vom Benutzer nicht erlaubt wurden.

Da Android in der Basis auf den Linux-Kernel aufsetzt, kann man auch im Berechtigungssystem Ähnlichkeiten zwischen Android und anderen Linux-Distributionen erkennen. So besitzt auch Android Gruppen und Benutzer, die allerdings in einem anderen Zusammenhang als üblich verwendet werden.

Berechtigungen

Die Berechtigungen auf einzelne Systemressourcen (wie bspw. die Kamera, dem externen Speicher o.Ä.) werden vom Kernel anhand der Gruppen- und Benutzerzugehörigkeit eines Prozesses ermittelt. Fordert ein Prozess den Zugriff auf eine bestimmte Ressource an, wird geprüft, ob der Benutzer - oder die dem Benutzer zugeteilten Gruppen - die Berechtigung besitzt, auf diese Ressource zuzugreifen. In Android werden i.d.R. alle Rechte über die Gruppen eingestellt.

Die Zugehörigkeit zu Gruppen bestimmt der Entwickler einer App über spezielle Berechtigungen, die er bei der Erstellung der App in die Konfigurationsdatei AndroidManifest.xml eintragen muss. Unter den Berechtigungen (eine Liste ist hier zu finden) sind wiederum verschiedene Gruppen zusammengefasst, wodurch festgelegt wird, welcher Zugriff durch welche Berechtigung gewährt wird. Diese Zuordnung der Gruppen zu den einzelnen Berechtigungen wird in einer XML-Datei auf der /system-Partition festgehalten (/system/etc/permissions/platform.xml).

Zuweisung von Rechten

Die Zuweisung von bestimmten Rechten für eine App wird grundsätzlich bei der Installation vorgenommen. Hierfür bekommt jede App einen eigenen, neuen Benutzer mit einer neuen und eindeutigen Benutzer-ID angelegt und permanent zugewiesen. Anhand der angeforderten Berechtigungen des Entwicklers kann diesem Benutzer eine Reihe von Gruppen zugewiesen werden, die unter der jeweils angeforderten Berechtigung zusammengefasst wurden. Somit bekommt der Benutzer, unter welcher ID die App später ausgeführt wird, ausschließlich den bei der Installation zugewiesenen Zugriff.

Berechtigungen ab Android 6.0 Marshmallow "Marshmallow"

Im Android M Release (6.0 Marshmallow "Marshmallow") hat Google eine geänderte Struktur für die Anforderung und Gewährung von spezifischen Berechtigungen implementiert. Anstelle alle möglichen Berechtigungen, die eine App ggf. benötigen könnte, vor der Installation vom Nutzer bestätigen zu lassen und diese anschließend zu gewähren, unabhängig davon, ob die Basisfunktion auch ohne ein spezifisches Recht ausgeführt werden könnte, wird jede Berechtigung erst dann beim Nutzer eingefordert, wenn diese tatsächlich benögt wird, also bspw. eine entsprechende Funktion in der App aufgerufen wird.[1] Dies hat den Vorteil, dass ein App-Entwickler auch Funktionen als Zusatz in eine App implementieren kann, ohne den Nutzer bei der Installation durch verwirrend klingende Berechtigungsanfragen zu verunsichern. Für den Nutzer bietet sich der Vorteil, das er theoretisch nicht alle Berechtigungen bestätigen muss (mit der Möglichkeit, dass die App nicht korrekt funktioniert) und zudem während der Berechtigungsanfrage besser abschätzen kann, ob die App diese spezifische Berechtigung für die Funktion tatsächlich benötigt. Ein Nachteil ist, dass der Nutzer bei der Installation (über den Google Play Store) nicht mehr erkennt, welche Nerechtigungen die App möglicherweise benötigen könnte.

Berechtigung einschränken

Ab Android 4.3 Jelly Bean "Jelly Bean" ist die versteckte Funktion App Ops in das System integriert, die es dem Nutzer erlaubt, die Berechtigungen einer App nachträglich zu verändern. Zur Verwendung wird allerdings eine Drittanbieter-App, sowie ab Android 4.4.2 KitKat "KitKat" Root, benötigt. In früheren Android-Versionen ist eine solche Funktion von Haus aus allerdings nicht vorhanden.

Einzelnachweise

  1. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2016-02-03.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.