Berechtigungen auf Android-Geräten

App-Berechtigungen tragen zum Schutz der Privatsphäre bei, indem sie den Zugriff auf Folgendes schützen:

  • Eingeschränkte Daten, z. B. Systemstatus und Kontaktdaten von Nutzern
  • Eingeschränkte Aktionen, z. B. die Verbindung zu einem gekoppelten Gerät und die Aufnahme von Audio

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 der verschiedenen Arten von Berechtigungen und einigen Best Practices für die Verwendung von Berechtigungen in Ihrer App. Auf anderen Seiten wird erläutert, wie Sie die Berechtigungsanfragen 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 zur Permissions API.

Einige Beispiel-Apps, die den Berechtigungsablauf veranschaulichen, finden Sie im Repository für Android-Berechtigungsbeispiele auf GitHub.

Workflow für die Verwendung von Berechtigungen

Wenn Ihre App Funktionen bietet, für die möglicherweise der Zugriff auf eingeschränkte Daten oder eingeschränkte Aktionen erforderlich ist, sollten Sie prüfen, 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 abdecken, z. B. Fotos aufnehmen, die Medienwiedergabe pausieren und relevante Anzeigen einblenden, ohne Berechtigungen deklarieren zu müssen.

Wenn Sie entscheiden, dass Ihre App auf eingeschränkte Daten zugreifen oder eingeschränkte Aktionen ausführen muss, um einen Anwendungsfall zu erfüllen, deklarieren Sie die entsprechenden Berechtigungen. Einige Berechtigungen, die als Installationsberechtigungen bezeichnet werden, werden automatisch erteilt, wenn Ihre App installiert wird. Für andere Berechtigungen, sogenannte 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:

Abbildung 1: Übergeordneter Workflow für die Verwendung von Berechtigungen unter Android

Berechtigungsarten

Android kategorisiert Berechtigungen in verschiedene Typen, darunter Berechtigungen für die 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 erteilt. Die Schutzstufe für jede Berechtigung basiert auf ihrem Typ und wird auf der Seite API-Referenz für Berechtigungen angezeigt.

Installationsberechtigungen

Das linke Bild zeigt eine Liste der Berechtigungen, die für die Installation einer App erforderlich sind. Das rechte Bild zeigt ein Pop‑up-Dialogfeld mit zwei Optionen: „Zulassen“ und „Ablehnen“.
Abbildung 2. Die Liste der Berechtigungen, die bei der Installation einer App gewährt werden müssen und die in einem App-Shop angezeigt wird.

Installationsberechtigungen gewähren Ihrer App eingeschränkten Zugriff auf eingeschränkte Daten oder ermöglichen es Ihrer App, eingeschränkte Aktionen auszuführen, die das System oder andere Apps nur minimal beeinträchtigen. Wenn Sie Berechtigungen für die Installationszeit in Ihrer App deklarieren, wird dem Nutzer im App-Store eine entsprechende Benachrichtigung angezeigt, wenn er sich die Detailseite einer App ansieht (siehe Abbildung 2). Das System gewährt Ihrer App die Berechtigungen automatisch, wenn der Nutzer Ihre App installiert.

Android umfasst mehrere Untertypen von Berechtigungen für die 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, stellen aber nur ein sehr geringes Risiko für die Privatsphäre des Nutzers und den Betrieb anderer Apps dar.

Das System weist normalen Berechtigungen die Schutzstufe normal zu.

Berechtigungen für Signaturen

Das System gewährt einer App nur dann eine Signaturberechtigung, wenn die App mit demselben Zertifikat signiert ist wie die App oder das Betriebssystem, das die Berechtigung definiert.

Anwendungen, die privilegierte Dienste wie Autofill- oder VPN-Dienste implementieren, verwenden ebenfalls Signaturberechtigungen. Für diese Apps sind Berechtigungen für die Dienstbindungssignatur erforderlich, damit nur das System eine Bindung an die Dienste vornehmen kann.

Das System weist Signaturberechtigungen die Schutzstufe signature zu.

Laufzeitberechtigungen

Ein Pop‑up-Dialogfeld mit zwei Optionen: „Zulassen“ und „Ablehnen“.
Abbildung 3: Die Systemaufforderung für Berechtigungen, die angezeigt wird, wenn Ihre App eine Laufzeitberechtigung anfordert.

Laufzeitberechtigungen, auch als gefährliche Berechtigungen bezeichnet, gewähren Ihrer App zusätzlichen Zugriff auf eingeschränkte Daten oder ermöglichen es ihr, eingeschränkte Aktionen auszuführen, die sich 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 erteilt wurden. Prüfen Sie sie und fordern Sie sie bei Bedarf vor jedem Zugriff an.

Wenn Ihre App eine Laufzeitberechtigung anfordert, wird vom System eine Aufforderung zur Laufzeitberechtigung angezeigt, wie in Abbildung 3 dargestellt.

Viele Laufzeitberechtigungen ermöglichen den Zugriff auf private Nutzerdaten, eine spezielle Art von eingeschränkten Daten, die potenziell vertrauliche Informationen enthalten. Beispiele für private Nutzerdaten sind Standort- und Kontaktdaten.

Das Mikrofon und die Kamera ermöglichen den Zugriff auf besonders vertrauliche Informationen. Das System hilft Ihnen daher, zu erklären, warum Ihre App auf diese Informationen zugreift.

Das System weist Laufzeitberechtigungen die Schutzstufe dangerous zu.

Besondere Berechtigungen

Sonderberechtigungen entsprechen bestimmten App-Vorgängen. Nur die Plattform und OEMs können spezielle Berechtigungen definieren. Außerdem definieren die Plattform und OEMs in der Regel spezielle Berechtigungen, wenn sie den Zugriff auf besonders leistungsstarke Aktionen wie das Zeichnen über anderen Apps schützen möchten.

Die Seite Spezieller App-Zugriff in den Systemeinstellungen enthält eine Reihe von Vorgängen, die Nutzer ein- und ausschalten können. Viele dieser Vorgänge werden als spezielle Berechtigungen implementiert.

Weitere Informationen zum Anfordern spezieller Berechtigungen

Das System weist speziellen Berechtigungen das Schutzniveau appop zu.

Berechtigungsgruppen

Berechtigungen können Berechtigungsgruppen angehören. Berechtigungsgruppen bestehen aus einer Reihe von logisch zusammenhängenden Berechtigungen. Berechtigungen zum Senden und Empfangen von SMS-Nachrichten gehören beispielsweise möglicherweise zur selben Gruppe, da sie sich beide auf die Interaktion der Anwendung mit SMS beziehen.

Berechtigungsgruppen helfen dem System, die Anzahl der Systemdialogfelder zu minimieren, die dem Nutzer angezeigt werden, wenn eine App eng verwandte Berechtigungen anfordert. Wenn ein Nutzer aufgefordert wird, Berechtigungen für eine Anwendung zu erteilen, werden Berechtigungen, die zur selben Gruppe gehören, in derselben Benutzeroberfläche angezeigt. Berechtigungen können jedoch ohne Vorankündigung geändert 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 in Bezug auf den Datenschutz von Nutzern unterstützt:

  • Kontrolle:Nutzer haben die Kontrolle über die Daten, die sie mit Apps teilen.
  • 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 aufruft.

In diesem Abschnitt finden Sie eine Reihe von Best Practices für die effektive Verwendung von Berechtigungen in Ihrer App. Weitere Informationen zur Verwendung von Berechtigungen unter Android finden Sie auf der Seite Best Practices für App-Berechtigungen.

Fordern Sie eine Mindestanzahl von Berechtigungen an.

Wenn der Nutzer eine bestimmte Aktion in Ihrer App anfordert, sollte Ihre App nur die Berechtigungen anfordern, die zum Ausführen 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 Informationen angewiesen zu sein.

Laufzeitberechtigungen bestimmten Aktionen zuordnen

Fordern Sie Berechtigungen so spät wie möglich im Ablauf der Anwendungsfälle Ihrer App an. Wenn Nutzer in Ihrer App beispielsweise Audio-Nachrichten an andere senden können, warten Sie, bis der Nutzer zum Messaging-Bildschirm navigiert und die Schaltfläche Audio-Nachricht senden gedrückt hat. Nachdem der Nutzer die Schaltfläche gedrückt hat, kann Ihre App Zugriff auf das Mikrofon anfordern.

Abhängigkeiten Ihrer App berücksichtigen

Wenn Sie eine Bibliothek einbinden, übernehmen Sie auch deren Berechtigungsanforderungen. Achten Sie auf die Berechtigungen, die für jede Abhängigkeit erforderlich sind, und darauf, wofür diese Berechtigungen verwendet werden.

Transparent sein

Wenn Sie nach einer Berechtigung fragen, geben Sie genau an, worauf Sie zugreifen möchten, weshalb und welche Funktionen betroffen sind, wenn die Berechtigungen verweigert werden. So können die Nutzer fundierte Entscheidungen treffen.

Systemzugriffe explizit machen

Wenn Sie auf vertrauliche Daten oder Hardware wie die Kamera oder das Mikrofon zugreifen, müssen Sie in Ihrer App eine kontinuierliche Anzeige bereitstellen, sofern das System diese Anzeigen nicht bereits bereitstellt. Diese Erinnerung hilft Nutzern, genau zu verstehen, wann Ihre App auf eingeschränkte Daten zugreift oder eingeschränkte Aktionen ausführt.

Berechtigungen in Systemkomponenten

Berechtigungen werden nicht nur zum Anfordern von Systemfunktionen verwendet. Die Systemkomponenten Ihrer App können einschränken, welche anderen Apps mit Ihrer App interagieren dürfen. Weitere Informationen finden Sie auf der Seite zum Einschränken von Interaktionen mit anderen Apps.