Google Private Service Connect-Endpunkte für interne Stagingbereiche

Unter diesem Thema werden Konzepte und detaillierte Anweisungen für die Verbindung zu internen Snowflake-Stagingbereichen mit Google Private Service Connect-Endpunkten bereitgestellt.

Unter diesem Thema:

Google Private Service Connect-Endpunkte: Überblick

Sie können Google Private Service Connect (PSC)-Endpunkte konfigurieren, um eine sichere, private Konnektivität zu internen Snowflake-Stagingbereichen bereitzustellen. Diese Einrichtung stellt sicher, dass die Operationen zum Laden in und dem Entladen aus internen Snowflake-Stagingbereichen das Google PSC-Netzwerk verwenden und nicht über das öffentliche Internet erfolgen. Die folgende Abbildung fasst diese neue Funktion zusammen:

Über Google Private Services Connect eine Verbindung zum internen Stagingbereich herstellen

Die folgende Liste enthält Informationen zu den Zahlen im Diagramm:

  • Die Abbildung zeigt einen einzelnen PSC-Endpunkt von einem Google VPC-Netzwerk, das auf einen einzelnen internen Snowflake-Stagingbereich (2 und 3) verweist.

Bemerkung

Sie können mehrere private Endpunkte innerhalb desselben VPC-Netzwerks konfigurieren, die auf denselben internen Snowflake-Stagingbereich zugreifen.

  • Ein lokaler Benutzer kann eine direkte Verbindung zu Snowflake herstellen, wie in Nummer 1 gezeigt.

  • Um eine Verbindung zu einem internen Snowflake-Stagingbereich herzustellen, muss ein lokaler Benutzer seine Anforderung über das VPC-Netzwerk 2 und dann über das Google PSC-Netzwerk 3 weiterleiten, um eine Verbindung zum internen Stagingbereich von Snowflake herzustellen.

Vorteile

Die Implementierung von privaten Endpunkten für den Zugriff auf interne Snowflake-Stagingbereiche bietet die folgenden Vorteile:

  • Daten in internen Stagingbereichen werden nicht über das öffentliche Internet übertragen.

  • Lokale Client- und SaaS-Anwendungen können über das Google PSC-Netzwerk sicher auf einen internen Stagingbereich von Snowflake zugreifen.

  • Administratoren müssen keine Änderung an den Firewall-Einstellungen vornehmen, um auf die Daten in den internen Stagingbereichen zugreifen zu können.

  • Administratoren können konsistente Sicherheit und Überwachung implementieren, um den Zugriff auf ihre internen Stagingbereiche einzuschränken.

Einschränkungen

  • Maximal 10 VPC-Netzwerke können für ein Snowflake-Konto auf die Zulassungsliste gesetzt werden.

Konfigurieren von privaten Endpunkten für den Zugriff auf interne Snowflake-Stagingbereiche

Um private Endpunkte für den Zugriff auf interne Snowflake-Stagingbereiche zu konfigurieren, müssen Sie die folgenden drei Rollen verwenden:

  • Die Snowflake-Systemrolle ACCOUNTADMIN.

  • Google Cloud-Administrator

  • Netzwerkadministrator

Abhängig von der Rollenhierarchie in Ihrer Organisation müssen Sie Ihre Konfigurationsbemühungen möglicherweise mit mehr als einer Person oder einem Team koordinieren.

Führen Sie die folgenden Schritte aus, um den sicheren Zugriff auf interne Snowflake-Stagingbereiche über Google PSC-Endpunkte zu konfigurieren und zu implementieren:

  1. Verwenden Sie als Google Cloud-Administrator die Google Cloud-Konsole, um den Wert für den vollqualifizierten Pfad abzurufen, mit dem Snowflake den Netzwerkzugriff einschränkt.

    1. Gehen Sie unter https://console.cloud.google.com zu Quick Access » VPC Network, und wählen Sie dann in Ihr Projekt in » VPC Networks » Name aus.

    2. Wählen Sie in VPC network details die Option Equivalent REST aus.

    3. Kopieren Sie in Equivalent REST Response den Wert für "selfLink".

      Dieser Wert sollte ungefähr wie folgt aussehen: projects/vpc_network_name/global/networks/network_name.

      Sie geben diesen Wert als Argument 'google_cloud_vpc_network_name' für die Systemfunktion im nächsten Schritt an.

  2. Verwenden Sie in Snowflake die ACCOUNTADMIN-Rolle, um den Zugriff auf den internen Stagingbereich durch Aufrufen der Funktion SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS zu autorisieren. Beispiel:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Rufen Sie https://console.cloud.google.com/ als Google Cloud-Administrator auf, erstellen Sie einen Google PSC-Endpunkt und verbinden Sie ihn dann mit dem VPC-Netzwerk, auf das Snowflake zugreifen wird:

    1. Erstellen Sie einen neuen Endpunkt: Wählen sie in Network services » Private Service Connect`die Option :extui:`Connect endpoint aus.

    2. In Target wählen Sie All Google APIs als Ziel aus und füllen dann die erforderlichen Felder aus.

      Bemerkung

      All Google APIs ist für globale Endpunkte geeignet. Derzeit werden nur globale Endpunkte unterstützt.

    3. Wählen Sie ADD ENDPOINT aus.

  4. Notieren Sie sich die IP-Adresse des neu erstellten Google PSC-Endpunkts und die VPC-Netzwerk-ID, mit der sich der Google PSC-Endpunkt verbindet.

  5. Konfigurieren Sie als Netzwerkadministrator die DNS-Einstellungen, um die URLs aufzulösen:

    1. Navigieren Sie in Network services zu Cloud DNS.

    2. Erstellen Sie eine neue DNS-Zone mit den folgenden Einstellungen:

      • Zonentyp: private

      • DNS-Name: storage.googleapis.com

      • Optionen: Default (private)

      • Netzwerke: prod

    3. Wählen Sie CREATE aus.

  6. Erstellen Sie in der neuen, privaten DNS-Zone einen neuen Datensatz mit den folgenden Werten:

    1. Verwenden Sie den Bucket-Namen für Ihren internen Stagingbereich.

    2. Ressourcendatensatztyp: A

    3. IPv4-Adresse: 10.10.80.55 – Verwenden Sie die IP-Adresse des Google PSC-Endpunkts, den Sie zuvor erstellt haben.

    4. Wählen Sie CREATE aus.

  7. Bestätigen Sie von einem Client in derselben VPC, dass die interne Stagingbereichs-URL die IP-Adresse des Endpunkts auflöst. Verwenden Sie dazu den Befehl nslookup oder dig.

    Verwenden Sie zum Beispiel folgenden dig-Befehl zum Bestätigen der Auflösung:

    dig gcpeuropewest4-63osaw1-stage.storage.googleapis.com
    
    Copy

    Ein ordnungsgemäß konfigurierter globaler Endpunkt sollte ein Ergebnis wie das folgende zurückgeben:

    DNS name: gcpeuropewest4-63osaw1-stage
    

Widerrufen des Zugriffs auf interne Snowflake-Stagingbereiche

Führen Sie die folgenden Schritte aus, um den Zugriff auf interne Snowflake-Stagingbereiche über private Google PSC-Endpunkte zu widerrufen:

  1. Bestätigen Sie als Snowflake-Administrator, dass der ENABLE_INTERNAL_STAGES_PRIVATELINK-Parameter auf TRUE gesetzt ist. Beispiel:

    USE ROLE ACCOUNTADMIN;
    SHOW PARAMETERS LIKE 'enable_internal_stages_privatelink' IN ACCOUNT;
    
    Copy
  2. Rufen Sie als Snowflake-Administrator die Funktion SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS auf, um den Zugriff über den privaten Endpunkt zu widerrufen, wobei Sie denselben google_cloud_vpc_network_name-Wert verwenden, mit dem Sie ursprünglich den Zugriff über den privaten Endpunkt autorisiert haben. Beispiel:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Löschen Sie als Google Cloud-Administrator den privaten Endpunkt über das Google Cloud-Portal.

  4. Entfernen Sie als Netzwerkadministrator die DNS- und Alias-Datensätze, die zum Auflösen der Speicherkonto-URLs verwendet wurden.

Durch Ausführen dieser Schritte wird der Zugriff auf das VPC-Netzwerk widerrufen.