App-Berechtigungen tragen zum Schutz der Privatsphäre von Nutzern bei, indem der Zugriff auf Folgendes geschützt wird:
- Eingeschränkte Daten wie der Systemstatus und die Kontaktdaten von Nutzern
- Eingeschränkte Aktionen, z. B. die Verbindung zu einem gekoppelten Gerät und die Audioaufzeichnung
Auf dieser Seite finden Sie einen Überblick über die Funktionsweise von Android-Berechtigungen, einschließlich eines allgemeinen Workflows für die Verwendung von Berechtigungen, Beschreibungen verschiedener Berechtigungstypen und Best Practices für die Verwendung von Berechtigungen in Ihrer App. Auf anderen Seiten erfahren Sie, wie Sie Anfragen für Berechtigungen Ihrer App minimieren, Berechtigungen deklarieren, Laufzeitberechtigungen anfordern und einschränken, wie andere Apps mit den Komponenten Ihrer App interagieren können.
Eine vollständige Liste der Android-App-Berechtigungen finden Sie auf der Referenzseite der Permissions API.
Beispielanwendungen, die den Berechtigungsablauf veranschaulichen, finden Sie im Repository mit Beispielen für Android-Berechtigungen auf GitHub.
Workflow für die Verwendung von Berechtigungen
Wenn Ihre App Funktionen bietet, für die der Zugriff auf eingeschränkte Daten oder eingeschränkte Aktionen erforderlich sein könnte, prüfen Sie, ob Sie die Informationen abrufen oder die Aktionen ausführen können, ohne Berechtigungen deklarieren zu müssen. Sie können viele Anwendungsfälle in Ihrer App erfüllen, z. B. Fotos aufnehmen, die Medienwiedergabe pausieren und relevante Anzeigen schalten, ohne Berechtigungen angeben zu müssen.
Wenn Sie entscheiden, dass Ihre App für einen Anwendungsfall auf eingeschränkte Daten zugreifen oder eingeschränkte Aktionen ausführen muss, erklären Sie die entsprechenden Berechtigungen. Einige Berechtigungen, die sogenannten Berechtigungen zur Installationszeit, werden automatisch gewährt, wenn Ihre App installiert wird. Bei anderen Berechtigungen, sogenannten Laufzeitberechtigungen, muss Ihre App einen Schritt weiter gehen und die Berechtigung zur Laufzeit anfordern.
Abbildung 1 zeigt den Workflow für die Verwendung von App-Berechtigungen:
Berechtigungsarten
Android kategorisiert Berechtigungen in verschiedene Typen, darunter Berechtigungen zur Installationszeit, Laufzeitberechtigungen und spezielle Berechtigungen. Der Typ jeder Berechtigung gibt den Umfang der eingeschränkten Daten an, auf die Ihre App zugreifen kann, und den Umfang der eingeschränkten Aktionen, die Ihre App ausführen kann, wenn das System Ihrer App diese Berechtigung gewährt. Die Schutzstufe für jede Berechtigung basiert auf ihrem Typ und wird auf der Seite API-Referenz für Berechtigungen angezeigt.
Berechtigungen bei der Installation
Berechtigungen zur Installationszeit gewähren Ihrer App eingeschränkten Zugriff auf eingeschränkte Daten oder ermöglichen es Ihrer App, eingeschränkte Aktionen auszuführen, die sich nur geringfügig auf das System oder andere Apps auswirken. Wenn Sie Berechtigungen zur Installationszeit in Ihrer App deklarieren, wird Nutzern in einem App-Shop eine Berechtigungsmitteilung zur Installationszeit angezeigt, wenn sie die Detailseite einer App aufrufen, wie in Abbildung 2 dargestellt. Das System gewährt Ihrer App die Berechtigungen automatisch, wenn der Nutzer Ihre App installiert.
Android bietet mehrere Untertypen von Berechtigungen zur Installationszeit, darunter normale Berechtigungen und Signaturberechtigungen.
Normale Berechtigungen
Diese Berechtigungen ermöglichen den Zugriff auf Daten und Aktionen, die über die Sandbox Ihrer App hinausgehen, aber ein sehr geringes Risiko für die Privatsphäre des Nutzers und die Funktion anderer Apps darstellen.
Normalen Berechtigungen wird vom System die Schutzstufe normal
zugewiesen.
Unterschriftsberechtigungen
Das System gewährt einer App nur dann eine Signaturberechtigung, wenn die App mit demselben Zertifikat wie die App oder das Betriebssystem signiert ist, das die Berechtigung definiert.
Auch Anwendungen, die privilegierte Dienste wie Autofill- oder VPN-Dienste implementieren, nutzen Signaturberechtigungen. Für diese Apps sind Berechtigungen für die Dienstbindungssignatur erforderlich, damit nur das System eine Bindung an die Dienste herstellen kann.
Das System weist Signaturen die Schutzstufe signature
zu.
Laufzeitberechtigungen
Laufzeitberechtigungen, auch als gefährliche Berechtigungen bezeichnet, gewähren Ihrer App zusätzlichen Zugriff auf eingeschränkte Daten oder ermöglichen es Ihrer App, eingeschränkte Aktionen auszuführen, die sich wesentlich stärker auf das System und andere Apps auswirken. Daher müssen Sie in Ihrer App Laufzeitberechtigungen anfordern, bevor Sie auf die eingeschränkten Daten zugreifen oder eingeschränkte Aktionen ausführen können. Gehen Sie nicht davon aus, dass diese Berechtigungen bereits gewährt wurden. Prüfen Sie sie und fordern Sie sie bei Bedarf vor jedem Zugriff an.
Wenn Ihre App eine Berechtigung zur Laufzeit anfordert, wird vom System eine Aufforderung zur Laufzeitberechtigung angezeigt (siehe Abbildung 3).
Viele Laufzeitberechtigungen greifen auf private Nutzerdaten zu, eine spezielle Art von eingeschränkten Daten, die potenziell vertrauliche Informationen enthalten. Beispiele für personenbezogene Nutzerdaten sind Standort- und Kontaktdaten.
Mikrofon und Kamera gewähren Zugriff auf besonders sensible Daten. Daher hilft Ihnen das System, zu erklären, warum Ihre App auf diese Informationen zugreift.
Das System weist Laufzeitberechtigungen die Schutzstufe dangerous
zu.
Besondere Berechtigungen
Besondere Berechtigungen entsprechen bestimmten App-Vorgängen. Nur die Plattform und OEMs können spezielle Berechtigungen definieren. Außerdem definieren die Plattform und die OEMs in der Regel spezielle Berechtigungen, wenn sie den Zugriff auf besonders leistungsstarke Aktionen schützen möchten, z. B. das Zeichnen über andere Apps.
Die Seite Spezielle App-Zugriffe in den Systemeinstellungen enthält eine Reihe von Aktionen, die vom Nutzer aktiviert werden können. Viele dieser Vorgänge werden als spezielle Berechtigungen implementiert.
Weitere Informationen zum Beantragen spezieller Berechtigungen
Das System weist das Schutzniveau appop
speziellen Berechtigungen zu.
Berechtigungsgruppen
Berechtigungen können zu Berechtigungsgruppen gehören. Berechtigungsgruppen bestehen aus einer Reihe logisch zusammenhängender Berechtigungen. So können beispielsweise die Berechtigungen zum Senden und Empfangen von SMS zur selben Gruppe gehören, da sie sich beide auf die Interaktion der Anwendung mit SMS beziehen.
Mit Berechtigungsgruppen kann das System die Anzahl der Systemdialogfelder minimieren, die dem Nutzer angezeigt werden, wenn eine App eng miteinander verbundene Berechtigungen anfordert. Wenn ein Nutzer aufgefordert wird, Berechtigungen für eine Anwendung zu gewähren, werden Berechtigungen derselben Gruppe in derselben Benutzeroberfläche angezeigt. Berechtigungen können jedoch ohne vorherige Ankündigung in andere Gruppen verschoben werden. Gehen Sie also nicht davon aus, dass eine bestimmte Berechtigung mit einer anderen Berechtigung gruppiert ist.
Best Practices
App-Berechtigungen basieren auf Systemsicherheitsfunktionen und tragen dazu bei, dass Android die folgenden Ziele im Hinblick auf den Datenschutz von Nutzern unterstützt:
- Kontrolle:Der Nutzer hat die Kontrolle über die Daten, die er mit Apps teilt.
- Transparenz: Der Nutzer versteht, welche Daten von einer App verwendet werden und warum die App auf diese Daten zugreift.
- Datenminimierung:Eine App greift nur auf die Daten zu und verwendet nur die Daten, die für eine bestimmte Aufgabe oder Aktion erforderlich sind, die der Nutzer ausführt.
In diesem Abschnitt werden einige wichtige Best Practices für die effektive Verwendung von Berechtigungen in Ihrer App vorgestellt. Weitere Informationen zur Verwendung von Berechtigungen unter Android finden Sie auf der Seite Best Practices für App-Berechtigungen.
Mindestanzahl von Berechtigungen anfordern
Wenn der Nutzer eine bestimmte Aktion in Ihrer App ausführt, sollte Ihre App nur die Berechtigungen anfordern, die für die Ausführung dieser Aktion erforderlich sind. Je nachdem, wie Sie die Berechtigungen verwenden, gibt es möglicherweise eine alternative Möglichkeit, den Anwendungsfall Ihrer App zu erfüllen, ohne auf den Zugriff auf vertrauliche Daten angewiesen zu sein.
Laufzeitberechtigungen bestimmten Aktionen zuweisen
Fordern Sie Berechtigungen so spät wie möglich im Ablauf der Anwendungsfälle Ihrer App an. Wenn Nutzer in Ihrer App beispielsweise Audionachrichten an andere senden können, warten Sie, bis der Nutzer den Bildschirm für Nachrichten aufgerufen und auf die Schaltfläche Audionachricht senden geklickt hat. Nachdem der Nutzer auf die Schaltfläche geklickt hat, kann Ihre App den Zugriff auf das Mikrofon anfordern.
Abhängigkeiten Ihrer App berücksichtigen
Wenn Sie eine Bibliothek einbinden, übernehmen Sie auch die Berechtigungsanforderungen. Sie sollten sich darüber im Klaren sein, welche Berechtigungen für jede Abhängigkeit erforderlich sind und wozu diese Berechtigungen verwendet werden.
Transparent sein
Wenn Sie eine Berechtigungsanfrage stellen, geben Sie klar an, worauf Sie zugreifen möchten, warum und welche Funktionen betroffen sind, wenn Berechtigungen abgelehnt werden. So können Nutzer fundierte Entscheidungen treffen.
Systemzugriffe explizit machen
Wenn Sie auf sensible Daten oder Hardware wie die Kamera oder das Mikrofon zugreifen, muss in Ihrer App eine kontinuierliche Anzeige eingeblendet werden, sofern das System diese Anzeige nicht bereits bietet. Diese Erinnerung hilft Nutzern, genau zu verstehen, wann Ihre App auf eingeschränkte Daten zugreift oder eingeschränkte Aktionen ausführt.
Berechtigungen für Systemkomponenten
Berechtigungen dienen nicht nur dazu, Systemfunktionen anzufordern. Mit den Systemkomponenten Ihrer App können Sie einschränken, welche anderen Apps mit Ihrer App interagieren können. Weitere Informationen finden Sie auf der Seite Interaktionen mit anderen Apps einschränken.