Sichern des Eingangs von Snowflake-Anforderungen mit IP-Adressen für ausgehenden Datenverkehr

Sie können den eingehenden Zugriff von Snowflake auf Ihre externen Ressourcen sicher erlauben, indem Sie IP-Adressbereiche für ausgehenden Datenverkehr, die von Snowflake generiert wurden, durch die Netzwerk-Firewall der Ressource zulassen.

Sie können eine Liste der IP-Adressbereiche für ausgehenden Datenverkehr (als Classless Inter-Domain Routing (CIDR)-Adressen) von Snowflake generieren, die Sie verwenden können, um Snowflake beim Zulassen des Zugriffs durch die Netzwerk-Firewall Ihres externen Servers zu repräsentieren.

Unterstützte Verwendungen

Mithilfe der mit Snowflake generierten IP-Adressen für ausgehenden Datenverkehr können Sie eingehenden Zugriff für die folgenden Snowflake-Funktionen zulassen:

Generieren von ausgehenden IP-Adressbereichen

Sie können IP-Adressbereiche generieren, die Snowflake für den ausgehenden Datenverkehr verwendet, indem Sie die SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES-Funktion verwenden.

Die generierten IP-Adressen laufen ab. Für einen dauerhaften Betrieb sollten Sie daher einen Mechanismus einrichten, der die Firewall Ihres externen Servers automatisch mit aktualisierten IP-Adressen für ausgehenden Datenverkehr versorgt, wie unter :ref:`label-network_egress_refreshing`beschrieben.

Zum Generieren und Verwenden von IP-Adressen für ausgehenden Datenverkehr von Snowflake gehen Sie wie folgt vor:

  1. Rufen Sie SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES auf, um die aktuellen und die kommenden IP-Bereiche und deren Ablaufzeit abzurufen.

    Der folgende Code zeigt die Beispielausgabe der Funktion.

    SELECT
     value: "ipv4_prefix":: VARCHAR AS IP_CIDR_RANGE_FOR_REGION,
     value: "effective":: TIMESTAMP AS IP_CIDR_RANGE_EFFECTIVE,
     value: "expires":: TIMESTAMP AS IP_CIDR_RANGE_EXPIRATION
    FROM TABLE(FLATTEN (INPUT => PARSE_JSON(SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES())));
    
    Copy
    +--------------------------+-------------------------+--------------------------+
    | IP_CIDR_RANGE_FOR_REGION | IP_CIDR_RANGE_EFFECTIVE | IP_CIDR_RANGE_EXPIRATION |
    +--------------------------+-------------------------+--------------------------+
    | 153.45.34.0/24           | 2025-08-01 00:00:00.000 | 2026-05-06 01:33:26.726  |
    | 153.45.77.0/24           | 2025-08-01 00:00:00.000 | 2026-05-06 01:33:26.726  |
    +--------------------------+-------------------------+--------------------------+
    
    • Die Spalte IP CIDR RANGE_EFFECTIVE zeigt das Startdatum an, ab dem ein Bereich mit der Übertragung von Datenverkehr beginnt. Ein neuer Bereich sollte mindestens 60 Tage vor seinem Inkrafttreten in der Funktionsausgabe erscheinen.

    • Die Spalte IP CIDR RANGE_EXPIRATION zeigt das Datum an, ab dem ein IP-Bereich keinen Datenverkehr mehr überträgt.

  2. Verwenden Sie die abgerufenen IP-Adressbereiche, um Ihre Firewall-Regeln mithilfe von APIs, CLIs oder Konfigurationsmanagement-Tools zu aktualisieren, wie unter Automatisieren von Aktualisierungen für IP-Adressbereiche beschrieben.

Automatisieren von Aktualisierungen für IP-Adressbereiche

IP-Adressen für ausgehenden Datenverkehr von Snowflake laufen ab. Um den Zugriff sicher zu halten, müssen Sie die in der Firewall Ihres externen Servers zugelassenen IP-Adressen für externen Datenverkehr von Snowflake regelmäßig aktualisieren, sodass sie immer dem aktuellen Stand entsprechen.

Damit IP-Adressen aktuell bleiben, implementieren Sie einen Mechanismus, um diese Aktualisierungen auf Ihrem externen Server regelmäßig auszulösen, z. B. täglich oder wöchentlich. Sie können dies beispielsweise durch Verwenden der Tools Ihrer Umgebung erreichen.

Um Aktualisierungen vorzunehmen, führen Sie in Ihrem Skript die folgenden Schritte aus:

  1. Rufen Sie IP-Adressbereiche für ausgehenden Datenverkehr von Snowflake unter Verwendung von SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES ab.

  2. Vergleichen Sie die neu abgerufenen Bereiche mit denen, die Sie derzeit verwenden.

    Sie können unnötige Änderungen vermeiden, indem Sie Aktualisierungen nur vornehmen, wenn die Adressbereiche unterschiedlich sind.

    • Wenn sie sich nicht unterscheiden, lassen Sie Ihr Skript Ablaufdaten verwenden, um einen Zeitpunkt für eine erneute Überprüfung festzulegen, z. B. einige Tage vor dem Ablauf.

    • Wenn die neu abgerufene Liste anders ist, aktualisieren Sie Ihre Firewall-Regel programmgesteuert mit den neuen Adressen. Anschließend kann das Skript ein neues Überprüfungsdatum festlegen, beispielsweise einige Tage vor dem nächsten Ablaufdatum.

  3. Protokollieren Sie die vom Skript vorgenommenen Änderungen und richten Sie Benachrichtigungen ein, die sowohl erfolgreiche Aktualisierungen als auch Fehler melden.

Automatisieren von Aktualisierungen mithilfe der Tools Ihrer Umgebung

Sie können die Aufgaben, die erforderlich sind, um IP-Adressen von Snowflake auf dem neuesten Stand zu halten, mithilfe von Skripten und Tools automatisieren. Im Folgenden werden zwei Beispiele beschrieben:

  • Scripting mit APIs und CLIs bei Cloudanbietern wie AWS, Azure und Google Cloud.

    Für Cloudumgebungen können Sie Skripte mit Tools wie Python, PowerShell und Bash schreiben. Ihre Tools können die folgenden Aufgaben ausführen:

    1. Aufrufen von SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES, um die aktuellsten IP-Adressbereiche und Ablaufdaten abzurufen.

    2. Verwenden der API oder CLI des Cloudanbieters zum Aktualisieren der Sicherheitsgruppenregeln, Netzwerk-ACLs oder Firewall-Richtlinien.

    3. Planen von Skripten, die diese Aktionen in regelmäßigen Abständen (z. B. täglich oder wöchentlich) oder auf Basis von Ablaufdaten mithilfe von Cron-Jobs ausführen. Sie können diese ausführen, indem Sie gespeicherte Prozeduren mit Snowflake-Aufgaben verwenden.

  • Infrastructure-as-Code-Tools (IaC)

    Sie können Tools wie Terraform, Ansible oder CloudFormation verwenden, um Firewall-Regeln als Code zu verwalten. Der unten beschriebene Ansatz bietet auch Versionskontrolle und Prüfprotokolle für Änderungen von Firewall-Regeln.

    Mit diesen Tools können Sie die folgenden Aufgaben ausführen:

    1. Definieren von Firewall-Regeln in IaC-Konfigurationen.

    2. Aufrufen von SYSTEM$GET_SNOWFLAKE_EGRESS_IP_RANGES, um die aktuellsten IP-Adressbereiche und Ablaufdaten abzurufen.

    3. Wenn neue IP-Bereiche für ausgehenden Datenverkehr von Snowflake verfügbar sind, aktualisieren Sie Ihre IaC-Konfiguration mit den neuen Bereichen.

    4. Wenden Sie die Änderungen mithilfe Ihres IaC-Tools an, das sicherstellt, dass Firewall-Regeln programmgesteuert und idempotent aktualisiert werden.