Informationen zur Authentifizierung und Autorisierung

Authentifizierung und Autorisierung sind Mechanismen zur Überprüfung der Identität bzw. des Zugriffs auf Ressourcen. In diesem Dokument werden die wichtigsten Begriffe erläutert, die Sie vor der Implementierung der Authentifizierung und Autorisierung in Ihrer Anwendung kennen sollten.

Hinweis:In dieser Übersicht liegt der Schwerpunkt auf der Authentifizierung und Autorisierung für Google Workspace APIs. Einige Informationen in diesem Dokument gelten möglicherweise nicht für andere Google APIs.

Prozessübersicht

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

Allgemeine Schritte zur Authentifizierungs- und Autorisierungsimplementierung
Abbildung 1. Allgemeine Schritte zur Authentifizierung und Autorisierung
  1. Google Cloud-Projekt und -Anwendung konfigurieren:Während der Entwicklung registrieren Sie Ihre Anwendung in der Google Cloud Console und definieren Autorisierungsbereiche und Zugriffsanmeldedaten, um Ihre Anwendung mit einem API-Schlüssel, Endnutzer-Anmeldedaten oder Dienstkonto-Anmeldedaten zu authentifizieren.

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

  3. Ressourcen anfordern:Wenn Ihre Anwendung Zugriff auf Google-Ressourcen benötigt, fordert sie Google über die relevanten Zugriffsbereiche an, die Sie zuvor registriert haben.

  4. Nach Nutzereinwilligung fragen:Wenn sich Ihre Anwendung als Endnutzer authentifiziert, zeigt Google den OAuth-Zustimmungsbildschirm an, damit der Nutzer entscheiden kann, ob er Ihrer Anwendung Zugriff auf die angeforderten Daten gewährt.

  5. Genehmigte Anfrage für Ressourcen senden:Wenn der Nutzer den Zugriffsbereichen zustimmt, fasst Ihre Anwendung die Anmeldedaten und die vom Nutzer genehmigten Zugriffsbereiche in einer Anfrage zusammen. 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 stärker begrenzt ist als die angeforderten Zugriffsbereiche, deaktiviert Ihre Anwendung alle vom Token eingeschränkten Funktionen.

  7. Zugriff auf angeforderte Ressourcen:Ihre Anwendung verwendet das Zugriffstoken von Google, um die relevanten APIs aufzurufen und auf die Ressourcen zuzugreifen.

  8. Aktualisierungstoken abrufen (optional): Wenn für Ihre Anwendung über die Lebensdauer eines einzelnen Zugriffstokens hinaus Zugriff auf eine Google API benötigt wird, kann ein Aktualisierungstoken abgerufen werden.

  9. Weitere Ressourcen anfordern:Wenn zusätzlicher Zugriff benötigt wird, bittet Ihre Anwendung den Nutzer, neue Zugriffsbereiche zu gewähren. Dies führt zu einer neuen Anfrage zum Abrufen eines Zugriffstokens (Schritte 3–6).

Wichtige Terminologie

Im Folgenden finden Sie eine Liste von Begriffen im Zusammenhang mit Authentifizierung und Autorisierung:

Authentifizierung

Ein Hauptkonto, das ein Nutzer oder eine Anwendung sein kann, das im Namen eines Nutzers handelt, muss das sein, was der Nutzer sagt. Beim Schreiben von Google Workspace-Anwendungen sollten Sie die folgenden Authentifizierungstypen beachten:

Nutzerauthentifizierung
Die Authentifizierung eines Nutzers bei deiner App. Die Nutzerauthentifizierung erfolgt in der Regel über einen Anmeldevorgang, bei dem der Nutzer seine Nutzernamen- und Passwortkombination verwendet, um seine Identität gegenüber der App zu bestätigen. Die Nutzerauthentifizierung kann über Über Google anmelden in eine App eingebunden werden.
App-Authentifizierung
Die Authentifizierung einer Anwendung, die sich direkt im Namen des Nutzers, der die Anwendung ausführt, bei Google-Diensten authentifiziert. Die Anwendungsauthentifizierung erfolgt in der Regel mit vordefinierten Anmeldedaten im Anwendungscode.
Autorisierung

Die Berechtigungen oder die „Berechtigung“ des Hauptkontos, um auf Daten zuzugreifen oder Vorgänge auszuführen. Die Autorisierung erfolgt über Code, den Sie in Ihrer Anwendung schreiben. Dieser Code informiert den Nutzer darüber, dass die App in seinem Namen handeln möchte. Sofern möglich, verwendet er die eindeutigen Anmeldedaten Ihrer App, um ein Zugriffstoken von Google abzurufen, mit dem auf Daten zugegriffen oder Vorgänge ausgeführt werden können.

Anmeldedaten

Eine Form der Identifizierung, die in der Softwaresicherheit verwendet wird. Bei der Authentifizierung besteht eine Kombination aus Anmeldedaten häufig aus einem Nutzernamen und einem Passwort. In Bezug auf die Autorisierung für Google Workspace APIs sind Anmeldedaten normalerweise eine Form der Identifizierung, z. B. ein eindeutiger geheimer String, der nur vom App-Entwickler und vom 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, mit denen Zugriff auf öffentliche Daten angefordert wird, z. B. über die Maps API oder Google Workspace-Dateien bereitgestellte Daten, die über die Einstellung „Jeder im Internet mit diesem Link“ in den Freigabeeinstellungen von Google Workspace freigegeben werden.
OAuth 2.0-Client-ID
Die Anmeldedaten, mit denen der Zugriff auf nutzereigene Daten angefordert wird. Dies sind die primären Anmeldedaten, die bei der Anfrage des Datenzugriffs über Google Workspace APIs verwendet werden. Für diese Anmeldedaten ist eine Nutzereinwilligung erforderlich.
Clientschlüssel
Ein String, der nur von Ihrer Anwendung und dem Autorisierungsserver bekannt sein sollte. Der Clientschlüssel schützt die Daten des Nutzers, indem er nur autorisierten Anfragenden Tokens zuweist. Sie sollten den Clientschlüssel nie in Ihre Anwendung aufnehmen.
Dienstkontoschlüssel
Wird 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. eine Anwendung ohne Gesicht, die als Prozess für den Zugriff auf einige Daten oder für bestimmte Vorgänge ausgeführt wird. Dienstkonten werden normalerweise 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.
Scope (Bereich)

Ein OAuth 2.0-URI-String, der eine Zugriffsebene auf Ressourcen oder Aktionen definiert, die einer Anwendung gewährt werden. Bei Google Workspace enthalten URIs für den Autorisierungsbereich den Namen der Google Workspace-App, die Art der Daten, auf die sie zugreift, und die Zugriffsebene. Nutzer Ihrer Anwendung können angeforderte Bereiche überprüfen und auswählen, welcher Zugriff gewährt werden soll. Anschließend gibt der Authentifizierungsserver von Google zulässige Bereiche in einem Zugriffstoken an Ihre Anwendung zurück. Weitere Informationen finden Sie unter Bereiche für Ihre Anwendung auswählen.

Autorisierungsserver

Der Google-Server für die Gewährung des Zugriffs auf die angeforderten Daten und Vorgänge einer Anwendung mit einem Zugriffstoken.

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 mehreren APIs unterschiedliche Zugriffsrechte zuweisen. Diese werden auch als Bereiche bezeichnet. Der Autorisierungscode Ihrer Anwendung fordert Zugriffstoken an und verwendet sie zum Aufrufen von Google Workspace APIs.

Ressourcenserver

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

OAuth 2.0-Framework

Ein Standard, den Ihre Anwendung verwenden kann, um im Namen des Nutzers der App einen „gesicherten delegierten Zugriff“ oder Zugriff auf Daten und Vorgänge zu gewähren. Die Authentifizierungs- und Autorisierungsmechanismen, die Sie in Ihrer Anwendung 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 Kontext der Authentifizierung und Autorisierung bezieht sich der Datentyp auf die Entität, die Eigentümer der Daten ist, auf die Ihre App zugreifen möchte. Es gibt drei Datentypen:

Urheberrechtsfreie Inhalte („Public Domain“)
Daten, auf die jeder zugreifen kann, z. B. Google Maps-Daten Der Zugriff auf diese Daten erfolgt in der Regel über einen API-Schlüssel.
Endnutzerdaten
Daten, die einem bestimmten Endnutzer oder einer bestimmten Gruppe gehören, z. B. Google Drive-Dateien eines bestimmten Nutzers. Auf diesen Datentyp wird normalerweise über eine OAuth 2-Client-ID oder ein OAuth-Dienstkonto zugegriffen.
Cloud-Daten
Daten, die zu einem Google Cloud-Projekt gehören. Auf diesen Datentyp wird normalerweise ein Dienstkonto zugegriffen.
Einwilligung der Nutzer

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

Anwendungstyp

Die Art der App, die Sie erstellen möchten. Wenn Sie Anmeldedaten mit der Google Cloud Console erstellen, werden Sie aufgefordert, Ihren Anwendungstyp auszuwählen. Anwendungstypen sind: Webanwendung (JavaScript), Android, Chrome-App, iOS, Fernseher und eingeschränkte Eingabegeräte, Desktop-App (auch als „installierte App“ bezeichnet) und Universal Windows Platform (UWP).

Dienstkonto

Ein besonderer Typ von Google-Konto, der für einen Nutzer gedacht ist, der sich authentifizieren und für den Zugriff auf Daten autorisiert werden muss. Ihre Anwendung übernimmt beim Aufrufen von Google APIs die Identität des Dienstkontos, sodass die Nutzer nicht direkt beteiligt sind. Dienstkonten können nicht für den Zugriff auf Nutzerdaten verwendet werden. Daten, auf die normalerweise über Workspace APIs zugegriffen wird. Ein Dienstkonto kann jedoch durch Implementierung der domainweiten Delegierung von Befugnissen auf Nutzerdaten zugreifen. Weitere Informationen finden Sie unter Informationen zu Dienstkonten.

Domainweite Delegierung von Befugnissen

Eine Verwaltungsfunktion, die eine Anwendung autorisieren kann, im Namen von Nutzern in der Google Workspace-Organisation auf Nutzerdaten zuzugreifen. Die domainweite Delegierung kann verwendet werden, um Administratoraufgaben in Bezug auf Nutzerdaten auszuführen. Google Workspace-Administratoren verwenden Dienstkonten mit OAuth 2.0, um die Autorisierung auf diese Weise zu delegieren. Aufgrund der Leistungsstärke können nur Super Admins die domainweite Delegierung von Befugnissen aktivieren. Weitere Informationen finden Sie unter Domainweite Autorität an ein Dienstkonto delegieren.

Weitere Informationen

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