Informationen zu Authentifizierung und Autorisierung

Authentifizierung und Autorisierung sind Mechanismen, mit denen die Identität bzw. der Zugriff auf Ressourcen überprüft wird. 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 Anfragesteller zugreifen kann und welche Zugriffsebene er hat. Die Authentifizierung ist eine Voraussetzung für die Autorisierung. Sie können nicht festlegen, auf welche Ressourcen zugegriffen werden soll, ohne zuerst die Identität des Anfragenden zu ermitteln. Eine ausführlichere Definition finden Sie im Abschnitt Wichtige Begriffe.

Sehen Sie sich das folgende vereinfachte Beispiel für eine Hotelreservierung an. Wenn Sie im Hotel ankommen, bittet der Rezeptionist Sie um Ihren Ausweis, um Ihre Reservierung zu bestätigen. Mit Ihrem Ausweis authentifizieren Sie sich im Hotel. Der Rezeptionist gibt Ihnen einen Hotelschlüssel. Mit diesem Schlüssel haben Sie Zugriff auf bestimmte Bereiche des Hotels, z. B. Ihr Hotelzimmer, den Fitnessraum und das Business Center. Mit dem Hotelschlüssel werden Sie autorisiert, auf diese Ressourcen zuzugreifen.

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 für die Implementierung der Authentifizierung und Autorisierung
  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 Zugriffsanmeldedaten 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 über die entsprechenden Zugriffsbereiche, die Sie zuvor registriert haben.

  4. Nutzer um Einwilligung bitten: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 werden.

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

  8. Aktualisierungstoken abrufen (optional): Wenn Ihre App über die Lebensdauer eines einzelnen Zugriffstokens hinaus auf eine Google API zugreifen muss, 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 bis 6).

Wichtige Terminologie

Im Folgenden finden Sie eine Liste mit Begriffen, die sich auf die Authentifizierung und Autorisierung beziehen:

Authentifizierung

Der Vorgang, bei dem sichergestellt wird, dass ein Hauptkonto, das ein Nutzer oder eine App sein kann, die im Namen eines Nutzers handelt, tatsächlich der ist, der es vorgibt zu sein. Beim Schreiben von Google Workspace-Apps sollten Sie sich mit den folgenden Authentifizierungstypen vertraut machen:

Nutzerauthentifizierung
Die Authentifizierung (Anmeldung) eines Nutzers in Ihrer App. Die Nutzerauthentifizierung 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 integriert werden.
App-Authentifizierung
Die Authentifizierung einer App direkt bei Google-Diensten im Namen des Nutzers, der die App ausführt. Die App-Authentifizierung erfolgt in der Regel mit vorab erstellten Anmeldedaten im Code Ihrer App.
Autorisierung

Die Berechtigungen oder „Autorisierung“, die das Prinzipal hat, um auf Daten zuzugreifen oder Vorgänge auszuführen. Die Autorisierung erfolgt über Code, den Sie in Ihrer App schreiben. Dieser Code informiert den Nutzer darüber, dass die App in seinem Namen handeln möchte. Wenn dies zulässig ist, werden die eindeutigen Anmeldedaten Ihrer App verwendet, 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 sind Anmeldedaten oft eine Kombination aus Nutzername und Passwort. Bei der 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 Authentifizierungsanmeldedaten: API-Schlüssel, OAuth 2.0-Client-ID und Dienstkonten.

API-Schlüssel
Die Anmeldedaten, die zum Anfordern des Zugriffs auf öffentliche Daten verwendet werden, z. B. Daten, die über die Maps API bereitgestellt werden, oder Google Workspace-Dateien, die in den Google Workspace-Freigabeeinstellungen mit der Einstellung „Jeder im Internet mit diesem Link“ freigegeben werden.
OAuth 2-Client-ID
Die Anmeldedaten, die zum Anfordern des Zugriffs auf Nutzerdaten verwendet werden. Dies ist die primäre Anmeldedaten, die beim Anfordern des Zugriffs auf Daten über Google Workspace APIs verwendet werden. Für diese Anmeldedaten ist die Einwilligung des Nutzers erforderlich.
Clientschlüssel
Eine Zeichenfolge, die nur Ihrer Anwendung und dem Autorisierungsserver bekannt sein sollte. Das Client-Secret schützt die Daten des Nutzers, indem nur autorisierten Anfragenden Tokens gewährt werden. Der unverschlüsselte Clientschlüssel sollte niemals in Ihre App aufgenommen werden. Wir empfehlen, den Clientschlüssel sicher zu speichern. Weitere Informationen finden Sie unter Clientanmeldedaten sicher verarbeiten.
Dienstkontoschlüssel
Wird von Dienstkonten verwendet, um die Autorisierung für einen Google-Dienst zu erhalten.
Dienstkonto
Anmeldedaten für Server-zu-Server-Interaktionen, z. B. für eine App ohne Benutzeroberfläche, die als Prozess ausgeführt wird, um auf bestimmte Daten zuzugreifen oder bestimmte Vorgänge auszuführen. Dienstkonten werden in der Regel für den Zugriff auf cloudbasierte Daten und Vorgänge verwendet. In Kombination mit der domainweiten Delegierung von Befugnissen können sie jedoch 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 prüfen und auswählen, welchen Zugriff sie gewähren möchten. Der Authentifizierungsserver von Google gibt dann die zulässigen Bereiche in einem Zugriffstoken an Ihre App zurück. Weitere Informationen finden Sie unter Bereiche für Ihre App auswählen.

Autorisierungsserver

Der Server von Google, der mit einem Zugriffstoken Zugriff auf die von einer App angeforderten Daten und Vorgänge gewährt.

Autorisierungscode

Ein vom Autorisierungsserver gesendeter Code, mit dem ein Zugriffstoken abgerufen wird. Ein Code ist nur erforderlich, wenn es sich bei Ihrer Anwendung um eine Webserver-App oder eine installierte App handelt.

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 von Ihrer App aufgerufen werden soll.

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 ermöglichen. 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 Kontext von Authentifizierung und Autorisierung bezieht sich der Datentyp auf die Einheit, die die Daten enthält, auf die Ihre App zugreifen möchte. Es gibt drei Datentypen:

Daten aus dem öffentlichen Bereich
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 eines bestimmten Endnutzers oder einer bestimmten Gruppe, 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 über ein Dienstkonto zugegriffen.
Nutzereinwilligung

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

Anwendungstyp

Der Typ der App, die Sie erstellen möchten. Wenn Sie Anmeldedaten über die Google Cloud Console erstellen, werden Sie aufgefordert, den Anwendungstyp auszuwählen. Anwendungstypen sind: Webanwendung (JavaScript), Android, Chrome-App, iOS, Fernseher und Geräte mit eingeschränkter Eingabe, Desktop-App (auch „installierte App“ genannt) und Universal Windows Platform (UWP).

Dienstkonto

Ein spezielles Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten zu erhalten. 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 über Workspace-APIs zugegriffen wird. Ein Dienstkonto kann jedoch auf Nutzerdaten zugreifen, indem es die domainweite Übertragung von Befugnissen implementiert. Weitere Informationen finden Sie unter Details zu Dienstkonten.

Domainweite Übertragung von Befugnissen

Eine Verwaltungsfunktion, mit der eine Anwendung autorisiert werden kann, im Namen von Nutzern in der Google Workspace-Organisation auf Nutzerdaten zuzugreifen. Mit der domainweiten Delegierung können Sie administratorbezogene Aufgaben für Nutzerdaten ausführen. Google Workspace-Administratoren verwenden Dienstkonten mit OAuth 2.0, um Befugnisse auf diese Weise zu delegieren. Da diese Funktion sehr leistungsstark ist, können nur Super Admins die domainweite Delegierung von Berechtigungen aktivieren. Weitere Informationen finden Sie unter Domainweite Befugnisse an ein Dienstkonto delegieren.

Nächster Schritt

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