App Engine-Anwendungen mit IAP sichern

Auf dieser Seite wird die Bereitstellung einer Anwendung für die App Engine-Standardumgebung oder für die flexible App Engine-Umgebung und deren Schutz mit Identity-Aware Proxy (IAP) erläutert. Die Kurzanleitung umfasst Beispielcode für eine Webanwendung in der App Engine-Standardumgebung, die den Namen eines angemeldeten Nutzers prüft.

Wenn Sie Ressourcen aus einem Content Delivery Network (CDN) bereitstellen möchten, finden Sie wichtige Informationen dazu im Best-Practices-Leitfaden.

Informationen zum Schutz von Ressourcen, die nicht in Google Cloud gespeichert sind, finden Sie unter Lokale Anwendungen und Ressourcen sichern.

Cloud Shell starten

  1. Klicken Sie im oberen Fensterbereich der Konsole auf Cloud Shell aktivieren.

    Im unteren Bereich der Konsole wird ein neuer Frame für die Cloud Shell-Sitzung geöffnet, in dem eine Befehlszeilen-Eingabeaufforderung angezeigt wird. Die Initialisierung der Shell-Sitzung kann einige Sekunden dauern.

    Cloud Shell-Sitzungsframe
  2. Geben Sie Folgendes in Cloud Shell ein, um die Projekt-IDs für Ihre Projekte anzuzeigen:
    gcloud projects list
  3. Führen Sie den folgenden Befehl aus, um das Standardprojekt festzulegen, wobei YOUR-PROJECT-ID die Projekt-ID ist, die Sie für diese Kurzanleitung verwenden möchten:
    gcloud config set project YOUR-PROJECT-ID

Beispielcode abrufen

  1. Geben Sie folgenden Befehl in Cloud Shell ein, um die Beispielanwendung zu erhalten:

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    
  2. Wechseln Sie in das Verzeichnis, das den Beispielcode enthält:

    cd python-docs-samples/appengine/standard_python3/hello_world/
    

Anwendung bereitstellen

  1. Verwenden Sie gcloud, um die Anwendung in App Engine bereitzustellen:
    gcloud app deploy
  2. Die target url: wird im Format https://YOUR_PROJECT_ID.appspot.com angezeigt. Rufen Sie diese URL in Ihrem Webbrowser auf, um auf Ihre Anwendung zuzugreifen.

IAP aktivieren

Projekt auswählen

  1. Rufen Sie die Seite Identity-Aware Proxy auf.
    Zur Seite "Identity-Aware Proxy"
  2. Wenn noch kein aktives Projekt vorhanden ist, werden Sie aufgefordert, das Projekt auszuwählen, das Sie mit IAP schützen möchten. Wählen Sie das Projekt aus, in dem Sie die Beispielanwendung bereitgestellt haben.

OAuth-Zustimmungsbildschirm konfigurieren

Wenn Sie den OAuth-Zustimmungsbildschirm Ihres Projekts noch nicht konfiguriert haben, werden Sie dazu aufgefordert. Für den OAuth-Zustimmungsbildschirm sind eine E-Mail-Adresse und ein Produktname erforderlich.

  1. Öffnen Sie den OAuth-Zustimmungsbildschirm.
    Zustimmungsbildschirm konfigurieren
  2. Wählen Sie unter Support-E-Mail-Adresse die E-Mail-Adresse aus, die als öffentlicher Kontakt angezeigt werden soll. Die E-Mail-Adresse muss zum aktuell angemeldeten Nutzerkonto oder zu einer Google Groups-Gruppe gehören, zu der der aktuell angemeldete Nutzer gehört.
  3. Geben Sie den Namen der Anwendung ein, der angezeigt werden soll.
  4. Fügen Sie nach Belieben weitere Details hinzu.
  5. Klicken Sie auf Speichern.

Zum Ändern von Informationen im OAuth-Zustimmungsbildschirm wie Produktname oder E-Mail-Adresse müssen Sie die vorherigen Schritte zur Konfiguration des Zustimmungsbildschirms wiederholen.

IAP-Zugriff einrichten

  1. Rufen Sie die Seite Identity-Aware Proxy auf.
    Zur Seite "Identity-Aware Proxy"
  2. Wählen Sie die Ressource aus, die Sie ändern möchten. Klicken Sie dafür auf das Kästchen links neben der Ressource. Klicken Sie in der rechten Seitenleiste auf Mitglied hinzufügen.
  3. Fügen Sie im Dialogfeld Mitglieder hinzufügen die E-Mail-Adressen von Gruppen oder Einzelpersonen hinzu, denen Sie die Rolle Nutzer von IAP-gesicherten Web-Apps für das Projekt zuweisen möchten.

    Folgende Kontoarten sind als Mitglieder zulässig:

    • Google-Konto: nutzer@gmail.com
    • Google Group: admins@googlegroups.com
    • Dienstkonto: server@example.gserviceaccount.com
    • G Suite-Domain: example.com

    Fügen Sie unbedingt ein Google-Konto hinzu, auf das Sie zugreifen können.

    Um eine Ressource öffentlich zugänglich zu machen (gleichgeordnete Ressourcen sind eingeschränkt), weisen Sie "allUsers" oder "allAuthenticatedUsers" die Rolle Nutzer von IAP-gesicherten Webanwendungen zu. Der Unterschied zwischen diesen beiden wird im Abschnitt Öffentlicher Zugriff erläutert.

  4. Nachdem Sie die gewünschten Mitglieder hinzugefügt haben, klicken Sie auf Hinzufügen.

IAP aktivieren

  1. Suchen Sie auf der Seite Identity-Aware Proxy unter HTTPS-Ressourcen nach der App Engine-Anwendung, für die der Zugriff beschränkt werden soll. In der Spalte Veröffentlicht wird die URL der Anwendung angezeigt.
    • Zum Aktivieren von IAP benötigen Sie die Berechtigungen appengine.applications.update, clientauthconfig.clients.create und clientauthconfig.clients.getWithSecret. Diese Berechtigungen erhalten Sie über Rollen wie etwa "Projektbearbeiter". Weitere Informationen dazu finden Sie unter Zugriff auf Ressourcen verwalten, die mit Cloud IAP gesichert sind.
  2. Klicken Sie im angezeigten Fenster IAP aktivieren auf Aktivieren. Damit bestätigen Sie, dass Sie die Anwendung mit IAP schützen möchten. Nach dem Aktivieren benötigt IAP Anmeldedaten für alle Verbindungen zu Ihrer Anwendung.

Nutzerauthentifizierung testen

  1. Rufen Sie die App-URL über ein Google-Konto auf, das Sie IAP unter Einsatz der oben beschriebenen Rolle Nutzer von IAP-gesicherten Web-Apps hinzugefügt haben. Sie müssen dazu uneingeschränkten Zugriff auf die Anwendung haben.

  2. Für den Zugriff auf die Anwendung verwenden Sie ein Inkognitofenster in Chrome. Melden Sie sich an, wenn Sie dazu aufgefordert werden. Wenn Sie versuchen, mit einem Konto, das nicht mit der Rolle Nutzer von IAP-gesicherten Web-Apps autorisiert ist, auf die Anwendung zuzugreifen, werden Sie in einer Meldung darauf hingewiesen, dass Sie keinen Zugriff haben.

Nächste Schritte