Authentifizierung und Autorisierung sind Mechanismen, die zur Überprüfung der Identität bzw. des Zugriffs auf Ressourcen verwendet werden. In diesem Dokument werden die wichtigsten Begriffe beschrieben, die Sie vor der Implementierung der Authentifizierung und Autorisierung in Ihrer Anwendung kennen sollten.
Mit der Authentifizierung wird ermittelt, wer die Anfrage stellt. Die Autorisierung gibt an, auf welche Ressourcen der Anfragende zugreifen kann und welche Zugriffsebene er hat. Die Authentifizierung ist eine Voraussetzung für die Autorisierung. Sie können erst dann ermitteln, auf welche Ressourcen zugegriffen werden soll, wenn die Identität des Senders ermittelt wurde. Eine ausführlichere Definition finden Sie im Abschnitt „Wichtige Terminologie“.
Betrachten Sie das folgende vereinfachte Beispiel einer Hotelreservierung. Bei der Ankunft im Hotel fordert das Rezeptionsprogramm Ihren Ausweis an, um Ihre Reservierung zu bestätigen. Mit deiner ID wirst du im Hotel authentifiziert. Die Rezeption gibt Ihnen einen Hotelschlüssel. Mit diesem Schlüssel erhalten Sie Zugriff auf bestimmte Ressourcen im Hotel, z. B. Ihr Hotelzimmer, das Fitnessstudio und das Business Center. Mit dem Hotelschlüssel werden Sie für den Zugriff auf diese Ressourcen autorisiert.
Prozessübersicht
Das folgende Diagramm zeigt die allgemeinen Schritte zur Authentifizierung und Autorisierung für Google Workspace APIs:
![Allgemeine Schritte einer Authentifizierungs- und Autorisierungsimplementierung](https://developers-dot-devsite-v2-prod.appspot.com/workspace/images/auth-overview.png?authuser=19&hl=de)
Google Cloud-Projekt und Anwendung konfigurieren:Während der Entwicklung registrieren Sie Ihre Anwendung in der Google Cloud Console und legen dabei Autorisierungsbereiche und Anmeldedaten fest, um die Anwendung mit einem API-Schlüssel, Endnutzeranmeldedaten oder Dienstkonto-Anmeldedaten zu authentifizieren.
App für den Zugriff authentifizieren:Beim Ausführen der App werden die registrierten Anmeldedaten ausgewertet. Wenn Ihre Anwendung als Endnutzer authentifiziert wird, wird möglicherweise eine Anmeldeaufforderung angezeigt.
Ressourcen anfordern: Wenn Ihre Anwendung Zugriff auf Google-Ressourcen benötigt, werden von Google die relevanten Zugriffsbereiche angefordert, die Sie zuvor registriert haben.
Nutzereinwilligung einholen: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.
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 abzurufen.
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 beschränkt ist als die angeforderten Zugriffsbereiche, deaktiviert Ihre Anwendung alle durch das Token eingeschränkten Funktionen.
Auf angeforderte Ressourcen zugreifen:Ihre Anwendung verwendet das Zugriffstoken von Google, um die relevanten APIs aufzurufen und auf die Ressourcen zuzugreifen.
Aktualisierungstoken abrufen (optional): Wenn die Anwendung über die Lebensdauer eines einzelnen Zugriffstokens hinaus Zugriff auf eine Google API benötigt, kann sie ein Aktualisierungstoken abrufen.
Weitere Ressourcen anfordern:Wenn zusätzlicher Zugriff benötigt wird, fordert Ihre Anwendung den Nutzer auf, 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 der Authentifizierung und Autorisierung:
- Authentifizierung
Verfahren, mit dem sichergestellt wird, dass ein Hauptkonto, also ein Nutzer oder eine Anwendung, die im Namen eines Nutzers handelt, die Person ist, die er zu sein angibt. Wenn Sie Google Workspace-Anwendungen schreiben, sollten Sie sich der folgenden Authentifizierungstypen bewusst sein:
- Nutzerauthentifizierung
- Die Authentifizierung (Anmeldung) eines Nutzers bei Ihrer Anwendung. Die Nutzerauthentifizierung erfolgt in der Regel über einen Anmeldevorgang, bei dem der Nutzer seine Identität in der Anwendung mithilfe einer Kombination aus Nutzername und Passwort bestätigt. Die Nutzerauthentifizierung kann mit Über Google anmelden in eine Anwendung eingebunden werden.
- App-Authentifizierung
- Der Vorgang, bei dem sich eine Anwendung im Namen des Nutzers, der die Anwendung ausführt, direkt bei Google-Diensten authentifiziert. Die Anwendungsauthentifizierung erfolgt in der Regel mit vorab erstellten Anmeldedaten im Code Ihrer Anwendung.
- Autorisierung
Die Berechtigungen oder „Befugnis“, die das Hauptkonto hat, um auf Daten zuzugreifen oder Vorgänge auszuführen. Die Autorisierung erfolgt durch Code, den Sie in Ihre App schreiben. Dieser Code teilt dem Nutzer mit, dass die App in seinem Namen handeln möchte, und verwendet, sofern zulässig, die eindeutigen Anmeldedaten Ihrer App, um von Google ein Zugriffstoken von Google abzurufen, das für den Zugriff auf Daten oder die Durchführung von Vorgängen verwendet wird.
- Anmeldedaten
Eine Form der Identifizierung, die in der Softwaresicherheit verwendet wird. Ein Ausweisdokument ist häufig eine Kombination aus Nutzername und Passwort. Bei der Autorisierung für Google Workspace APIs handelt es sich bei einem Ausweisdokument in der Regel um eine Identifikationsform, z. B. ein eindeutiger geheimer String, der nur dem Anwendungsentwickler und dem Authentifizierungsserver bekannt ist. Google unterstützt die folgenden Anmeldedaten zur Authentifizierung: API-Schlüssel, OAuth 2.0-Client-ID und Dienstkonten.
- API-Schlüssel
- Die Anmeldedaten, die verwendet werden, um den Zugriff auf öffentliche Daten anzufordern, z. B. Daten, die über die Maps API bereitgestellt werden, oder Google Workspace-Dateien, die über die Einstellung „Jeder im Internet, der über diesen Link verfügt“ in den Google Workspace-Freigabeeinstellungen freigegeben wurden.
- OAuth 2-Client-ID
- Die Anmeldedaten, mit denen der Zugriff auf nutzereigene Daten angefordert wird. Dies sind die primären Anmeldedaten, die verwendet werden, wenn der Datenzugriff über Google Workspace APIs angefordert wird. Für diese Anmeldedaten ist die Nutzereinwilligung erforderlich.
- Clientschlüssel
- Ein String, der nur der 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 Anwendung einfügen. Wir empfehlen, den Clientschlüssel sicher aufzubewahren. Weitere Informationen finden Sie unter Sicherer Umgang mit Clientanmeldedaten.
- Dienstkontoschlüssel
- Wird von Dienstkonten verwendet, um Autorisierung für einen Google-Dienst zu erhalten.
- Dienstkonto
- Anmeldedaten, die für Interaktionen zwischen Servern verwendet werden, z. B. eine gesichtslose Anwendung, die als Prozess für den Zugriff auf bestimmte Daten oder für Vorgänge ausgeführt wird. Dienstkonten werden normalerweise für den Zugriff auf cloudbasierte Daten und Vorgänge verwendet. In Verbindung mit der domainweiten Delegierung von Befugnissen können sie jedoch für den Zugriff auf Nutzerdaten verwendet werden.
- Umfang
Ein OAuth 2.0-URI-String, der die Zugriffsebene für Ressourcen oder Aktionen definiert, die einer Anwendung gewährt werden. Bei Google Workspace enthalten die URIs des Autorisierungsbereichs den Namen der Google Workspace-Anwendung, die Art der Daten, auf die zugegriffen wird, und die Zugriffsebene. Nutzer Ihrer Anwendung 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 Anwendung zurück. Weitere Informationen finden Sie unter Bereiche für Ihre Anwendung auswählen.
- Autorisierungsserver
Google-Server, um mit einem Zugriffstoken Zugriff auf die von einer Anwendung angeforderten Daten und Vorgänge zu gewähren.
- Autorisierungscode
Ein vom Autorisierungsserver gesendeter Code, mit dem ein Zugriffstoken abgerufen wird. Ein Code ist nur dann erforderlich, wenn Ihr Anwendungstyp eine Webserveranwendung oder eine installierte Anwendung ist.
- Zugriffstoken
Ein Token, das Zugriff auf eine Google Workspace API gewährt. Ein einzelnes Zugriffstoken kann mehreren APIs unterschiedliche Zugriffsebenen gewähren, sogenannte Bereiche. Der Autorisierungscode Ihrer Anwendung fordert Zugriffstokens an und verwendet diese 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, mit dem Ihre App einen sicheren delegierten Zugriff oder Zugriff auf Daten und Vorgänge im Namen des App-Nutzers bereitstellen kann. Die Authentifizierungs- und Autorisierungsmechanismen, die Sie in Ihrer Anwendung verwenden, stellen die Implementierung des OAuth 2.0-Frameworks dar.
- Hauptkonto
Eine Entität, auch als Identität bezeichnet, 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, der die Daten gehören, auf die Ihre Anwendung zugreifen möchte. Es gibt drei Datentypen:
- Urheberrechtsfreie Daten
- Daten, auf die jeder zugreifen kann, z. B. einige Google Maps-Daten Der Zugriff auf diese Daten erfolgt normalerweise mit einem API-Schlüssel.
- Endnutzerdaten
- Daten zu einem bestimmten Endnutzer oder einer bestimmten Gruppe, z. B. die Google Drive-Dateien eines bestimmten Nutzers. Auf diesen Datentyp wird normalerweise über eine OAuth 2-Client-ID oder ein Dienstkonto zugegriffen.
- Cloud-Daten
- Daten, die zu einem Google Cloud-Projekt gehören Auf diesen Datentyp wird normalerweise von einem Dienstkonto zugegriffen.
- Nutzereinwilligung
Ein Autorisierungsschritt, bei dem der Nutzer Ihrer Anwendung die Anwendung autorisieren muss, um auf Daten zuzugreifen und im Namen des Nutzers Vorgänge auszuführen.
- Anwendungstyp
Der App-Typ, den Sie erstellen möchten. Wenn Sie Anmeldedaten mit der Google Cloud Console erstellen, werden Sie aufgefordert, Ihren Anwendungstyp auszuwählen. Anwendungstypen sind: Web-App (JavaScript), Android, Chrome-App, iOS, Fernseher und Geräte mit begrenzter Eingabe, Desktop-App (auch als „installierte App“ bezeichnet) und universelle Windows-Plattform (UWP).
- Dienstkonto
Ein spezieller Google-Kontotyp, der einen nicht menschlichen Nutzer repräsentiert, 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 selbst können nicht für den Zugriff auf Nutzerdaten verwendet werden. Daten, auf die normalerweise über Workspace APIs zugegriffen wird. Über ein Dienstkonto kann jedoch auf Nutzerdaten zugegriffen werden, indem eine domainweite Delegierung von Befugnissen implementiert wird. Weitere Informationen finden Sie unter Details zu Dienstkonten.
- Domainweite Übertragung von Befugnissen
Ein Verwaltungsfeature, mit dem eine Anwendung autorisiert werden kann, im Namen von Nutzern in der Google Workspace-Organisation auf Nutzerdaten zuzugreifen. Die domainweite Delegierung kann verwendet werden, um administrative Aufgaben an Nutzerdaten auszuführen. Um Befugnisse auf diese Weise zu delegieren, verwenden Google Workspace-Administratoren Dienstkonten mit OAuth 2.0. Aufgrund der Leistungsfähigkeit dieses Features können nur Super Admins die domainweite Delegierung von Befugnissen aktivieren. Weitere Informationen finden Sie unter Domainweite Autorisierung an ein Dienstkonto delegieren.
Nächster Schritt
Konfigurieren Sie den OAuth-Zustimmungsbildschirm Ihrer Anwendung, damit Nutzer verstehen und genehmigen können, welche Zugriffsrechte die Anwendung auf ihre Daten hat.