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' , ... ] )
Snowflake empfiehlt die Verwendung von Netzwerkregeln zusammen mit Netzwerkrichtlinien, anstatt diesen Parameter zu verwenden. Verwenden Sie den Parameter ALLOWED_NETWORK_RULE_LIST, um Netzwerkregeln anzugeben, die IPv4-Adressen enthalten.
Gibt eine Liste von IPv4-Adressen an, die Zugriff auf Ihr Snowflake-Konto haben. Dies wird als Zulassungsliste bezeichnet. Snowflake blockiert automatisch alle IP-Adressen, die nicht in der Zulassungsliste enthalten sind.
Wenn der Parameter mit einer leeren Liste angegeben wird, erlaubt die Netzwerkrichtlinie keiner IPv4-Adresse den Zugriff auf Snowflake.
BLOCKED_IP_LIST = ( [ ip_address ] [ , 'ip_address' , ... ] )
Snowflake empfiehlt die Verwendung von Netzwerkregeln zusammen mit Netzwerkrichtlinien, anstatt diesen Parameter zu verwenden. Verwenden Sie den Parameter BLOCKED_NETWORK_RULE_LIST, um Netzwerkregeln anzugeben, die IPv4-Adressen enthalten.
Gibt eine Liste von IPv4-Adressen an, denen der Zugriff auf Ihr Snowflake-Konto verweigert wird. Dies wird als Sperrliste bezeichnet.
Legen Sie diesen Parameter nur fest, wenn Sie den Zugriff auf einen Bereich von IP-Adressen erlauben (angegeben in
ALLOWED_IP_LIST
), aber den Zugriff auf eine oder mehrere IP-Adressen innerhalb des Bereichs verweigern möchten.Standard: Kein Wert (d. h. keine IP-Adresse in
ALLOWED_IP_LIST
ist gesperrt)
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¶
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.Fügen Sie
0.0.0.0/0
nicht zurBLOCKED_IP_LIST
hinzu. Da Snowflake zuerst die Sperrliste anwendet, würde dies Ihren eigenen Zugriff blockieren. Um alle IP-Adressen außer einer Auswahlliste zu blockieren, müssen Sie außerdem nur IP-Adressen zurALLOWED_IP_LIST
hinzufügen. Snowflake blockiert automatisch alle IP-Adressen, die nicht in der Zulassungsliste enthalten sind.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 | +-----------------+---------------------------+