Schritt 4: Identity-Aware Proxy (IAP) konfigurieren

In diesem Schritt konfigurieren Sie Identity-Aware Proxy (IAP), um eine zentrale Autorisierungsebene für die in Cloud Run bereitgestellte Anwendung bereitzustellen. Gehen Sie dazu so vor:

  1. OAuth-Zustimmungsbildschirm konfigurieren: Der OAuth-Zustimmungsbildschirm ist ein Prompt, der eine Zusammenfassung Ihres Projekts, seiner Richtlinien und der angeforderten Autorisierungsbereiche enthält. Wenn Sie den OAuth-Zustimmungsbildschirm für Ihre App konfigurieren, legen Sie fest, was für Nutzer und App-Rezensenten verfügbar ist. Außerdem registrieren Sie Ihre App, damit Sie sie später veröffentlichen können. Weitere Informationen zum OAuth-Zustimmungsbildschirm finden Sie unter OAuth-Zustimmungsbildschirm konfigurieren und Bereiche auswählen.

  2. Anmeldedaten für den OAuth-Zugriff erstellen: Sie müssen eine OAuth-Client-ID für Ihre Anwendung und Domain erstellen, damit Ihre Anwendung die erforderlichen APIs aufrufen kann. Weitere Informationen zu OAuth-Anmeldedaten finden Sie unter Anmeldedaten für den Zugriff erstellen.

  3. IAP für den Load Balancer aktivieren: Verwenden Sie die OAuth-Client-ID und das Secret, um IAP für den Load Balancer zu aktivieren, den Sie für Ihre App erstellt haben.

  4. IAP aktivieren: Schützen Sie Ihre Anwendung, indem Sie Hauptkonten erstellen, die auf Ihre Anwendung zugreifen können, und dann IAP aktivieren.

  1. Rufen Sie in der Google Cloud Console den OAuth-Zustimmungsbildschirm auf.

    Zum OAuth-Zustimmungsbildschirm

  2. Wählen Sie einen der folgenden Nutzertypen für Ihre App aus:

    • Extern: Jeder Nutzer mit einem Google-Konto kann Autorisierungsanfragen stellen. Für diese Anleitung empfehlen wir die Auswahl von Extern.

    • Intern: Nur Mitglieder Ihrer Google Cloud-Organisation können Autorisierungsanfragen an die App senden.

  3. Klicken Sie auf Erstellen.

  4. Klicken Sie im Abschnitt Autorisierte Domains auf Domain hinzufügen und geben Sie den Domainnamen an, der bei der Zertifikatserstellung verwendet werden soll.

  5. Geben Sie im Abschnitt Kontaktdaten des Entwicklers Ihre E-Mail-Adresse ein.

  6. Klicken Sie auf Speichern und fortfahren.

  7. Klicken Sie auf der Seite Bereiche auf Speichern und fortfahren.

  8. Optional: Wenn Sie Extern als Nutzertyp ausgewählt haben, fügen Sie auf der Seite Testnutzer Testnutzer hinzu. Gehen Sie dazu so vor:

    1. Klicken Sie auf Add users (Nutzer hinzufügen).

    2. Geben Sie Ihre E-Mail-Adresse und die E-Mail-Adressen aller anderen autorisierten Testnutzer ein und klicken Sie dann auf Speichern und fortfahren.

  9. Sehen Sie sich die Zusammenfassung der App-Registrierung an. Wenn Sie Änderungen vornehmen möchten, klicken Sie auf Bearbeiten. Wenn die App-Registrierung in Ordnung ist, klicken Sie auf Zurück zum Dashboard.

Anmeldedaten für den OAuth-Zugriff erstellen

  1. Wechseln Sie in der Google Cloud Console zu Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und dann auf OAuth-Client-ID.

  3. Klicken Sie in der Liste Anwendungstyp auf Webanwendung.

  4. Geben Sie im Feld Name gemini-streamlit-app ein.

  5. Klicken Sie im Bereich Autorisierte JavaScript-Quellen auf URI hinzufügen und geben Sie dann den folgenden URI ein:

    https://DOMAIN_NAME
    

    Ersetzen Sie DOMAIN_NAME durch den Domainnamen, der während der Zertifikaterstellung verwendet wird.

  6. Klicken Sie auf Erstellen.

    Der Bildschirm OAuth-Client erstellt wird mit der Client-ID und dem Clientschlüssel angezeigt.

  7. Kopieren Sie die Client-ID und den Clientschlüssel. Im nächsten Schritt der Anleitung benötigen Sie Details.

IAP auf dem Load Balancer aktivieren

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Führen Sie im Cloud Shell-Terminal folgenden Befehl aus:
    
          gcloud compute backend-services update gemini-streamlit-app-backend \
          --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
          --global
          

    Ersetzen Sie Folgendes:

    • CLIENT_ID: Die OAuth-Client-ID aus den gerade erstellten OAuth-Anmeldedaten.
    • CLIENT_SECRET: Der OAuth-Clientschlüssel aus den gerade erstellten OAuth-Anmeldedaten.

IAP einrichten und verwenden

  1. Zur Seite Identity-Aware Proxy

    Zur Seite "Identity-Aware Proxy"

  2. Wählen Sie Ihr Projekt aus.

  3. Klicken Sie das Kästchen neben gemini-streamlit-app-backend an.

  4. Klicken Sie auf Hauptkonto hinzufügen.

  5. Geben Sie die Details in die folgenden Felder ein:

    • Neue Hauptkonten: Geben Sie die E-Mail-Adressen von Gruppen oder Einzelpersonen ein, denen Sie Zugriff auf Ihre App gewähren möchten. Folgendes kann ein Hauptkonto sein:

      • Google-Konto

      • Google-Gruppe

      • Dienstkonto

      • Google Workspace-Domain

      Geben Sie ein Google-Konto an, auf das Sie Zugriff haben.

  6. Wählen Sie in der Liste Rolle die Option Cloud IAP > Nutzer von IAP-gesicherten Web-Apps aus.

  7. Klicken Sie auf Speichern.

  8. Klicken Sie auf der Seite Identity-Aware Proxy unter Anwendungen auf die Ein/Aus-Schaltfläche IAP, um sie in der Zeile für die gemini-streamlit-app-backend-Ressource zu aktivieren.

  9. Klicken Sie im eingeblendeten Fenster IAP aktivieren auf das Kästchen, um zu bestätigen, dass Sie die Konfigurationsanforderungen gelesen und Ihr Back-End entsprechend konfiguriert haben.

  10. Klicken Sie auf Aktivieren. Nachdem Sie IAP aktiviert haben, sind für alle Verbindungen zu Ihrem Load-Balancer Anmeldedaten erforderlich. Zugriff erhalten nur Konten mit der Rolle Nutzer von IAP-gesicherten Web-Apps für das Projekt.