Netzwerkregeln

Die Verwendung von SQL für Netzwerkregeln ist allgemein verfügbar.

Netzwerkregeln sind Objekte auf Schemaebene, die Netzwerk-IDs zu logischen Einheiten gruppieren.

Snowflake-Funktionen, die den Netzwerkdatenverkehr einschränken, können auf Netzwerkregeln verweisen, anstatt Netzwerk-IDs direkt im Feature zu definieren. Eine Netzwerkregel definiert nicht, ob ihre IDs zugelassen oder blockiert werden sollen. Das Snowflake-Feature, das die Netzwerkregel verwendet, gibt an, ob die IDs in der Netzwerkregel zulässig oder verboten sind.

Die folgenden Features verwenden Netzwerkregeln zur Steuerung des Netzwerkdatenverkehrs:

  • Netzwerkrichtlinien verwenden Netzwerkregeln, um den eingehenden Netzwerkdatenverkehr zum Snowflake-Dienst und zu internen Stagingbereichen zu steuern.

  • Externer Netzwerkzugriff verwendet Netzwerkregeln, um den Zugriff auf externe Netzwerkstandorte von einer Snowflake-UDF oder -Prozedur aus einzuschränken.

Unterstützte Netzwerk-IDs

Administratoren müssen in der Lage sein, den Zugriff anhand der Netzwerk-ID zu beschränken, die mit dem Ursprung oder dem Ziel einer Anforderung verbunden ist. Mithilfe der Netzwerkregeln können Administratoren die folgenden Netzwerk-IDs zulassen oder blockieren:

Eingehende Anforderungen:
Ausgehende Anforderungen:

Domänen, einschließlich eines Portbereichs.

Der gültige Portbereich ist 1–65.535. Wenn Sie keinen Port angeben, wird dieser standardmäßig auf 443 gesetzt. Wenn ein externer Netzwerkstandort dynamische Ports unterstützt, müssen Sie alle möglichen Ports angeben.

Um den Zugriff auf alle Ports zu erlauben, definieren Sie den Port als 0. Beispiel: company.com:0.

Jede Netzwerkregel enthält eine Liste von einer oder mehreren Netzwerk-IDs desselben Typs. Die Eigenschaft TYPE der Netzwerkregel gibt den Typ der Netzwerk-IDs an, die in der Regel enthalten sind. Wenn die Eigenschaft TYPE beispielsweise IPV4 ist, muss die Werteliste der Netzwerkregel gültige IPv4-Adressen oder -Adressbereiche in CIDR-Notation enthalten.

Eingehende vs. ausgehende Anforderungen

Der Modus einer Netzwerkregel gibt an, ob das Snowflake-Feature, das die Regel verwendet, eingehende oder ausgehende Anforderungen einschränkt.

Eingehende Anforderungen

Netzwerkrichtlinien schützen den Snowflake-Dienst und die internen Stagingbereiche vor eingehendem Datenverkehr. Wenn eine Netzwerkregel mit einer Netzwerkrichtlinie verwendet wird, kann der Administrator den Modus auf einen der folgenden Werte einstellen:

INGRESS

Das Verhalten im Modus INGRESS hängt vom Wert der Eigenschaft TYPE der Netzwerkregel ab.

  • Bei TYPE=IPV4 kontrolliert die Netzwerkregel standardmäßig nur den Zugriff auf den Snowflake-Dienst.

    Wenn der Kontoadministrator den Parameter ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES aktiviert, dann schützen MODE=INGRESS und TYPE=IPV4 auch einen internen AWS-Stagingbereich.

  • Bei TYPE=AWSVPCEID kontrolliert die Netzwerkregel nur den Zugriff auf den Snowflake-Dienst.

    Wenn Sie den Zugriff auf den internen AWS-Stagingbereich auf Grundlage der VPCE-ID eines Schnittstellenendpunkts beschränken möchten, müssen Sie eine separate Netzwerkregel mit dem Modus INTERNAL_STAGE erstellen.

INTERNAL_STAGE

Steuert den Zugriff auf einen internen AWS-Stagingbereich, ohne den Zugriff auf den Snowflake-Dienst zu beschränken. Die Verwendung dieses Modus erfordert Folgendes:

Für Konten auf Microsoft Azure können Sie keine Netzwerkregel verwenden, um den Zugriff auf den internen Stagingbereich einzuschränken. Sie können jedoch den gesamten öffentlichen Netzwerkdatenverkehr blockieren, um den Zugriff auf den internen Stagingbereich zu verhindern.

Ausgehende Anforderungen

Administratoren können Netzwerkregeln mit Features verwenden, die steuern, wohin Anforderungen gesendet werden können. In diesen Fällen definiert der Administrator die Netzwerkregel mit dem folgenden Modus:

EGRESS

Zeigt an, dass die Netzwerkregel für Datenverkehr verwendet wird, der von Snowflake gesendet wird.

Wird derzeit mit externem Netzwerkzugriff verwendet, der es einer UDF oder Prozedur ermöglicht, Anfragen an einen externen Netzwerkstandort zu senden.

Erstellen einer Netzwerkregel

Sie benötigen die Berechtigung CREATE NETWORK RULE für das Schema, um eine Netzwerkregel erstellen zu können. Standardmäßig verfügen nur die Rollen ACCOUNTADMIN und SECURITYADMIN sowie der Schemaeigentümer über diese Berechtigung.

Sie können eine Netzwerkregel über Snowsight oder durch Ausführen eines SQL-Befehls erstellen:

Snowsight:
  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Security aus.

  3. Wählen Sie die Registerkarte Network Rules aus.

  4. Wählen Sie + Network Rule aus.

  5. Geben Sie den Name der Netzwerkregel ein.

  6. Wählen Sie das Schema der Netzwerkregel aus. Netzwerkregeln sind Objekte auf Schemaebene.

  7. Fügen Sie optional einen beschreibenden Kommentar für die Netzwerkregel hinzu, um die Verwaltung der Netzwerkregeln im Schema zu erleichtern.

  8. Wählen Sie in der Dropdown-Liste Type den Typ der Netzwerk-ID aus, der in der Netzwerkregel definiert ist.

  9. Wählen Sie in der Dropdown-Liste Mode den Modus der Netzwerkregel aus. Die Modi INGRESS und INTERNAL STAGE zeigen an, dass die Netzwerkregel mit einer Netzwerkrichtlinie verwendet wird, um eingehende Anfragen zu beschränken, und der Modus EGRESS zeigt an, dass die Netzwerkregel mit einer externen Zugangsintegration verwendet wird, um ausgehende Anforderungen zu beschränken.

  10. Geben Sie eine durch Kommas getrennte Liste der Netzwerk-IDs ein, die zugelassen oder blockiert werden sollen, wenn die Netzwerkregel einer Netzwerkrichtlinie hinzugefügt wird. Die Netzwerk-IDs in dieser Liste müssen alle von dem Typ sein, der in der Dropdown-Liste Type angegeben ist.

  11. Wählen Sie Create Network Policy aus.

SQL:

Ein Administrator kann den Befehl CREATE NETWORK RULE ausführen, um eine neue Netzwerkregel zu erstellen, und dabei eine Liste von Netzwerk-IDs und dazu den Typ dieser IDs angeben.

So können Sie beispielsweise eine kundenspezifische Rolle verwenden, um eine Netzwerkregel zu erstellen, mit der Sie den Datenverkehr von einem Bereich von IP-Adressen zulassen oder blockieren können:

GRANT USAGE ON DATABASE securitydb TO ROLE network_admin;
GRANT USAGE ON SCHEMA securitydb.myrules TO ROLE network_admin;
GRANT CREATE NETWORK RULE ON SCHEMA securitydb.myrules TO ROLE network_admin;
USE ROLE network_admin;

CREATE NETWORK RULE cloud_network TYPE = IPV4 MODE = INGRESS VALUE_LIST = ('47.88.25.32/27');
Copy

IPv4-Adressen

Bei der Angabe von IP-Adressen für eine Netzwerkregel unterstützt Snowflake Bereiche von IP-Adressen unter Verwendung der Classless Inter-Domain Routing (CIDR)-Notation.

So stellt beispielsweise 192.168.1.0/24 alle IPv4-Adressen im Bereich 192.168.1.0 bis 192.168.1.255 dar.

Identifizieren von Netzwerkregeln in Ihrem Konto

Sie können die Netzwerkregeln in Ihrem Konto über Snowsight oder mit SQL identifizieren.

Snowsight:
  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Security aus.

  3. Wählen Sie die Registerkarte Network Rules aus.

SQL:

Rufen Sie die Information Schema-Tabellenfunktion NETWORK_RULE_REFERENCES auf, oder fragen Sie die Account Usage-Ansicht NETWORK_RULES oder NETWORK_RULE_REFERENCES ab.

Ändern einer Netzwerkregel

Sie können die Netzwerk-IDs und den Kommentar einer vorhandenen Netzwerkregel ändern, nicht aber deren Typ, Modus, Name oder Schema.

Führen Sie einen der folgenden Schritte aus, um Bezeichner und Kommentare aus einer vorhandenen Netzwerkregel über Snowsight oder mit SQL hinzuzufügen oder zu entfernen:

Snowsight:
  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Security aus.

  3. Wählen Sie die Registerkarte Network Rules aus.

  4. Suchen Sie die Netzwerkregel, wählen Sie die Schaltfläche und dann die Option Edit aus.

  5. Ändern Sie die durch Kommas getrennte Liste der Netzwerk-IDs oder den Kommentar.

  6. Wählen Sie Update Network Rule aus.

SQL:

Führen Sie eine ALTER NETWORK RULE-Anweisung aus.

Replikation von Netzwerkregeln

Netzwerkregeln sind Objekte auf Schemaebene und werden mit der Datenbank, in der sie enthalten sind, repliziert.

Weitere Informationen zur Replikation von Netzwerkrichtlinien, die Netzwerkregeln verwenden, finden Sie unter Replizieren von Netzwerkrichtlinien.

Berechtigungen und Befehle

Befehl

Berechtigung

Beschreibung

CREATE NETWORK RULE

CREATE NETWORK RULE für SCHEMA

Erstellt eine neue Netzwerkregel.

ALTER NETWORK RULE

OWNERSHIP für NETWORK RULE

Ändert eine bestehende Netzwerkregel.

DROP NETWORK RULE

OWNERSHIP für NETWORK RULE

Entfernt eine bestehende Netzwerkregel aus dem System.

DESCRIBE NETWORK RULE

OWNERSHIP für NETWORK RULE

Beschreibt die Eigenschaften einer bestehenden Netzwerkregel.

SHOW NETWORK RULES

OWNERSHIP für NETWORK RULE oder USAGE für SCHEMA

Listet alle Netzwerkregeln im System auf.