Berechtigungen auf Android-Geräten

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

  • Eingeschränkte Daten wie den Systemstatus und die Kontaktdaten von Nutzern
  • Eingeschränkte Aktionen wie das Herstellen einer Verbindung zu einem gekoppelten Gerät und das Aufzeichnen von Audio

Auf dieser Seite finden Sie eine Übersicht über die Funktionsweise von Android-Berechtigungen, einschließlich eines allgemeinen Workflows für die Verwendung von Berechtigungen, Beschreibungen verschiedener Arten von Berechtigungen und einige Best Practices für die Verwendung von Berechtigungen in Ihrer App. Auf anderen Seiten wird erklärt, wie Sie die Berechtigungsanfragen Ihrer App minimieren, Berechtigungen deklarieren, Laufzeitberechtigungen anfordern und einschränken können, wie andere Apps mit den Komponenten Ihrer App interagieren können.

Eine vollständige Liste der Android-App-Berechtigungen finden Sie auf der API-Referenzseite für Berechtigungen.

Einige Beispiel-Apps, die den Berechtigungs-Workflow veranschaulichen, finden Sie im Android-Berechtigungsbeispiel Repository auf GitHub.

Workflow für die Verwendung von Berechtigungen

Wenn Ihre App Funktionen bietet, für die möglicherweise Zugriff auf eingeschränkte Daten oder eingeschränkte Aktionen erforderlich ist, prüfen Sie, ob Sie die Informationen abrufen oder die Aktionen ausführen können, ohne Berechtigungen deklarieren zu müssen. Viele Anwendungsfälle in Ihrer App, z. B. das Aufnehmen von Fotos, das Anhalten der Medienwiedergabe und das Anzeigen relevanter Anzeigen, können ohne Deklaration von Berechtigungen erfüllt werden.

Wenn Sie festlegen, 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, sogenannte Installationszeitberechtigungen, 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 veranschaulicht den Workflow für die Verwendung von App-Berechtigungen:

Abbildung 1 Allgemeiner Workflow für die Verwendung von Berechtigungen unter Android.

Berechtigungsarten

Android kategorisiert Berechtigungen in verschiedene Typen, darunter Installationszeitberechtigungen, 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 API-Referenzseite für Berechtigungen angezeigt.

Installationszeitberechtigungen

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 Installationszeitberechtigungen einer App, die in einem App-Store angezeigt wird.

Installationszeitberechtigungen ermöglichen Ihrer App einen eingeschränkten Zugriff auf eingeschränkte Daten oder lassen Ihre App eingeschränkte Aktionen ausführen, die das System oder andere Apps nur minimal beeinträchtigen. Wenn Sie in Ihrer App Installationszeitberechtigungen deklarieren, wird dem Nutzer in einem App Store ein Hinweis zu Installationszeitberechtigungen angezeigt, wenn er die Detailseite einer App aufruft, wie in Abbildung 2 dargestellt. Das System erteilt Ihrer App die Berechtigungen automatisch, wenn der Nutzer Ihre App installiert.

Android enthält mehrere Untertypen von Installationszeitberechtigungen, darunter normale Berechtigungen und signaturbasierte Berechtigungen.

Normale Berechtigungen

Diese Berechtigungen ermöglichen den Zugriff auf Daten und Aktionen, die über die Sandbox Ihrer App hinausgehen, aber nur ein sehr geringes Risiko für die Privatsphäre des Nutzers und den Betrieb anderer Apps darstellen.

Das System weist normalen Berechtigungen die Schutzstufe normal zu.

Signaturbasierte Berechtigungen

Das System erteilt einer App nur dann eine signaturbasierte Berechtigung, 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 signaturbasierte Berechtigungen. Diese Apps erfordern signaturbasierte Berechtigungen für die Dienstbindung, damit nur das System eine Bindung an die Dienste vornehmen kann.

Das System weist signaturbasierten Berechtigungen die Schutzstufe signature zu.

Laufzeitberechtigungen

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

Laufzeitberechtigungen, auch gefährliche Berechtigungen genannt, ermöglichen Ihrer App zusätzlichen Zugriff auf eingeschränkte Daten oder lassen Ihre App eingeschränkte Aktionen ausführen, die das System und andere Apps stärker beeinträchtigen. Daher müssen Sie in Ihrer App Laufzeit berechtigungen 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 Erteilung der 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. Daher hilft Ihnen das System, zu erklären, warum Ihre App auf diese Informationen zugreift.

Das System weist Laufzeitberechtigungen die Schutzstufe dangerous zu.

Spezielle Berechtigungen

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

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

Weitere Informationen zum Anfordern spezieller Berechtigungen

Das System weist speziellen Berechtigungen die Schutzstufe appop zu.

Berechtigungsgruppen

Berechtigungen können zu Berechtigungsgruppen gehören. Berechtigungsgruppen bestehen aus einer Reihe von logisch zusammengehörigen Berechtigungen. So können beispielsweise Berechtigungen zum Senden und Empfangen von SMS-Nachrichten derselben Gruppe angehören, 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 derselben Gruppe angehören, in derselben Benutzeroberfläche angezeigt. Berechtigungen können jedoch ohne Vorankündigung die Gruppe wechseln. Gehen Sie daher nicht davon aus, dass eine bestimmte Berechtigung mit einer anderen Berechtigung gruppiert ist.

Best Practices

App-Berechtigungen basieren auf Systemsicherheit funktionen und tragen dazu bei, dass Android die folgenden Ziele in Bezug auf den Datenschutz von Nutzern unterstützt:

  • Kontrolle:Der Nutzer hat die Kontrolle über die Daten, die er für Apps freigibt.
  • Transparenz:Der Nutzer weiß, welche Daten eine App verwendet 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 werden einige grundlegende 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.

Minimale Anzahl von Berechtigungen anfordern

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 Ihre App beispielsweise Nutzern das Senden von Sprachnachrichten an andere ermöglicht, warten Sie, bis der Nutzer zum Bildschirm für Nachrichten navigiert und auf die Schaltfläche Sprachnachricht 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. Informieren Sie sich über die Berechtigungen, die für jede Abhängigkeit erforderlich sind, und wofür diese Berechtigungen verwendet werden.

Transparent sein

Wenn Sie eine Berechtigung anfordern, geben Sie genau an, worauf Sie zugreifen möchten, warum 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, geben Sie in Ihrer App kontinuierlich an, wenn das System diese Anzeigen nicht bereits bereitstellt. Diese Erinnerung hilft Nutzern zu verstehen, wann genau Ihre App auf eingeschränkte Daten zugreift oder eingeschränkte Aktionen ausführt.

Berechtigungen in Systemkomponenten

Berechtigungen sind nicht nur für die Anforderung von Systemfunktionen vorgesehen. Die Systemkomponenten Ihrer App können einschritten, welche anderen Apps mit Ihrer App interagieren können. Weitere Informationen finden Sie auf der Seite Interaktionen mit anderen Apps einschränken.