CREATE NETWORK POLICY¶
Erstellt eine Netzwerkrichtlinie oder ersetzt eine bestehende.
Bemerkung
Nur Sicherheitsadministratoren (d. h. Benutzer mit der Rolle SECURITYADMIN) oder höher oder eine Rolle mit der globalen Berechtigung CREATE NETWORK POLICY kann Netzwerkrichtlinien erstellen.
- Siehe auch:
ALTER NETWORK POLICY, DROP NETWORK POLICY, SHOW NETWORK POLICIES, DESCRIBE NETWORK POLICY
Syntax¶
CREATE [ OR REPLACE ] NETWORK POLICY <name>
[ ALLOWED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
[ BLOCKED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
[ ALLOWED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
[ BLOCKED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Erforderliche Parameter¶
name
Bezeichner für die Netzwerkrichtlinie. Dieser muss für Ihr Konto eindeutig sein.
Der Bezeichnerwert muss mit einem alphabetischen Zeichen beginnen und darf keine Leerzeichen oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen eingeschlossen (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
Optionale Parameter¶
ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Gibt eine Liste von Netzwerkregeln an, die die Netzwerkbezeichner enthalten, denen der Zugriff auf Snowflake erlaubt wird. Die Anzahl der Netzwerkregeln in der Liste ist nicht begrenzt.
BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Gibt eine Liste von Netzwerkregeln an, die die Netzwerkbezeichner enthalten, denen der Zugriff auf Snowflake verweigert wird. Die Anzahl der Netzwerkregeln in der Liste ist nicht begrenzt.
ALLOWED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Gibt eine Liste von IPv4-Adressen an, die Zugriff auf Ihr Snowflake-Konto haben. Dies wird als Zulassungsliste bezeichnet.
Snowflake empfiehlt, Netzwerkregeln in Verbindung mit Netzwerkrichtlinien zu verwenden, anstatt diese Eigenschaft zu nutzen. Verwenden Sie die Eigenschaft
ALLOWED_NETWORK_RULE_LIST
, um Netzwerkregeln anzugeben, die IPv4-Adressen enthalten.Wenn Sie noch keine Netzwerkregeln verwenden, geben Sie mindestens eine IPv4-Adresse oder einen CIDR-Blockbereich an, um den Zugriff auf Ihr Snowflake Konto zu ermöglichen. Wenn Sie keine Netzwerkregeln verwenden und diese Eigenschaft mit einer leeren Liste angegeben ist, können außerdem keine IPv4-Adressen auf Ihr Snowflake-Konto zugreifen.
BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Gibt eine Liste von IPv4-Adressen an, denen der Zugriff auf Ihr Snowflake-Konto verweigert wird. Dies wird als Sperrliste bezeichnet. Um diesen Parameter zu deaktivieren, geben Sie einen anderen CIDR-Blockbereich, eine Reihe von IPv4-Adressen oder eine einzelne IPv4-Adresse an.
Snowflake empfiehlt, Netzwerkregeln in Verbindung mit Netzwerkrichtlinien zu verwenden, anstatt diesen Parameter zu benutzen. Verwenden Sie die Eigenschaft
BLOCKED_NETWORK_RULE_LIST
, um Netzwerkregeln anzugeben, die IPv4-Adressen enthalten.Um den öffentlichen Zugang zu sperren, verwenden Sie eine Netzwerkregel und fügen die Netzwerkregel der Eigenschaft
BLOCKED_NETWORK_RULE_LIST
hinzu. Das hat zur Folge, dass nur IP-Adressen, die eine private Konnektivität nutzen, wie AWS PrivateLink, auf Ihr Snowflake-Konto zugreifen können.Voreinstellung: Kein Wert; keine IP-Adressen in der Eigenschaft
ALLOWED_IP_LIST
werden blockiert.
COMMENT = 'string_literal'
Gibt einen Kommentar für die Netzwerkrichtlinie an.
Standard: Kein Wert
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE NETWORK POLICY |
Konto |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Verwenden Sie Netzwerkregeln in Verbindung mit der Netzwerkrichtlinie, um den Zugriff auf Ihr Snowflake-Konto zu verwalten.
Sie können den Befehl CREATE OR REPLACE NETWORK POLICY nicht zum Ersetzen einer bestehenden Netzwerkrichtlinie verwenden, wenn diese Richtlinie aktuell einem Konto, einer Sicherheitsintegration oder einem Benutzer zugewiesen ist.
Jede
ip_address
kann einen Bereich von Adressen mit der Schreibweise Classless Inter-Domain Routing (CIDR) abdecken:ip_address[/optional_prefix_length]
Beispiel:
192.168.1.0/24
Wenn eine Netzwerkrichtlinie Werte für
ALLOWED_IP_LIST
undBLOCKED_IP_LIST
enthält, wendet Snowflake zuerst die Sperrliste an.Die maximale Anzahl von Zeichen für die Liste
ALLOWED_IP_LIST
ist 100.000. Snowflake gibt eine Fehlermeldung zurück, wenn diese Grenze überschritten wird.Nachdem Sie eine Netzwerkrichtlinie erstellt haben, müssen Sie diese mit Ihrem Konto verknüpfen, bevor Snowflake die Richtlinie durchsetzt. Sie können Ihrem Konto über den Befehl ALTER ACCOUNT eine Richtlinie zuordnen, wobei der Befehl von einem Benutzer mit der Rolle SECURITYADMIN (oder höher) ausgeführt werden muss.
Beispiel:
USE ROLE SECURITYADMIN; ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>;
Weitere Details dazu finden Sie unter Parameterverwaltung. Beachten Sie, dass NETWORK_POLICY derzeit der einzige Kontoparameter ist, der von Benutzern mit der Rolle SECURITYADMIN festgelegt werden kann.
Bevor Sie Ihrem Konto eine Netzwerkrichtlinie zuweisen, muss Ihre aktuelle IP-Adresse in
ALLOWED_IP_LIST
enthalten sein; andernfalls gibt der Befehl ALTER ACCOUNT einen Fehler zurück. Darüber hinaus kann Ihre aktuelle IP-Adresse nicht inBLOCKED_IP_LIST
enthalten sein.Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Beispiele¶
Erstellen Sie eine Netzwerkrichtlinie namens mypolicy1
mit den folgenden Eigenschaften:
Erlauben Sie alle IP-Adressen im Bereich von
192.168.1.0
bis192.168.1.255
(über CIDR-Notation192.168.1.0/24
), mit Ausnahme von192.168.1.99
, das explizit gesperrt ist.Lehnen Sie alle anderen IP-Adressen ab.
CREATE NETWORK POLICY mypolicy1 ALLOWED_IP_LIST=('192.168.1.0/24') BLOCKED_IP_LIST=('192.168.1.99'); DESC NETWORK POLICY mypolicy1;+-----------------+----------------+ | name | value | |-----------------+----------------| | ALLOWED_IP_LIST | 192.168.1.0/24 | | BLOCKED_IP_LIST | 192.168.1.99 | +-----------------+----------------+
Erstellen Sie eine Netzwerkrichtlinie mit dem Namen mypolicy2
, die nur die IP-Adressen 192.168.1.0
und 192.168.1.100
für den Zugriff auf Ihr Konto zulässt:
CREATE NETWORK POLICY mypolicy2 ALLOWED_IP_LIST=('192.168.1.0','192.168.1.100'); DESC NETWORK POLICY mypolicy2;+-----------------+---------------------------+ | name | value | |-----------------+---------------------------| | ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 | +-----------------+---------------------------+