Bearbeiten von „Berechtigungen

    Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

    Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

    Aktuelle Version Dein Text
    Zeile 1: Zeile 1:
    [[Datei:Google Play Store Berechtigungshinweis.png|thumb|Hinweis bei der Installation über den Google Play Store, dass Berechtigungen angefragt werden, wenn sie benötigt werden]]
    Das '''Berechtigungssystem''' ist eine zentrale Sicherheitsfunktion in [[Android]]. Es schafft Transparenz für den Benutzer und erschwert es schädlichen [[App|Apps]], Zugriff auf Geräte-Funktionen zu nehmen, die vom Benutzer nicht erlaubt wurden.  
    [[Datei:Google Chrome Berechtigungsanfrage Kamera.png|thumb|Anfrage von Google Chrome, ob auf die Kamera zugegriffen werden darf.]]Das '''Berechtigungssystem''' ist eine zentrale Sicherheitsfunktion in [[Android]]. Es schafft Transparenz für den Benutzer und erschwert es schädlichen [[App|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.
    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.
    Zeile 12: Zeile 11:
    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.
    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.


    == Klassifizierung/Gruppierung von Berechtigungen ==
    == Berechtigungen ab Android {{Android|6.0}} ==
    In Android werden grundsätzlich zwei Gruppen von Berechtigungen unterscheiden, ''normale'' und ''gefährliche'' Berechtigungen.<ref>{{Internetquelle|url=https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous|titel=Requesting Permissions {{!}} Android Developers|werk=developer.android.com|sprache=de|zugriff=2017-03-21}}</ref>
    [[Datei:Google Play Store Berechtigungshinweis.png|thumb|Hinweis bei der Installation über den Google Play Store, dass Berechtigungen angefragt werden, wenn sie benötigt werden]]
     
    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.
    '''Normale Berechtigungen''' sind Berechtigungen zu Bereichen und/oder Ressourcen des Systems außerhalb der Sandbox, in welcher die App ausgeführt wird. Es besteht generell ein geringes Risiko für die persönlichen Daten des Benutzers, sowie die Funktionalität des Systems. Ein Beispiel für eine solche Berechtigung ist das Setzen der Zeitzone. Wenn eine App deklariert, dass es eine solche Berechtigung benötigt, wird diese grundsätzlich automatisch vom System gebilligt. Eine Liste von Berechtigungen, die als ''normal'' eingestuft sind, ist auf der [https://developer.android.com/guide/topics/permissions/normal-permissions.html Android Developer-Seite] zu finden.
     
    Bei einer '''gefährlichen Berechtigung''' besteht im Gegensatz die Möglichkeit, auf Daten oder Ressourcen zuzugreifen, die die persönlichen und/oder gespeicherten Daten des Nutzers betreffen, bspw. der Zugriff auf die im System gespeicherten Kontakte. Wenn eine App eine solche Berechtigung erfordert, muss dies grundsätzlich durch den Benutzer in einem Dialogfenster bestätigt werden.
     
    Zudem sind die Berechtigungen, die als gefährlich eingestuft wurden, in Gruppen von Berechtigungen zusammengefasst. So ist zum Beispiel die Berechtigung zum Lesen von Kontakten (<code>READ_CONTACTS</code>) mit den Berechtigungen Erstellen/Ändern/Löschen von Kontakten (<code>WRITE_CONTACTS</code>) und Zugriff auf die Konten (Google, Mail, ...), <code>GET_ACCOUNTS</code>, zu der Berechtigungsgruppe <code>CONTACTS</code> zusammengefasst. Erfordert eine App Zugriff auf eine spezielle Berechtigung, die in einer Berechtigungsgruppe organisiert ist, wird der Nutzer im Berechtigungsdialog allgemein gefragt, ob er der App Zugriff auf diese Berechtigungsruppe geben möchte, oder nicht. Hat der Nutzer diese Nachfrage bestätigt und erfragt die App eine andere Berechtigung der selben, bereits gewährten, Berechtigungsgruppe, wird dieser vom System automatisch stattgegeben.
     
    Beispiel:
    Die App '''Beispiel''' erfordert  die Berechtigung <code>GET_ACCOUNTS</code> beim Start. Hierbei wird der Nutzer gefragt, ob er der App Zugriff auf die Kontakte geben möchte oder nicht, welche der Nutzer zustimmt. Bei einer weiteren Aktion in der App erfragt die App den Zugriff, die Kontakte lesen zu dürfen (<code>READ_CONTACTS</code>). Anstelle den  Nutzer erneut nach der Berechtigung zu fragen, stimmt das System dieser Anfrage automatisch zu, obwohl diese explizite Berechtigungsanforderung noch nicht durch den Benutzer zugestimmt wurde; die Zustimmung zu der Gruppe reicht aus, um der App alle darin befindlichen Berechtigungen zu gewähren.
     
    == Berechtigungen ab Android 6.0 ''Marshmallow'' ==
    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 Berechtigungen die App möglicherweise benötigen könnte.


    == Berechtigung einschränken ==
    == Berechtigung einschränken ==
    Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
    Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

    Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

    Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)