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:
IPv4-Adressen. Snowflake unterstützt die Angabe von IP-Adressbereichen in der Classless Inter-Domain Routing (CIDR)-Notation. So stellt beispielsweise
192.168.1.0/24
alle IPv4-Adressen im Bereich192.168.1.0
bis192.168.1.255
dar.VPCE-IDs von AWS VPC-Endpunkten. VPC-IDs werden nicht unterstützt.
LinkIDs von privaten Azure-Endpunkten. Führen Sie die Funktion SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS aus, um die mit einem Konto verbundene LinkID abzurufen.
- 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 EigenschaftTYPE
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
undTYPE=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:
Der Kontoadministrator muss den Parameter ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES aktivieren.
Die Eigenschaft
TYPE
der Netzwerkregel mussAWSVPCEID
sein.
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:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Rules aus.
Wählen Sie + Network Rule aus.
Geben Sie den Name der Netzwerkregel ein.
Wählen Sie das Schema der Netzwerkregel aus. Netzwerkregeln sind Objekte auf Schemaebene.
Fügen Sie optional einen beschreibenden Kommentar für die Netzwerkregel hinzu, um die Verwaltung der Netzwerkregeln im Schema zu erleichtern.
Wählen Sie in der Dropdown-Liste Type den Typ der Netzwerk-ID aus, der in der Netzwerkregel definiert ist.
Wählen Sie in der Dropdown-Liste Mode den Modus der Netzwerkregel aus. Die Modi
INGRESS
undINTERNAL STAGE
zeigen an, dass die Netzwerkregel mit einer Netzwerkrichtlinie verwendet wird, um eingehende Anfragen zu beschränken, und der ModusEGRESS
zeigt an, dass die Netzwerkregel mit einer externen Zugangsintegration verwendet wird, um ausgehende Anforderungen zu beschränken.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.
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');
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:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Security aus.
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:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Rules aus.
Suchen Sie die Netzwerkregel, wählen Sie die Schaltfläche … und dann die Option Edit aus.
Ändern Sie die durch Kommas getrennte Liste der Netzwerk-IDs oder den Kommentar.
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 für SCHEMA |
Erstellt eine neue Netzwerkregel. |
|
OWNERSHIP für NETWORK RULE |
Ändert eine bestehende Netzwerkregel. |
|
OWNERSHIP für NETWORK RULE |
Entfernt eine bestehende Netzwerkregel aus dem System. |
|
OWNERSHIP für NETWORK RULE |
Beschreibt die Eigenschaften einer bestehenden Netzwerkregel. |
|
OWNERSHIP für NETWORK RULE oder USAGE für SCHEMA |
Listet alle Netzwerkregeln im System auf. |