Privater eingehender Zugriff auf eine Looker (Google Cloud Core)-Instanz über Private Service Connect

Wenn Sie Private Service Connect mit Looker (Google Cloud Core) verwenden möchten, muss die Looker (Google Cloud Core)-Instanz beim Erstellen der Instanz für die Verwendung von Private Service Connect aktiviert werden.

Auf dieser Dokumentationsseite wird beschrieben, wie Sie Private Service Connect verwenden, um das Routing von Clients zu Looker (Google Cloud Core) zu konfigurieren, auch als eingehender Traffic bezeichnet.

Mit Private Service Connect können Nutzer privat aus ihrem VPC-Netzwerk, über Hybridnetzwerke oder öffentlich auf verwaltete Dienste zugreifen, wenn es mit einem externen regionalen Application Load Balancer bereitgestellt wird. Ersteller verwalteter Dienste können damit diese Dienste in ihren eigenen separaten VPC-Netzwerken hosten und ihren Nutzern eine private oder öffentliche Verbindung bieten.

Wenn Sie über Private Service Connect auf Looker (Google Cloud Core) zugreifen, sind Sie der Dienstnutzer und Looker (Google Cloud Core) ist der Dienstersteller. Für den eingehenden Zugriff auf Looker (Google Cloud Core) muss die VPC des Nutzers als zulässige VPC für die Private Service Connect-Instanz von Looker (Google Cloud Core) hinzugefügt werden.

In dieser Dokumentation wird beschrieben, wie Sie eine benutzerdefinierte Domain einrichten und konfigurieren. Außerdem finden Sie hier Informationen zum Zugriff auf Looker (Google Cloud Core) über einen Endpunkt für private Verbindungen.

Die empfohlene Bereitstellung für den Zugriff auf Looker (Google Cloud Core) erfolgt über einen Application Load Balancer mit einem Backend. Diese Einrichtung ermöglicht auch die Authentifizierung von benutzerdefinierten Domainzertifikaten, was eine zusätzliche Ebene für Sicherheit und Kontrolle des Nutzerzugriffs bietet.

Benutzerdefinierte Domain erstellen

Nachdem die Looker-Instanz (Google Cloud Core) erstellt wurde, müssen Sie als Erstes eine benutzerdefinierte Domain einrichten und die OAuth-Anmeldedaten für die Instanz aktualisieren. In den folgenden Abschnitten wird der Prozess beschrieben.

Wenn Sie eine benutzerdefinierte Domain für Instanzen mit privaten Verbindungen (Private Service Connect) erstellen, muss die benutzerdefinierte Domain die folgenden Anforderungen erfüllen:

  • Die benutzerdefinierte Domain muss aus mindestens drei Teilen bestehen, darunter mindestens eine Subdomain. Beispiel: subdomain.domain.com.
  • Die benutzerdefinierte Domain darf Folgendes nicht enthalten:
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

Benutzerdefinierte Domain einrichten

Nachdem Ihre Looker (Google Cloud Core)-Instanz erstellt wurde, können Sie eine benutzerdefinierte Domain einrichten.

Hinweis

Bevor Sie die Domain Ihrer Looker (Google Cloud Core)-Instanz anpassen können, müssen Sie herausfinden, wo die DNS-Einträge Ihrer Domain gespeichert sind, damit Sie sie aktualisieren können.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Looker-Administrator (roles/looker.admin) für das Projekt zuzuweisen, in dem sich die Instanz befindet, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer benutzerdefinierten Domain für eine Looker (Google Cloud Core)-Instanz benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Benutzerdefinierte Domain erstellen

Gehen Sie in der Google Cloud Console so vor, um die Domain Ihrer Looker (Google Cloud Core)-Instanz anzupassen:

  1. Klicken Sie auf der Seite Instanzen auf den Namen der Instanz, für die Sie eine benutzerdefinierte Domain einrichten möchten.
  2. Klicken Sie auf den Tab Benutzerdefinierte Domain.
  3. Klicken Sie auf Benutzerdefinierte Domain hinzufügen.

    Daraufhin öffnet sich der Bereich Neue benutzerdefinierte Domain hinzufügen.

  4. Geben Sie den Hostnamen der Webdomain ein, die Sie verwenden möchten. Er darf maximal 64 Zeichen lang sein und nur Buchstaben, Ziffern und Bindestriche enthalten, z. B. looker.examplepetstore.com.

  5. Klicken Sie auf Weiter.

  6. Der Abschnitt DNS-Einträge aktualisieren wird geöffnet. Die öffentliche IP-Adresse für den eingehenden Traffic wird im Feld Data (Daten) aufgeführt.

  7. Klicken Sie im Bereich Neue benutzerdefinierte Domain hinzufügen auf FERTIG, um zum Tab BENUTZERDEFINIERTE DOMAIN zurückzukehren.

Das Aktualisieren der benutzerdefinierten Domain dauert 10 bis 15 Minuten.

Nachdem Ihre benutzerdefinierte Domain eingerichtet wurde, wird sie in der Spalte Domain auf dem Tab BENUTZERDEFINIERTE DOMAIN der Seite mit den Instanzdetails für Looker (Google Cloud Core) in der Google Cloud Console angezeigt.

Nachdem Sie eine benutzerdefinierte Domain erstellt haben, können Sie Informationen dazu aufrufen oder sie löschen.

OAuth-Anmeldedaten aktualisieren

  1. Rufen Sie in der Google Cloud -Konsole APIs & Dienste > Anmeldedaten auf und wählen Sie die OAuth-Client-ID für den OAuth-Client aus, der von Ihrer Looker (Google Cloud Core)-Instanz verwendet wird.
  2. Klicken Sie auf die Schaltfläche URI hinzufügen, um das Feld Autorisierte JavaScript-Quellen in Ihrem OAuth-Client so zu aktualisieren, dass es denselben DNS-Namen enthält, den Ihre Organisation für den Zugriff auf Looker (Google Cloud Core) verwendet. Wenn Ihre benutzerdefinierte Domain beispielsweise looker.examplepetstore.com ist, geben Sie looker.examplepetstore.com als URI ein.

  3. Aktualisieren oder fügen Sie die benutzerdefinierte Domain der Liste der autorisierten Weiterleitungs-URIs für die OAuth-Anmeldedaten hinzu, die Sie beim Erstellen der Looker (Google Cloud Core)-Instanz verwendet haben. Fügen Sie /oauth2callback am Ende des URI hinzu. Wenn Ihre benutzerdefinierte Domain beispielsweise looker.examplepetstore.com ist, geben Sie looker.examplepetstore.com/oauth2callback ein.

Privater Zugriff auf Looker (Google Cloud Core)

Nachdem Sie die benutzerdefinierte Domain eingerichtet haben, sind die folgenden Netzwerkkomponenten erforderlich, um von lokalen Umgebungen oder von einer anderen Cloud-Anbieter-Umgebung (d. h. über Hybridnetzwerke) auf die Instanz zuzugreifen:

Looker (Google Cloud Core), das mit Private Service Connect bereitgestellt wird, unterstützt Private Service Connect-Netzwerk-Endpunktgruppen, die als Backends bezeichnet werden und in Cloud Load Balancing integriert sind. Im Codelab Looker PSC Northbound Regional Internal L7 ALB finden Sie eine Anleitung dazu, wie Sie über ein Backend privat auf eine Looker (Google Cloud Core)-Instanz zugreifen, für die Private Service Connect aktiviert ist.

Ein Beispiel für die Einrichtung eines Private Service Connect-Backend-Netzwerks ist im folgenden Diagramm dargestellt:

Die Netzwerkarchitektur für den Zugriff auf eine Looker (Google Cloud Core)-Instanz von einem lokalen Netzwerk aus über ein Backend.

DNS einrichten

Beim Einrichten von DNS haben Sie zwei Möglichkeiten:

  • Aktualisieren Sie das lokale DNS, damit es für die benutzerdefinierte Looker (Google Cloud Core)-Domain autoritativ ist, die der IP-Adresse des Private Service Connect-Endpunkts zugeordnet ist.
  • Erstellen Sie eine private Cloud DNS-Zone, erstellen Sie einen Datensatz mit der für den Private Service Connect-Endpunkt zugewiesenen IP-Adresse und aktivieren Sie die eingehende DNS-Weiterleitung, damit Ihre VPC für die benutzerdefinierte Looker (Google Cloud Core)-Domain, die der IP-Adresse des Private Service Connect-Endpunkts zugeordnet ist, autoritativ ist.

Benutzerdefinierte Sicherheitsantwortheader einfügen

Wenn Sie Looker (Google Cloud Core) mit Private Service Connect in eine externe Anwendung einbetten, werden bei VAPT-Sicherheitsprüfungen (Vulnerability Assessment and Penetration Testing) möglicherweise fehlende obligatorische Sicherheitsantwortheader wie Referrer-Policy, Permissions-Policy oder Cross-Origin-Resource-Policy (CORP) gemeldet.

Wenn Sie benutzerdefinierte Sicherheitsrichtlinien erzwingen und VAPT-Scans bestehen möchten, gehen Sie so vor, um einen Application Load Balancer vor der Private Service Connect-Verbindung von Looker (Google Cloud Core) zu verwenden, um die erforderlichen Antwortheader einzufügen:

  1. Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.

    Load Balancing aufrufen

  2. Klicken Sie auf den Namen des Load-Balancers, der Ihrer Looker (Google Cloud Core)-Instanz zugeordnet ist, und dann auf Bearbeiten.

  3. Rufen Sie die Backend-Konfiguration auf und wählen Sie den Backend-Dienst aus, der mit Ihrer Private Service Connect-NEG für Looker (Google Cloud Core) verknüpft ist.

  4. Fügen Sie unter Erweiterte Konfigurationen mit der Funktion Benutzerdefinierte Antwortheader die erforderlichen Header hinzu (z. B. Cross-Origin-Resource-Policy: same-origin oder Referrer-Policy: no-referrer).

Fehlerbehebung

Wenn Sie den eingehenden Zugriff auf eine Looker (Google Cloud Core)-Instanz über ein Private Service Connect-Back-End konfigurieren, kann es zu Problemen kommen, bei denen die Instanz nicht bereitgestellt werden kann oder der Load-Balancer den Backend-Dienst nicht erreichen kann.

Wenn in den Load-Balancer-Logs die Fehler failed_to_pick_backend und no healthy upstream (HTTP 503) angezeigt werden und die Netzwerk-Endpunktgruppe (NEG) im Status pending verharrt, fehlen erforderliche Netzwerkkonfigurationsschritte für das Nutzerprojekt. Das Nutzerprojekt ist nicht autorisiert, eine Verbindung zum Looker (Google Cloud Core)-Dienst herzustellen, oder es wurde keine Netzwerkanhangressource in der Nutzer-VPC erstellt.

Um diese Probleme zu beheben, müssen Sie die folgenden obligatorischen Schritte zur Netzwerkkonfiguration im Kundenprojekt ausführen:

  1. Projekt auf die Zulassungsliste setzen: Fügen Sie das Nutzerprojekt der Liste Zulässige VPCs des Dienstanhangs für Looker (Google Cloud Core) hinzu. Durch diese Ergänzung wird die Nutzer-VPC autorisiert, eine Verbindung zum Looker (Google Cloud Core)-Diensterstellerdienst herzustellen.
  2. Konfiguration der Netzwerkverbindung: Erstellen Sie eine Network Attachment-Ressource in der Consumer-VPC und verknüpfen Sie sie mit der Looker-Instanz (Google Cloud Core).

Nächste Schritte