Informationen zu Authentifizierung und Autorisierung

Authentifizierung und Autorisierung sind Mechanismen, die verwendet werden, um die Identität bzw. den Zugriff auf Ressourcen zu überprüfen. In diesem Dokument werden wichtige Begriffe erläutert, die Sie kennen sollten, bevor Sie die Authentifizierung und Autorisierung in Ihrer App implementieren.

Bei der Authentifizierung wird ermittelt, wer die Anfrage stellt. Bei der Autorisierung wird ermittelt, auf welche Ressourcen der Anfragende zugreifen kann und welche Zugriffsebene er hat. Die Authentifizierung ist eine Voraussetzung für die Autorisierung. Sie können nicht bestimmen, auf welche Ressourcen zugegriffen werden soll, ohne zuerst die Identität des Anfragenden zu ermitteln. Eine detailliertere Definition finden Sie unter siehe den Abschnitt Wichtige Terminologie.

Betrachten Sie das folgende vereinfachte Beispiel einer Hotelreservierung. Wenn Sie im Hotel ankommen, fordert der Rezeptionist Ihren Ausweis an, um Ihre Reservierung zu überprüfen. Mit Ihrem Ausweis authentifizieren Sie sich im Hotel. Der Rezeptionist gibt Ihnen einen Hotelschlüssel. Mit diesem Schlüssel haben Sie Zugriff auf bestimmte Ressourcen im Hotel, z. B. Ihr Hotelzimmer, das Fitnessstudio und das Business Center. Der Hotelschlüssel autorisiert Sie für den Zugriff auf diese Ressourcen.

Prozessübersicht

Das folgende Diagramm zeigt die allgemeinen Schritte der Authentifizierung und Autorisierung für Google Workspace APIs:

Allgemeine Schritte für die Implementierung der Authentifizierung und Autorisierung
Abbildung 1. Allgemeine Schritte einer Authentifizierungs- und Autorisierungsimplementierung
  1. Google Cloud-Projekt und App konfigurieren:Während der Entwicklung registrieren Sie Ihre App in der Google Cloud Console und definieren Autorisierungsbereiche und Anmeldedaten, um Ihre App mit einem API-Schlüssel, Endnutzeranmeldedaten oder Dienstkontoanmeldedaten zu authentifizieren.

  2. App für den Zugriff authentifizieren:Wenn Ihre App ausgeführt wird, werden die registrierten Anmeldedaten ausgewertet. Wenn sich Ihre App als Endnutzer authentifiziert, wird möglicherweise eine Anmeldeaufforderung angezeigt.

  3. Ressourcen anfordern:Wenn Ihre App Zugriff auf Google-Ressourcen benötigt, fragt sie Google mit den entsprechenden Zugriffsbereichen, die Sie zuvor registriert haben.

  4. Nutzereinwilligung einholen:Wenn sich Ihre App als Endnutzer authentifiziert, zeigt Google den OAuth-Zustimmungsbildschirm an, damit der Nutzer entscheiden kann, ob er Ihrer App Zugriff auf die angeforderten Daten gewähren möchte.

  5. Genehmigte Anfrage für Ressourcen senden:Wenn der Nutzer den Zugriffsbereichen zustimmt, bündelt Ihre App die Anmeldedaten und die vom Nutzer genehmigten Zugriffsbereiche in einer Anfrage. Die Anfrage wird an den Google-Autorisierungsserver gesendet, um ein Zugriffstoken zu erhalten.

  6. Google gibt ein Zugriffstoken zurück:Das Zugriffstoken enthält eine Liste der gewährten Zugriffsbereiche. Wenn die zurückgegebene Liste der Bereiche eingeschränkter ist als die angeforderten Zugriffsbereiche, deaktiviert Ihre App alle Funktionen, die durch das Token eingeschränkt sind.

  7. Auf angeforderte Ressourcen zugreifen:Ihre App verwendet das Zugriffstoken von Google, um die entsprechenden APIs aufzurufen und auf die Ressourcen zuzugreifen.

  8. Aktualisierungstoken abrufen (optional) : Wenn Ihre App über die Lebensdauer eines einzelnen Zugriffstokens hinaus Zugriff auf eine Google API benötigt, kann sie ein Aktualisierungstoken abrufen.

  9. Weitere Ressourcen anfordern:Wenn zusätzlicher Zugriff erforderlich ist, fordert Ihre App den Nutzer auf, neue Zugriffsbereiche zu gewähren. Dies führt zu einer neuen Anfrage zum Abrufen eines Zugriffstokens (Schritte 3–6).

Wichtige Terminologie

In der folgenden Liste sind Begriffe im Zusammenhang mit Authentifizierung und Autorisierung aufgeführt:

Authentifizierung

Der Vorgang, bei dem sichergestellt wird, dass ein Hauptkonto, das ein Nutzer oder eine App sein kann, die im Namen eines Nutzers handelt, die Person ist, die es vorgibt zu sein. Wenn Sie Google Workspace-Apps schreiben, sollten Sie sich mit den folgenden Arten der Authentifizierung vertraut machen:

Nutzerauthentifizierung
Der Vorgang, bei dem sich ein Nutzer bei Ihrer App authentifiziert (anmeldet). Die Nutzer authentifizierung erfolgt in der Regel über einen Anmeldevorgang, bei dem der Nutzer eine Kombination aus Nutzername und Passwort verwendet, um seine Identität gegenüber der App zu bestätigen. Die Nutzerauthentifizierung kann mithilfe von „Über Google anmelden“ in eine App eingebunden werden.
App-Authentifizierung
Der Vorgang, bei dem sich eine App direkt bei Google-Diensten im Namen des Nutzers authentifiziert, der die App ausführt. Die App-Authentifizierung erfolgt in der Regel mit vorab erstellten Anmeldedaten im Code Ihrer App.
Autorisierung

Die Berechtigungen oder „Befugnisse“, die das Hauptkonto hat, um auf Daten zuzugreifen oder Vorgänge auszuführen. Ihre App fordert die Autorisierung an, indem sie den Nutzer darüber informiert, dass die App in seinem Namen handeln möchte. Wenn der Nutzer die Anfrage zulässt, verwendet die App ihre eindeutigen Anmeldedaten, um ein Zugriffstoken von Google zu erhalten.

Anmeldedaten

Eine Form der Identifizierung, die in der Softwaresicherheit verwendet wird. Im Hinblick auf die Authentifizierung ist ein Anmeldedatum oft eine Kombination aus Nutzername und Passwort. Im Hinblick auf die Autorisierung für Google Workspace APIs ist ein Anmeldedatum in der Regel eine Form der Identifizierung, z. B. ein eindeutiger geheimer String, der nur dem App-Entwickler und dem Authentifizierungsserver bekannt ist. Google unterstützt die folgenden Anmeldedaten für die Authentifizierung: API-Schlüssel, OAuth 2.0-Client-ID und Dienstkonten.

API-Schlüssel
Die Anmeldedaten, die verwendet werden, um Zugriff auf öffentliche Daten anzufordern, z. B. Daten, die über die Maps API bereitgestellt werden. Auf öffentliche Google Workspace-Dateien, die mit der Einstellung „Jeder im Internet mit diesem Link“ freigegeben wurden, kann auch auf diese Weise zugegriffen werden. Für die meisten Google Workspace-Daten ist jedoch OAuth 2.0 erforderlich.
OAuth 2-Client-ID
Die Anmeldedaten, die verwendet werden, um Zugriff auf Daten anzufordern, die sich im Besitz des Nutzers befinden. Dies sind die primären Anmeldedaten, die beim Anfordern des Zugriffs auf Daten mit Google Workspace APIs verwendet werden. Für diese Anmeldedaten ist die Nutzereinwilligung erforderlich.
Clientschlüssel
Ein String aus Zeichen, der nur Ihrer Anwendung und dem Autorisierungsserver bekannt sein sollte. Der Clientschlüssel schützt die Daten des Nutzers, indem er nur autorisierten Anfragenden Tokens gewährt. Sie sollten Ihren unverschlüsselten Clientschlüssel niemals in Ihre App einfügen. Wir empfehlen, den Clientschlüssel sicher zu speichern. Weitere Informationen finden Sie unter Client-Anmeldedaten sicher verwalten.
Dienstkontoschlüssel
Werden von Dienstkonten verwendet, um die Autorisierung für einen Google-Dienst zu erhalten.
Dienstkonto
Anmeldedaten, die für Server-zu-Server-Interaktionen verwendet werden, z. B. für eine Anwendung ohne Benutzeroberfläche, die als Prozess ausgeführt wird, um auf Daten zuzugreifen oder Vorgänge auszuführen. Dienstkonten werden in der Regel für den Zugriff auf cloudbasierte Daten und Vorgänge verwendet. Wenn sie jedoch mit der domainweiten Delegierung von Befugnissen verwendet werden, können sie für den Zugriff auf Nutzerdaten verwendet werden.
Ebene

Ein OAuth 2.0-URI-String, der eine Zugriffsebene auf Ressourcen oder Aktionen definiert, die einer App gewährt werden. Für Google Workspace enthalten Autorisierungsbereichs-URIs den Namen der Google Workspace-App, die Art der Daten, auf die sie zugreift, und die Zugriffsebene. Nutzer Ihrer App können die angeforderten Bereiche überprüfen und auswählen, welchen Zugriff sie gewähren möchten. Der Authentifizierungsserver von Google gibt dann zulässige Bereiche in einem Zugriffstoken an Ihre App zurück. Weitere Informationen finden Sie unter Bereiche für Ihre App auswählen.

Autorisierungsserver

Der Google-Server, der den Zugriff auf die angeforderten Daten und Vorgänge einer App mithilfe eines Zugriffstokens gewährt.

Autorisierungscode

Ein Code, der vom Autorisierungsserver gesendet wird, um ein Zugriffstoken zu erhalten. Ein Code ist nur erforderlich, wenn Ihr Anwendungstyp eine Webserver-App oder eine installierte App ist.

Zugriffstoken

Ein Token, das Zugriff auf eine Google Workspace API gewährt. Ein einzelnes Zugriffstoken kann unterschiedliche Zugriffsebenen, sogenannte Bereiche, für mehrere APIs gewähren. Der Autorisierungscode Ihrer App fordert Zugriffstokens an und verwendet sie, um Google Workspace APIs aufzurufen.

Ressourcenserver

Der Server, auf dem die API gehostet wird, die Ihre App aufrufen möchte.

OAuth 2.0-Framework

Ein Standard, den Ihre App verwenden kann, um „sicheren delegierten Zugriff“ oder Zugriff auf Daten und Vorgänge im Namen des App-Nutzers zu gewähren. Die Authentifizierungs und Autorisierungsmechanismen, die Sie in Ihrer App verwenden, stellen Ihre Implementierung des OAuth 2.0-Frameworks dar.

Hauptkonto

Eine Entität, die auch als Identität bezeichnet wird und der Zugriff auf eine Ressource gewährt werden kann. Google Workspace APIs unterstützen zwei Arten von Hauptkonten: Nutzerkonten und Dienstkonten. Weitere Informationen finden Sie unter Hauptkonten.

Datentyp

Im Zusammenhang mit Authentifizierung und Autorisierung bezieht sich der Datentyp auf die Entität, die Inhaber der Daten ist, auf die Ihre App zugreifen möchte. Es gibt drei Datentypen:

Urheberrechtsfreie Daten („Public Domain“)
Daten, auf die jeder zugreifen kann, z. B. einige Google Maps-Daten. Auf diese Daten wird in der Regel mit einem API-Schlüssel zugegriffen.
Endnutzerdaten
Daten, die einem bestimmten Endnutzer oder einer bestimmten Gruppe gehören, z. B. die Google Drive-Dateien eines bestimmten Nutzers. Auf diesen Datentyp wird in der Regel mit einer OAuth 2-Client-ID oder einem Dienstkonto zugegriffen.
Clouddaten
Daten, die einem Google Cloud-Projekt gehören. Auf diesen Datentyp wird in der Regel mit einem Dienstkonto zugegriffen.
Nutzereinwilligung

Ein Autorisierungsschritt, bei dem der Nutzer Ihrer App die App autorisieren muss, auf Daten zuzugreifen und Vorgänge im Namen des Nutzers auszuführen.

App-Typ

Der Typ der App, die Sie erstellen möchten. Wenn Sie Anmeldedaten mit der Google Cloud Console erstellen, werden Sie aufgefordert, Ihren App-Typ auszuwählen. Zu den App-Typen gehören: Webanwendung (JavaScript), Android, Chrome-App, iOS, Fernseher und Geräte mit eingeschränkter Eingabe, Desktop-App (auch „installierte App“ genannt) und universelle Windows-Plattform (UWP).

Dienstkonto

Ein spezieller Typ von Google-Konto, der einen nicht menschlichen Nutzer repräsentiert, der sich authentifizieren und autorisiert werden muss, um auf Daten zuzugreifen. Ihre Anwendung nimmt beim Aufrufen der Google APIs die Identität des Dienstkontos an, sodass die Nutzer nicht direkt beteiligt sind. Dienstkonten können nicht verwendet werden, um auf Nutzerdaten zuzugreifen, auf die normalerweise mit Google Workspace APIs zugegriffen wird. Ein Dienstkonto kann jedoch auf Nutzerdaten zugreifen, indem es die domainweite Delegierung von Befugnissen implementiert. Weitere Informationen finden Sie unter Details zu Dienstkonten.

Domainweite Delegierung von Befugnissen

Eine Verwaltungsfunktion, mit der eine Anwendung autorisiert werden kann, im Namen von Nutzern in der Google Workspace-Organisation auf Nutzerdaten zuzugreifen. Die domainweite Delegierung kann verwendet werden, um Verwaltungsaufgaben für Nutzerdaten auszuführen. Um Befugnisse auf diese Weise zu delegieren, verwenden Google Workspace-Administratoren Dienstkonten mit OAuth 2.0. Aufgrund der Leistungsfähigkeit dieser Funktion können nur Super Admins die domainweite Delegierung von Befugnissen aktivieren. Weitere Informationen finden Sie unter siehe Domainweite Befugnisse an ein Dienstkonto delegieren.

Nächster Schritt

Konfigurieren Sie den OAuth-Zustimmungsbildschirm Ihrer App , damit Nutzer verstehen und genehmigen können, welchen Zugriff Ihre App auf ihre Daten hat.