Identität des Nutzers abrufen

Auf dieser Seite wird gezeigt, wie Sie mit Identity-Aware Proxy (IAP) die Identität eines Nutzers abrufen. Durch das Abrufen der Identität des Nutzers kann Ihre Anwendung prüfen, ob eine Anfrage über IAP erfolgt ist. Um Ihre App richtig zu schützen, müssen Sie immer einen der folgenden Mechanismen verwenden, um die durch IAP authentifizierte Nutzeridentität abzurufen.

Identität des Nutzers mit signiertem Header abrufen

Damit sichergestellt ist, dass eine Anfrage an Ihre Compute Engine-, GKE-, Cloud Run-, App Engine-Standardumgebung oder Flexible App Engine-Umgebung-Anwendung von IAP autorisiert wurde, muss Ihre Anwendung jede Anfrage validieren, indem sie den x-goog-iap-jwt-assertion-HTTP-Anfrageheader prüft. Weitere Informationen zum Sichern Ihrer App mit signierten Headern

Außerdem leitet IAP in den folgenden HTTP-Headern die Identität des Nutzers an den Backend-Dienst weiter. Diese Header müssen das Namespace-Präfix accounts.google.com haben. Die Header sind aus Kompatibilitätsgründen vorhanden und sollten nicht als Sicherheitslösung verwendet werden. Wenn Sie diese Header verwenden, müssen Sie sie mit den Identitätsdaten aus dem oben aufgeführten authentifizierten JWT-Header vergleichen.

Name des Headers Beschreibung Beispielwert
X-Goog-Authenticated-User-Email Die E-Mail-Adresse des Nutzers accounts.google.com:example@gmail.com
X-Goog-Authenticated-User-Id Eine dauerhafte, eindeutige Kennung für den Nutzer. accounts.google.com:userIDvalue

Nutzeridentität mit der Users API der App Engine-Standardumgebung abrufen

Wenn Sie mit einer App Engine-Standardumgebung arbeiten, können Sie auch die User API zum Abrufen der Identität des Nutzers in Ihrem Anwendungscode verwenden.

Wenn Ihre Anwendung diese API bereits verwendet, müssen Sie nichts ändern. IAP stellt die Identität des Nutzers bereit. Der Wert für die Nutzer-ID der Users API jedes Nutzers ändert sich aber, wenn IAP aktiviert wird.

Für den Abruf der von IAP geprüften Nutzeridentität rufen Sie die Users API auf, um den aktuellen Nutzer zurückzugeben. Wenn die Funktion einen Nutzer wie req.getUserPrincipal() != null in Java zurückgibt, wurde der Nutzer durch IAP authentifiziert.

Wenn IAP aktiviert ist, wird ein Nutzer, der zum ersten Mal auf Ihre Anwendung zugreift, zu einem Zustimmungsbildschirm weitergeleitet. Hier muss er bestätigen, dass er seine Identität mit Ihrer Anwendung freigibt. Dies geschieht auch dann, wenn der Nutzer vor der Aktivierung von IAP der Anwendung seine Zustimmung gegeben hat, und wenn Sie IAP deaktivieren und dann wieder aktivieren.

Wenn Sie die Users API verwenden, wird der Zustimmungsbildschirm in der Regel unterdrückt, wenn Anwendung und Nutzer sich in derselben Google Workspace-Domain befinden. Wenn Sie IAP aktivieren, wird der Zustimmungsbildschirm nicht automatisch unterdrückt. So unterdrücken Sie den Zustimmungsbildschirm, wenn IAP aktiviert ist:

  1. Rufen Sie die Google Admin-Konsole auf.

    Admin-Konsole aufrufen

  2. Wählen Sie in der Liste der Steuerelemente die Option Sicherheit aus.

    1. Wenn die Option Sicherheit nicht angezeigt wird, wählen Sie in der grauen Leiste am unteren Rand der Seite Mehr Widgets und in der Liste, die dann eingeblendet wird, Sicherheit aus.

    2. Wenn Sie die Steuerelemente nicht sehen können, achten Sie darauf, dass Sie als Administrator für die Domain angemeldet sind.

  3. Wählen Sie in der Liste der Optionen Zugriffs- und Datenkontrolle und dann API-Steuerung aus.

  4. Wählen Sie im Abschnitt Authentifizierung die Option API-Client-Zugriff verwalten aus.

  5. Geben Sie im Feld Clientname die IAP-Client-ID für OAuth 2.0 ein. Sie finden die IAP-Client-ID auf der Seite "Anmeldedaten".

    Zur Seite „IAP-Anmeldedaten“

  6. Geben Sie im Feld Ein oder mehrere API-Bereiche den Wert email, openid ein.

  7. Klicken Sie auf Autorisieren.

Um diesen Prozess zu vereinfachen, können Sie einen API-Aufruf verwenden, um eine einzelne IAP-OAuth 2.0-Client-ID für alle Apps zu nutzen. Sie können die Google Cloud Console nicht verwenden, um die Client-ID für IAP anzugeben.

Nächste Schritte