GSP946
Übersicht
Beim Zero-Trust-Sicherheitsmodell wird keiner Person, keinem Gerät und keinem Netzwerk einfach so vertraut. Für die Zugriffsgewährung spielen zahlreiche Faktoren eine Rolle, darunter Identität, Gerät, Standort und Tageszeit. Einer der Hauptanwendungsfälle für die Durchsetzung von Zero-Trust-Richtlinien ist die Bereitstellung eines sicheren Zugriffs auf Webanwendungen, z. B. HTTP/HTTPS-basierte Anwendungen, die in Google Cloud oder lokalen Rechenzentren gehostet werden. Jede Webanwendung kann ihre eigene Zugriffssteuerung haben, um die Sicherheit zu erhöhen und das Risiko zu verringern. Für die Sicherung der Webanwendung müssen keine Access Control Lists (ACLs) eingerichtet werden. Stattdessen ermöglichen IP-Bereiche ein schnelles Onboarding ohne Kompromisse bei der Sicherheit. Aus architektonischer Sicht ist die zentrale Komponente für den Zero-Trust-Zugriff:
-
Identity-Aware Proxy (IAP): eine Engine zur Durchsetzung von Richtlinien, die dafür sorgt, dass jede Zugriffsanfrage autorisiert wird.
In diesem Lab stellen Sie eine Beispielanwendung in der App Engine bereit und setzen Richtlinien mit Identity-Aware Proxy (IAP) durch. Außerdem erhalten Sie Informationen zur Nutzeridentität in der durch IAP geschützten Anwendung.
Lernziele
- Eine einfache App Engine-Anwendung mit Python bereitstellen
- Identity-Aware Proxy (IAP) aktivieren, um den Zugriff auf die Anwendung einzuschränken
- Informationen zur Nutzeridentität von IAP in Ihrer Anwendung abrufen
Voraussetzung
Grundlegende Kenntnisse der Programmiersprache (Python)
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:
- Schaltfläche „Google Cloud Console öffnen“
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
Klicken Sie sich durch die folgenden Fenster:
- Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
- Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.
Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:
Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}
gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- Klicken Sie auf Autorisieren.
Ausgabe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Um das aktive Konto festzulegen, führen Sie diesen Befehl aus:
$ gcloud config set account `ACCOUNT`
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Szenario
Sie erstellen mit der Google App Engine eine einfache Webanwendung und erfahren, wie Sie mithilfe von Identity-Aware Proxy (IAP) den Zugriff auf die Anwendung einschränken und Informationen zur Nutzeridentität für sie bereitstellen. Mit der Anwendung können Sie Folgendes tun:
- Eine Begrüßungsseite anzeigen lassen
- Auf Informationen zur Nutzeridentität zugreifen, die von IAP bereitgestellt werden
Aufgabe 1: Anwendung bereitstellen und mithilfe von IAP schützen
Die Anwendung ist eine App Engine-Standardanwendung, die in Python 3.8 geschrieben wurde und eine einfache Begrüßungsseite mit dem Titel „Hello, World“ anzeigt. Sie stellen die Anwendung bereit und testen sie. Anschließend beschränken Sie den Zugriff mithilfe von IAP.
- Führen Sie den folgenden Befehl in der Cloud Shell aus, um den für dieses Lab benötigten Code von GitHub herunterzuladen, und öffnen Sie dann den Codeordner:
git clone https://github.com/googlecodelabs/user-authentication-with-iap.git
cd user-authentication-with-iap
Anwendungscode überprüfen
- Wechseln Sie vom Hauptprojektordner in den Ordner 1-HelloWorld:
cd 1-HelloWorld
Der Anwendungscode befindet sich in der Datei main.py. Er verwendet das Flask-Webframework, um auf Webanfragen mit dem Inhalt einer Vorlage zu antworten. Die Vorlagendatei befindet sich unter templates/index.html und enthält für diesen Schritt nur einfaches HTML. Eine zweite Vorlagendatei unter templates/privacy.html enthält eine beispielhafte einfache Datenschutzrichtlinie.
Es gibt noch zwei weitere Dateien: In requirements.txt sind alle nicht standardmäßigen Python-Bibliotheken aufgelistet, die von der Anwendung verwendet werden, und mit app.yaml wird der Google Cloud Platform mitgeteilt, dass es sich um eine in Python 3.8 geschriebene App Engine-Anwendung handelt.
Sie können mit dem folgenden cat-Befehl jede Datei in der Cloud Shell auflisten:
cat main.py
Sie können den Cloud Shell-Code-Editor auch öffnen, indem Sie oben rechts im Cloud Shell-Fenster auf Bearbeiten (
) klicken. Sobald der Editor geladen ist, können Sie den Code darin überprüfen.
Sie müssen für diesen Schritt keine Dateien ändern.
Anwendung in der App Engine bereitstellen
Stellen Sie die Anwendung jetzt in der App Engine-Standardumgebung für Python 3.8 bereit.
- Führen Sie dazu diesen Befehl aus:
gcloud app create --project=$(gcloud config get-value project) --region={{{ project_0.startup_script.app_region | REGION }}}
Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Sie Y für „yes“ ein.
Sie werden möglicherweise auch aufgefordert, den Aufruf zum Erstellen der App Engine-Anwendung zu autorisieren. Klicken Sie in diesem Fall auf den Button zum Autorisieren.
- Sehen Sie sich im Cloud Shell-Code-Editor die Datei
app.yaml im Ordner 1-HelloWorld an. Aktualisieren Sie die Python-Laufzeitversion.
runtime: python310
- Führen Sie nach Abschluss des Befehls zum Erstellen den folgenden Befehl aus:
gcloud app deploy
Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Sie Y ein und drücken Sie die Eingabetaste.
Hinweis: Führen Sie den Befehl noch einmal aus, um einen Fehler zu beheben, falls dieser auftritt.
Nach einigen Minuten sollte die Bereitstellung abgeschlossen sein und Sie sehen eine Meldung, dass Sie Ihre Anwendung mit dem folgenden Befehl aufrufen können:
gcloud app browse
Hinweis: Da diese Anwendung zum ersten Mal ausgeführt wird, dauert es beim Starten einer Cloud-Instanz einige Sekunden, bis sie angezeigt wird. Die Ausgabe sollte dem folgenden Bild ähneln. Der Zugriff ist noch nicht eingeschränkt.

Klicken Sie auf Fortschritt prüfen.
Anwendung in der App Engine bereitstellen
Zugriff mit IAP beschränken
-
Rufen Sie das Navigationsmenü > Alle Produkte ansehen > Sicherheit > Identity-Aware Proxy auf und klicken Sie auf den Button API aktivieren und dann auf Zum Identity-Aware Proxy.
-
Den OAuth-Zustimmungsbildschirm Ihres Projekts können Sie auf dem OAuth-Zustimmungsbildschirm konfigurieren. Rufen Sie ihn über das Navigationsmenü (
) > APIs und Dienste > OAuth-Zustimmungsbildschirm auf.
-
Klicken Sie auf der Seite „Übersicht über OAuth“ auf Jetzt starten und geben Sie unter Anwendungsname Folgendes ein: IAP-Beispiel
-
Geben Sie eine E‑Mail-Adresse für den Nutzersupport an: .
-
Wählen Sie für Zielgruppe die Option Intern aus und klicken Sie auf Weiter.
-
Geben Sie unter Kontaktdaten dieselbe E‑Mail-Adresse wie in Schritt 4 ein und klicken Sie auf Weiter.
-
Wählen Sie unter Fertigstellen das Kästchen zum Akzeptieren der Nutzungsbedingungen aus und klicken Sie dann auf Erstellen.
-
Kehren Sie zum ersten Browsertab zurück und führen Sie den folgenden Befehl in der Cloud Shell aus:
export AUTH_DOMAIN=$(gcloud config get-value project).uc.r.appspot.com
Kopieren Sie die URL, da Sie die Ausgabe der Befehle als Eingabe für das Formular auf dem Tab für die OAuth-Zustimmung verwenden werden.
- Führen Sie folgenden Befehl aus, um den automatisch eingefügten Wert anzuzeigen:
echo $AUTH_DOMAIN
-
Klicken Sie auf der Seite Übersicht über OAuth auf OAuth-Client erstellen und wählen Sie unter „Anwendungstyp“ die Option Webanwendung aus.
-
Klicken Sie unter Autorisierte Weiterleitungs-URIs auf + URL hinzufügen und geben Sie die URL ein, die Sie in der Befehlsausgabe erhalten haben. Klicken Sie dann auf Erstellen.
-
Rufen Sie im verbleibenden Tab das Navigationsmenü > Alle Produkte ansehen > Sicherheit > Identity-Aware Proxy auf.
Eventuell müssen Sie die Seite aktualisieren.
- Klicken Sie auf den Ein/Aus-Button in der IAP-Spalte in der Zeile mit der App Engine-Anwendung, um IAP für die im vorherigen Abschnitt bereitgestellte Anwendung zu aktivieren.

-
Halten Sie die Strg-/Befehlstaste gedrückt und wählen Sie die URL der App Engine-Anwendung in der IAP-Konsole aus, um zur Anwendung zu gelangen.
-
Melden Sie sich mit dem „student“-Nutzerkonto an, das im Anmeldeformular angegeben ist.

Ihnen wird ein Bildschirm angezeigt, auf dem Sie darüber informiert werden, dass Sie keinen Zugriff auf die Anwendung haben.

Sie haben Ihre Anwendung erfolgreich mit IAP geschützt. Als Nächstes legen Sie fest, welche Konten zugelassen werden sollen.
Klicken Sie auf Fortschritt prüfen.
Zugriff mit IAP beschränken
Mitgliedern Zugriff auf die Anwendung gewähren
-
Kehren Sie zur Seite „Identity-Aware Proxy“ in der Console zurück, indem Sie das Navigationsmenü > Alle Produkte ansehen > Sicherheit > Identity-Aware Proxy aufrufen.
-
Klicken Sie das Kästchen neben der App Engine-Anwendung an und wählen Sie in der rechten Seitenleiste Prinzipal hinzufügen aus.

-
Kopieren Sie den Nutzernamen aus der Lab-Konsole oben links im Lab und fügen Sie ihn in das Eingabefeld Neue Hauptkonten ein.
-
Legen Sie als Rolle Cloud IAP > Nutzer von IAP-gesicherten Web-Apps fest.

- Klicken Sie abschließend auf Speichern. Die Meldung „Richtlinie aktualisiert“ wird am unteren Rand des Fensters angezeigt.
Klicken Sie auf Fortschritt prüfen.
Mitglied den Zugriff auf die Anwendung erlauben
Prüfen, ob der Zugriff wiederhergestellt wurde
- Gehen Sie zurück zur App Engine-Anwendung und aktualisieren Sie die Seite. Sie sollten nun Ihre Webanwendung sehen, da Sie bereits als ein von Ihnen autorisierter Nutzer angemeldet sind.
Ihnen wird möglicherweise trotzdem die Meldung „You don't have access“ (Sie haben keinen Zugriff) angezeigt, da IAP Ihre Autorisierung aufgrund eines gespeicherten Anmeldecookies möglicherweise noch nicht wieder überprüft hat.
Führen Sie in diesem Fall die folgenden Schritte aus:
- Öffnen Sie mit Ihrem Webbrowser die Startseite und fügen Sie am Ende der URL
/_gcp_iap/clear_login_cookie hinzu, sodass die URL https://iap-example-999999.appspot.com/_gcp_iap/clear_login_cookie lautet.
Hinweis: Verwenden Sie die URL der App Engine-Anwendung, die Sie zuvor im Lab bereitgestellt haben. Die obige URL ist ein Beispiel.
Es erscheint ein neuer „Über Google anmelden“-Bildschirm, auf dem Ihr Konto bereits angezeigt wird.
Hinweis: Klicken Sie nicht auf das Konto!
- Klicken Sie stattdessen auf Anderes Konto verwenden und geben Sie Ihre Anmeldedaten noch einmal ein.
IAP überprüft nun noch einmal Ihre Zugriffsrechte und Sie sollten den Startbildschirm der Anwendung sehen.
Aufgabe 2: Auf Informationen zur Nutzeridentität zugreifen
Sobald eine Anwendung durch IAP geschützt ist, kann sie bereitgestellte Informationen zur Identität des Nutzers verwenden, die IAP in den Headern der Webanfragen weiterleitet. In diesem Schritt erhält die Anwendung die E-Mail-Adresse der angemeldeten Nutzerin oder des angemeldeten Nutzers und eine dauerhafte eindeutige Nutzer-ID, die vom Google Identity Service zugewiesen wird. Diese Daten werden dem Nutzer auf der Begrüßungsseite angezeigt.
- Geben Sie dafür in der Cloud Shell den folgenden Befehl ein:
cd ~/user-authentication-with-iap/2-HelloUser
- Sehen Sie sich im Cloud Shell-Code-Editor die Datei
app.yaml im Ordner 2-HelloUser an und aktualisieren Sie die Python-Laufzeitversion:
runtime: python310
- Stellen Sie die Anwendung mit dem folgenden Befehl in der App Engine bereit:
gcloud app deploy
Hinweis: Sie werden möglicherweise aufgefordert, den Aufruf zum Bereitstellen der Anwendung zu autorisieren.
-
Wenn Sie gefragt werden, ob Sie fortfahren möchten, drücken Sie Y.
-
Geben Sie den folgenden Befehl ein, sobald alles bereit ist:
gcloud app browse
Wenn sich in Ihrem Browser kein neuer Tab öffnet, kopieren Sie den angezeigten Link und öffnen Sie ihn in einem neuen Tab. Sie sollten eine Seite sehen, die in etwa so aussieht:

Hinweis: Möglicherweise müssen Sie einige Minuten warten, bis die neue Version Ihrer Anwendung die vorherige Version ersetzt. Aktualisieren Sie die Seite bei Bedarf, sodass eine Seite angezeigt wird, die so ähnlich wie die Seite oben aussieht.
Klicken Sie auf Fortschritt prüfen.
Auf Informationen zur Nutzeridentität zugreifen
Anwendungsdateien ansehen
Der Ordner 2-HelloUser enthält die gleichen Dateien wie der Ordner 1-HelloWorld, jedoch wurden zwei Dateien verändert: main.py und templates/index.html. Das Programm wurde geändert, damit es Informationen zu Nutzerinnen und Nutzern abrufen kann, die IAP in den Anfrageheadern bereitstellt. In der Vorlage werden diese Daten nun angezeigt.
- Führen Sie
cat main.py aus, um den Inhalt der Datei main.py aufzurufen.
Es gibt in main.py zwei Zeilen, die die von IAP bereitgestellten Informationen zur Nutzeridentität empfangen:
user_email = request.headers.get('X-Goog-Authenticated-User-Email')
user_id = request.headers.get('X-Goog-Authenticated-User-ID')
Die X-Goog-Authenticated-User-Header werden von IAP zur Verfügung gestellt. In den Namen wird die Groß-/Kleinschreibung nicht berücksichtigt, sodass sie je nach Präferenz auch vollständig in Groß- oder Kleinschreibung angegeben werden können. Die Anweisung render_template beinhaltet jetzt diese Werte, damit sie angezeigt werden können:
page = render_template('index.html', email=user_email, id=user_id)
In der Vorlage index.html werden diese Werte angezeigt, wenn die Namen in doppelte geschweifte Klammern eingeschlossen werden:
Hello, {{ email }}! Your persistent ID is {{ id }}.
Den bereitgestellten Daten wird accounts.google.com: vorangestellt. Dies gibt an, woher die Daten stammen. Ihre Anwendung kann bei Bedarf alles bis einschließlich des Doppelpunkts entfernen, um die Rohwerte zu erhalten.
Glückwunsch!
Sie haben gelernt, wie Sie mit Identity-Aware Proxy (IAP) in Google Cloud bereitgestellte HTTP(S)-Anwendungen schützen.
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 12. November 2025 aktualisiert
Lab zuletzt am 12. November 2025 getestet
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.