Steuern des Netzwerkdatenverkehrs mit Netzwerkrichtlinien¶
Die Verwendung von SQL für Netzwerkrichtlinien und Netzwerkregeln ist allgemein verfügbar.
Bemerkung
Netzwerkrichtlinien, die vor der Einführung von Netzwerkregeln bestanden, können in Snowsight nicht mehr geändert werden. Verwenden Sie stattdessen den Befehl ALTER NETWORK POLICY.
Sie können Netzwerkrichtlinien verwenden, um den eingehenden Zugriff auf den Snowflake-Dienst und auf den internen Stagingbereich zu steuern.
Wenn Sie den ausgehenden Datenverkehr von Snowflake zu einem externen Netzwerkziel kontrollieren möchten, finden Sie entsprechende Informationen unter Übersicht über externen Netzwerkzugriff.
Allgemeine Informationen zu Netzwerkrichtlinien¶
Standardmäßig erlaubt Snowflake den Benutzern, sich von jedem Computer oder Geräte aus mit dem Dienst und dem internen Stagingbereich zu verbinden. Ein Sicherheitsadministrator (oder höher) kann eine Netzwerkrichtlinie verwenden, um den Zugriff auf eine Anforderung anhand ihres Ursprungs zu erlauben oder zu verweigern. Die Zulassungsliste der Netzwerkrichtlinie steuert, welche Anforderungen auf den Snowflake-Dienst oder den internen Stagingbereich zugreifen dürfen, während die Sperrliste steuert, welche Anforderungen explizit blockiert werden sollen.
In einer Netzwerkrichtlinie werden die Netzwerk-IDs nicht direkt in der Zulassungsliste oder Sperrliste angegeben. Vielmehr fügt eine Netzwerkrichtlinie der Zulassungsliste und der Sperrliste bestimmte Netzwerkregeln hinzu. Diese Netzwerkregeln gruppieren zusammengehörige Netzwerk-IDs in logische Einheiten, die dann der Zulassungsliste und der Sperrliste einer Netzwerkrichtlinie hinzugefügt werden.
Wichtig
Netzwerkrichtlinien, die vor der Einführung von Netzwerkregeln bestanden, funktionieren weiterhin. Alle neuen Netzwerkrichtlinien sollten jedoch Netzwerkregeln und nicht die Parameter ALLOWED_IP_LIST und BLOCKED_IP_LIST verwenden, um den Zugriff von IP-Adressen zu steuern. Es empfiehlt sich, nicht beide Möglichkeiten der Zugriffseinschränkung in ein und derselben Netzwerkrichtlinie zu verwenden.
Workflow¶
Der allgemeine Workflow bei der Verwendung von Netzwerkrichtlinien zur Steuerung des eingehenden Netzwerkdatenverkehrs ist wie folgt:
Erstellen von Netzwerkregeln anhand ihres Zwecks und anhand des Typs der Netzwerk-ID.
Erstellen einer oder mehrerer Netzwerkrichtlinien, die die Netzwerkregeln mit den zuzulassenden oder zu blockierenden IDs enthalten.
Aktivieren der Netzwerkrichtlinie für ein Konto, einen Benutzer oder eine Sicherheitsintegration Eine Netzwerkrichtlinie schränkt den Netzwerkdatenverkehr erst ein, wenn sie aktiviert wird.
Interaktion zwischen Zulassungslisten und Sperrlisten¶
Wenn Sie eine Netzwerkregel zur Zulassungsliste einer Netzwerkrichtlinie hinzufügen, müssen Sie nicht die Sperrliste verwenden, um andere IDs desselben Typs explizit zu blockieren, denn nur die zugelassenen IDs haben Zugriff. IDs eines anderen Typs werden jedoch nicht automatisch blockiert. Wenn Sie beispielsweise eine IPV4-Netzwerkregel mit einer einzigen IP-Adresse zur Liste der zulässigen Adressen hinzufügen, werden alle anderen IPv4-Adressen blockiert. Es ist nicht notwendig, die Sperrliste zu verwenden, um den Zugriff von anderen IP-Adressen zu beschränken. Die VPC-Endpunkte haben jedoch weiterhin Zugriff, sofern keine zusätzlichen Netzwerkregeln zu der Netzwerkrichtlinie hinzugefügt werden.
Beispielsweise hat eine Netzwerkregel, die IDs privater Endpunkte wie Azure LinkIDs oder AWS VPCE-IDs verwenden, um den Zugriff zu beschränken, keine Auswirkungen auf Anforderungen aus dem öffentlichen Netz. Wenn Sie den Zugriff auf Basis der IDs privater Endpunkte beschränken und Anforderungen öffentlicher IPv4-Adressen vollständig blockieren möchten, müssen Sie zwei separate Netzwerkregeln erstellen, eine für die Zulassungsliste und die andere für die Sperrliste.
Die folgenden Netzwerkregeln könnten in einer Netzwerkrichtlinie kombiniert werden, um einen VPCE-ID zuzulassen und gleichzeitig den Datenverkehr mit dem öffentlichen Netzwerk zu blockieren.
CREATE NETWORK RULE block_public_access
MODE = INGRESS
TYPE = IPV4
VALUE_LIST = ('0.0.0.0/0');
CREATE NETWORK RULE allow_vpceid_access
MODE = INGRESS
TYPE = AWSVPCEID
VALUE_LIST = ('vpce-0fa383eb170331202');
CREATE NETWORK POLICY allow_vpceid_block_public_policy
ALLOWED_NETWORK_RULE_LIST = ('allow_vpceid_access')
BLOCKED_NETWORK_RULE_LIST=('block_public_access');
IP-Bereiche¶
Wenn Sie einen Bereich von IP-Adressen mit Ausnahme einer einzelnen IP-Adresse zulassen möchten, können Sie zwei Netzwerkregeln erstellen, eine für die Zulassungsliste und die andere für die Sperrliste.
Im folgenden Beispiel sind Anforderungen von allen IP-Adressen im Bereich von 192.168.1.0
bis 192.168.1.255
, außer 192.168.1.99
, erlaubt. IP-Adressen außerhalb des Bereichs werden ebenfalls blockiert.
CREATE NETWORK RULE allow_access_rule
MODE = INGRESS
TYPE = IPV4
VALUE_LIST = ('192.168.1.0/24');
CREATE NETWORK RULE block_access_rule
MODE = INGRESS
TYPE = IPV4
VALUE_LIST = ('192.168.1.99');
CREATE NETWORK POLICY public_network_policy
ALLOWED_NETWORK_RULE_LIST = ('allow_access_rule')
BLOCKED_NETWORK_RULE_LIST=('block_access_rule');
Rangfolge bei Netzwerkrichtlinien¶
Eine Netzwerkrichtlinie kann auf ein Konto, eine Sicherheitsintegration oder einen Benutzer angewendet werden. Wenn es Netzwerkrichtlinien gibt, die auf mehr als eine von ihnen angewendet werden, hat die spezifischste Netzwerkrichtlinie Vorrang vor allgemeineren Netzwerkrichtlinien. Die Rangfolge kann wie folgt zusammengefasst werden:
- Konto:
Netzwerkrichtlinien, die auf ein Konto angewendet werden, sind die allgemeinsten Netzwerkrichtlinien. Sie werden von Netzwerkrichtlinien, die auf eine Sicherheitsintegration oder einen Benutzer angewendet werden, überschrieben.
- Sicherheitsintegration:
Netzwerkrichtlinien, die auf eine Sicherheitsintegration angewendet werden, haben Vorrang vor Netzwerkrichtlinien, die auf das Konto angewendet werden, werden aber von einer Netzwerkrichtlinie, die auf einen Benutzer angewendet wird, überschrieben.
- Benutzer:
Netzwerkrichtlinien, die auf einen Benutzer angewendet werden, sind die spezifischsten Netzwerkrichtlinien. Sie überschreiben die Netzwerkrichtlinien von Konten und Sicherheitsintegrationen.
Umgehen einer Netzwerkrichtlinie¶
Sie können eine Netzwerkrichtlinie vorübergehend für eine festgelegte Anzahl von Minuten umgehen, indem Sie die Benutzerobjekteigenschaft MINS_TO_BYPASS_NETWORK_POLICY
konfigurieren, die durch Ausführen von DESCRIBE USER angezeigt werden kann. Nur Snowflake kann den Wert für diese Objekteigenschaft festlegen. Wenden Sie sich an den Snowflake-Support, um einen Wert für diese Eigenschaft festzulegen.
Allgemeine Informationen zu Netzwerkregeln¶
Während Einschränkungen für die bei Snowflake eingehenden Anforderungen letztendlich mittels einer Netzwerkrichtlinie auf ein Konto, einen Benutzer oder eine Sicherheitsintegration angewendet werden, kann der Administrator diese Einschränkungen mit Netzwerkregeln organisieren, bei denen es sich um Objekte auf Schemaebene handelt.
Jede Netzwerkregel fasst die IDs eines bestimmten Typs von Anforderungsursprung zusammen. Eine Netzwerkregel könnte beispielsweise alle IPv4-Adressen enthalten, denen der Zugriff auf Snowflake gestattet werden soll, während eine andere alle privaten Endpunkte zusammenfasst, die blockiert werden sollen.
Eine Netzwerkregel gibt jedoch nicht an, ob sie den Anforderungsursprung zulässt oder blockiert. Sie fasst einfach nur ähnliche Ursprünge zu einer logischen Einheit zusammen. Administratoren geben beim Erstellen oder Ändern einer Netzwerkrichtlinie an, ob diese Einheit zugelassen oder blockiert werden soll.
Wenn Sie die Strategien zur Verwendung von Netzwerkregeln mit Netzwerkrichtlinien bereits kennen, können Sie direkt mit Verwenden von Netzwerkregeln fortfahren.
Best Practices¶
Geltungsbereich einschränken. Netzwerkregeln dienen dazu, kleine Einheiten verwandter Netzwerk-IDs zusammenzufassen. Früher enthielten Netzwerkrichtlinien oft eine große, monolithische Liste von IP-Adressen, die zugelassen oder gesperrt werden sollen. Die Einführung von Netzwerkregeln ändert diese Strategie. Sie können nun beispielsweise die Netzwerk-IDs auf folgende Weise aufteilen:
Erstellen Sie eine Netzwerkregel, die Client-IP-Adressen für die Region Nordamerika enthält, und einer weitere Regel für die Region Europa und Naher Osten.
Erstellen Sie eine Netzwerkregel, deren Zweck es ist, den Zugriff für eine bestimmte Gruppe zu ermöglichen, z. B. für hoch privilegierte Benutzer und Benutzer von Dienstkonten. Diese Netzwerkregel kann zu einer Netzwerkrichtlinie hinzugefügt werden, die auf einzelne Benutzer angewendet wird.
Erstellen Sie eine Netzwerkregel, die auf eine oder mehrere Datenanwendungen beschränkt ist.
Mit der Einführung von Netzwerkregeln empfiehlt Snowflake, auch den Geltungsbereich von Netzwerkrichtlinien zu begrenzen. Wann immer möglich, sollten Sie eine Netzwerkrichtlinie auf eine Benutzergruppe oder eine Sicherheitsintegration beschränken und nicht auf ein ganzes Konto.
Kommentar hinzufügen. Wenn Sie eine Netzwerkregel erstellen, verwenden Sie die Eigenschaft
COMMENT
, um festzuhalten, was das Ziel dieser Regel ist. Kommentare sind wichtig, weil Snowflake eine große Anzahl kleiner, gezielter Regeln gegenüber weniger, monolithischer Regeln bevorzugt.Sie können den Befehl SHOW NETWORK RULES verwenden, um alle Netzwerkregeln einschließlich ihrer Kommentare aufzulisten.
Unterstützte Netzwerk-IDs¶
Jede Netzwerkregel enthält eine Liste von einer oder mehreren Netzwerk-IDs desselben Typs (z. B. eine Regel für IPv4-Adressen oder eine Regel für private Endpunkte).
Die Eigenschaft TYPE
einer Netzwerkregel identifiziert den Typ der Netzwerk-ID, den die Netzwerkregel enthält.
Eine vollständige Liste der Typen von Netzwerk-IDs, die mithilfe von Netzwerkregeln eingeschränkt werden können, finden Sie unter Unterstützte Netzwerk-IDs.
Schutz des Snowflake-Dienstes¶
In diesem Abschnitt wird beschrieben, wie Sie mithilfe von Netzwerkregeln den Zugriff auf den Snowflake-Dienst einschränken können. Weitere Informationen dazu, wie Sie den Zugriff sowohl auf den Dienst als auch auf den internen Stagingbereich eines Kontos auf AWS einschränken können, finden Sie unter Schutz der internen Stagingbereiche auf AWS.
Um den Zugriff auf den Snowflake-Dienst einzuschränken, setzen Sie die Eigenschaft MODE
der Netzwerkregel auf INGRESS
.
Mit der Eigenschaft TYPE
können Sie dann die IDs angeben, die zugelassen oder gesperrt werden sollen.
Schutz der internen Stagingbereiche auf AWS¶
In diesem Abschnitt wird erörtert, wie Netzwerkregeln verwendet werden können, um den Zugriff auf interne Stagingbereiche auf AWS einzuschränken, einschließlich der gleichzeitigen Einschränkung des Zugriffs auf den Snowflake-Dienst und den internen Stagingbereich. Der Abschnitt umfasst folgende Themen:
Voraussetzung: Einschränkungen für interne Stagingbereiche aktivieren
Strategien zum Schutz des Dienstes und des internen Stagingbereichs
Bemerkung
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 Zugriff auf einen internen Stagingbereich auf Azure blockieren, wenn Sie Azure Private Link verwenden. Weitere Details dazu finden Sie unter Blockieren des öffentlichen Zugriffs (optional).
Einschränkungen¶
Eine Netzwerkrichtlinie, die für eine Sicherheitsintegration aktiviert wird, schränkt nicht den Zugriff auf einen internen Stagingbereich ein.
Die Einschränkungen durch Netzwerkregeln gelten nicht für Anforderungen, die auf einen internen Stagingbereich zugreifen und dabei eine vorsignierte URL verwenden, die von der Funktion GET_PRESIGNED_URL generiert wurde.
Voraussetzung: Einschränkungen für interne Stagingbereiche aktivieren¶
Um den Zugriff auf den internen Stagingbereich eines Kontos mithilfe von Netzwerkregeln einzuschränken, muss der Kontoadministrator den Parameter ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES aktivieren. Netzwerkregeln schützen einen internen Stagingbereich erst dann, wenn dieser Parameter aktiviert ist, unabhängig vom Modus der Regel.
Damit Netzwerkregeln den Zugriff auf interne Stagingbereiche beschränken können, führen Sie Folgendes aus:
USE ROLE ACCOUNTADMIN;
ALTER ACCOUNT SET ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES = true;
Leitlinien für interne Stagingbereiche¶
Zusätzlich zu den Best Practices für Netzwerkregeln sollten Sie beim Erstellen von Netzwerkregeln zur Beschränkung des Zugriffs auf interne Stagingbereiche die folgenden Leitlinien berücksichtigen.
Anzahl der IDs begrenzen. Aufgrund der durch AWS S3-Sitzungsrichtlinien erzwungenen Einschränkungen muss Ihre Strategie zum Schutz eines internen Stagingbereichs die folgenden Limits einhalten:
Eine Netzwerkregel, die IPv4-Adressen enthält, kann nicht mehr als 15 IP-Adressbereiche pro Regel enthalten. Wenn Sie mehr als 15 Adressbereiche haben, erstellen Sie eine zusätzliche Netzwerkregel.
Wenn Sie Datenverkehr auf der Grundlage der VPCE-IDs von VPC-Endpunkten zulassen oder blockieren, gibt es eine kumulatives Limit von 10 VPCE-IDs pro Netzwerkrichtlinie. Wenn beispielsweise eine Netzwerkregel 5 VPCE-IDs und eine andere 6 VPCE-IDs enthält, können Sie nicht beide Regeln zur gleichen Netzwerkrichtlinie hinzufügen.
Wenn Sie beim Abrufen der eingeschränkten Anmeldeinformationen aus AWS STS auf
PolicySizeExceeded
-Ausnahmen stoßen, unterteilen Sie die Netzwerk-IDs in kleinere Netzwerkregeln.Dienst und internen Stagingbereich mit derselben Regel schützen. Wenn eine Regel IPv4-Adressen enthält und der Modus einer Netzwerkregel
INGRESS
ist, kann eine einzelne Regel sowohl den Snowflake-Dienst als auch den internen Stagingbereich des Kontos schützen. Snowflake empfiehlt die Verwendung einer einzelnen Regel, auch wenn die IP-Adressen, die auf den Dienst zugreifen, sich von den IP-Adressen, die auf den internen Stagingbereich zugreifen, unterscheiden. Dieser Ansatz verbessert die Organisation, die Verwaltbarkeit und das Auditing.Netzwerkrichtlinien testen. Snowflake empfiehlt, Netzwerkregeln mithilfe von Netzwerkrichtlinien auf Benutzerebene zu testen. Wenn Sie beim Abrufen der eingeschränkten Anmeldeinformationen aus AWS STS auf
PolicySizeExceeded
-Ausnahmen stoßen, unterteilen Sie die Netzwerk-IDs in kleinere Netzwerkregeln.
Strategie zum Schutz nur des internen Stagingbereichs¶
Um den Zugriff auf einen AWS-internen Stagingbereich zu beschränken, ohne den Zugriff des Netzwerkdatenverkehrs auf den Snowflake-Dienst zu beeinflussen, erstellen Sie eine Netzwerkregel mit den folgenden Einstellungen:
Setzen Sie den Parameter
MODE
aufINTERNAL_STAGE
.Setzen Sie den Parameter
TYPE
aufAWSVPCEID
.
Bemerkung
Sie können den Zugriff auf den internen Stagingbereich nicht auf der Grundlage der IP-Adresse der Anforderungen beschränken, ohne auch den Zugriff auf den Snowflake-Dienst zu beschränken.
Strategien zum Schutz des Dienstes und des internen Stagingbereichs¶
Bei der Beschränkung des Zugriffs sowohl auf den Snowflake-Dienst als auch auf den internen Stagingbereich hängt die Implementierungsstrategie davon ab, ob der Netzwerkdatenverkehr über das öffentliche Internet oder über AWS PrivateLink verläuft.
Im folgenden Vergleich bedeutet „Öffentlich“, dass der Datenverkehr zum Dienst oder zum internen Stagingbereich über das öffentliche Internet verläuft, während „Privat“ bedeutet, dass der Verkehr über AWS PrivateLink. Finden Sie die Kombination, die zu Ihrer Umgebung passt, und wählen Sie dann die entsprechende Implementierungsstrategie.
Dienstverbindung |
Verbindung des internen Stagingbereichs |
Implementierungsstrategie |
---|---|---|
Öffentlich |
Öffentlich |
Erstellen Sie eine einzelne Netzwerkregel mit |
Privat |
Privat |
Die Strategie hängt davon ab, ob Sie den Zugriff über private IP-Adressen oder über die VPCE-ID der VPC-Endpunkte beschränken möchten:
|
Öffentlich [1] |
Privat |
Die Strategie hängt davon ab, ob Sie den Zugriff auf den internen Stagingbereich über private IP-Adressen oder die VPCE-ID der VPC-Endpunkte beschränken möchten:
|
Privat |
Öffentlich [1] |
Sie müssen private IPs für den Dienst verwenden (nicht VPCE-IDs). Erstellen Sie eine einzelne Netzwerkregel mit |
Verwenden von Netzwerkregeln¶
Sie können Snowsight oder SQL verwenden, um den Lebenszyklus einer Netzwerkregel zu verwalten.
Netzwerkregel erstellen¶
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.
Der Modus einer Netzwerkregel, die von einer Netzwerkrichtlinie verwendet werden soll, muss INGRESS
oder INTERNAL STAGE
sein.
Um ein besseres Verständnis der bewährten Verfahren und Strategien zum Erstellen von Netzwerkregeln zu erlangen, lesen Sie den Abschnitt Allgemeine Informationen zu Netzwerkregeln.
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. Der Typ Host Port ist keine gültige Option für Netzwerkregeln, die mit Netzwerkrichtlinien verwendet werden.
Wählen Sie in der Dropdown-Liste Mode die Option Ingress oder Internal Stage aus. Der Modus Egress ist keine gültige Option für Netzwerkregeln, die mit Netzwerkrichtlinien verwendet werden.
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 VALUE_LIST = ('47.88.25.32/27');
Netzwerkregel ändern¶
Sie können die Netzwerk-IDs und den Kommentar einer vorhandenen Netzwerkregel ändern, nicht aber deren Typ, Modus, Name oder Schema.
Sie können Netzwerk-IDs und Kommentare über Snowsight oder mit SQL zu einer bestehenden Netzwerkregel hinzufügen oder aus der Netzwerkregel 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.
Netzwerkrichtlinien verwenden¶
Nachdem Sie die Netzwerk-IDs in Netzwerkregeln gruppiert haben, können Sie diese Netzwerkregeln zur Zulassungsliste und zur Sperrliste einer neuen oder bestehenden Netzwerkrichtlinie hinzufügen. Es gibt kein Limit für die Anzahl der Netzwerkregeln, die einer Netzwerkrichtlinie hinzugefügt werden können.
Allgemeine Informationen dazu, wie Netzwerkrichtlinien den eingehenden Zugriff auf den Snowflake-Dienst und den internen Stagingbereich steuern, finden Sie unter Allgemeine Informationen zu Netzwerkrichtlinien.
Netzwerkrichtlinie erstellen¶
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. Die Eigentümerschaft an einer Netzwerkrichtlinie kann auf eine andere Rolle übertragen werden.
Sie können eine Netzwerkrichtlinie über Snowsight oder mit SQL erstellen:
- Snowsight:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Policies aus.
Wählen Sie + Network Policy aus.
Geben Sie den Namen der Netzwerkrichtlinie ein.
Optional können Sie einen beschreibenden Kommentar eingeben.
Um eine Netzwerkregel zur Zulassungsliste hinzuzufügen, wählen Sie Allowed und dann Select rule aus. Sie können mehrere Netzwerkregeln zur Zulassungsliste hinzufügen, indem Sie Select rule erneut auswählen.
Um eine Netzwerkregel zur Sperrliste hinzuzufügen, wählen Sie Blocked und dann Select rule aus. Sie können mehrere Netzwerkregeln zur Sperrliste hinzufügen, indem Sie Select rule erneut auswählen.
Wählen Sie Create Network Policy aus.
- SQL:
Führen Sie eine CREATE NETWORK POLICY-Anweisung aus.
Netzwerkrichtlinien in Ihrem Konto identifizieren¶
Sie können die Netzwerkrichtlinien 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 Policies aus.
- SQL:
Rufen Sie die Information Schema-Tabellenfunktion POLICY_REFERENCES auf, oder fragen Sie die Account Usage-Ansicht POLICY_REFERENCES oder NETWORK_POLICIES ab.
Netzwerkrichtlinie ändern¶
Sie können über Snowsight oder mit SQL Netzwerkregeln zur Zulassungsliste oder zur Sperrliste einer bestehenden Netzwerkrichtlinie hinzufügen oder aus dieser entfernen. Wenn Sie eine Netzwerkrichtlinie bearbeiten, die anstelle einer Netzwerkregel die Parameter ALLOWED_IP_LIST und BLOCKED_IP_LIST verwendet, müssen Sie zum Ändern der Netzwerkrichtlinie SQL verwenden.
- Snowsight:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Policies aus.
Suchen Sie die Netzwerkrichtlinie, klicken Sie auf die Schaltfläche …, und wählen Sie Edit aus.
Um eine Netzwerkregel zur Zulassungsliste hinzuzufügen, wählen Sie Allowed und dann Select rule aus. Sie können mehrere Netzwerkregeln zur Zulassungsliste hinzufügen, indem Sie Select rule erneut auswählen.
Um eine Netzwerkregel zur Sperrliste hinzuzufügen, wählen Sie Blocked und dann Select rule aus. Sie können mehrere Netzwerkregeln zur Sperrliste hinzufügen, indem Sie Select rule erneut auswählen.
So entfernen Sie eine Netzwerkregel aus der Zulassungs- oder Sperrliste der Netzwerkrichtlinie:
Wählen Sie Allowed oder Blocked aus.
Suchen Sie die Netzwerkregel in der Liste, und wählen Sie X aus, um sie zu entfernen.
- SQL:
Verwenden Sie den Befehl ALTER NETWORK POLICY, um Netzwerkregeln zu einer bestehenden Netzwerkrichtlinie hinzuzufügen oder aus dieser zu entfernen.
Wenn Sie eine Netzwerkregel zur Zulassungs- oder Sperrliste hinzufügen, können Sie entweder alle bestehenden Netzwerkregeln in der Liste ersetzen oder die neue Regel hinzufügen, während die bestehende Liste beibehalten wird. Die folgenden Beispiele zeigen jede dieser Optionen:
Verwenden der SET-Klausel, um Netzwerkregeln in der Sperrliste durch eine neue Netzwerkregel namens
other_network
zu ersetzen:ALTER NETWORK POLICY my_policy SET BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Verwenden der ADD-Klausel, um eine einzelne Netzwerkregel zur Zulassungsliste einer bestehenden Netzwerkrichtlinie hinzuzufügen. Netzwerkregeln, die zuvor zur Zulassungsliste der Richtlinie hinzugefügt wurden, bleiben bestehen.
ALTER NETWORK POLICY my_policy ADD ALLOWED_NETWORK_RULE_LIST = ( 'new_rule' );
Sie können auch eine Netzwerkregel aus einer bestehenden Liste entfernen, ohne die gesamte Liste zu ersetzen. So können Sie beispielsweise eine Netzwerkregel aus der Sperrliste der Netzwerkrichtlinie entfernen:
ALTER NETWORK POLICY my_policy REMOVE BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Aktivieren einer Netzwerkrichtlinie¶
Eine Netzwerkregel beschränkt den eingehenden Netzwerkdatenverkehr erst dann, wenn sie für ein Konto, einen Benutzer oder eine Sicherheitsintegration aktiviert wurde. Anleitungen zum Aktivieren von Netzwerkrichtlinien auf den einzelnen Ebenen finden Sie unter:
Informationen zum Aktivieren mehrerer Netzwerkrichtlinien auf verschiedenen Ebenen (z. B. sowohl Netzwerkrichtlinien auf Konto- als auch auf Benutzerebene) finden Sie unter Rangfolge bei Netzwerkrichtlinien.
Netzwerkrichtlinie für Ihr Konto aktivieren¶
Durch das Aktivieren einer Netzwerkrichtlinie für ein Konto wird die Richtlinie für alle Benutzer des Kontos durchgesetzt.
Nur Sicherheitsadministratoren (d. h. Benutzer mit der Rolle SECURITYADMIN) oder höher oder eine Rolle mit globaler ATTACH POLICY-Berechtigung können eine Netzwerkrichtlinie für ein Konto aktivieren.
Sobald die Richtlinie mit Ihrem Konto verknüpft ist, schränkt Snowflake den Zugriff auf Ihr Konto auf Basis der Zulassungsliste und der Sperrliste ein. Jedem Benutzer, der versucht, sich von einer durch die Regeln eingeschränkten Netzwerkadresse aus anzumelden, wird der Zugriff verweigert. Wenn Ihrem Konto eine Netzwerkrichtlinie zugeordnet ist, werden außerdem alle eingeschränkten Benutzer, die bereits bei Snowflake angemeldet sind, daran gehindert, weitere Abfragen auszuführen.
Ein Sicherheitsadministrator (oder höher) kann mehrere Netzwerkrichtlinien erstellen, jedoch kann einem Konto immer nur eine Netzwerkrichtlinie zugeordnet sein. Wenn Sie Ihrem Konto eine Netzwerkrichtlinie zuordnen, wird die aktuell zugeordnete Netzwerkrichtlinie (falls vorhanden) automatisch entfernt.
Beachten Sie, dass Ihre aktuelle IP-Adresse oder die ID des privaten Endpunkts in der Zulassungsliste der Richtlinie enthalten sein muss. Andernfalls gibt Snowflake bei Aktivierung der Richtlinie einen Fehler zurück. Außerdem darf Ihre aktuelle Netzwerk-ID nicht in der Sperrliste enthalten sein.
Informationen dazu, wie Sie feststellen können, ob bereits eine Netzwerkrichtlinie auf Kontoebene vorhanden ist, bevor Sie eine neue aktivieren, finden Sie unter Identifizieren einer Netzwerkrichtlinie, die auf Konto- oder Benutzerebene aktiviert wurde.
Sie können eine Netzwerkrichtlinie für Ihr Konto über Snowsight oder mit SQL aktivieren:
- Snowsight:
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Policies aus.
Suchen Sie die Netzwerkrichtlinie, klicken Sie auf die Schaltfläche …, und wählen Sie Activate aus.
Wählen Sie Activate policy aus.
- SQL:
Führen Sie die Anweisung ALTER ACCOUNT aus, um den Parameter NETWORK_POLICY für das Konto zu setzen. Beispiel:
ALTER ACCOUNT SET NETWORK_POLICY = my_policy;
Netzwerkrichtlinien für einzelne Benutzer aktivieren¶
Um eine Netzwerkrichtlinie für einen bestimmten Benutzer in Ihrem Snowflake-Konto durchzusetzen, aktivieren Sie die Netzwerkrichtlinie für den Benutzer. Für jeden Benutzer kann immer nur eine einzige Netzwerkrichtlinie aktiviert sein. Die Möglichkeit, verschiedene Netzwerkrichtlinien für verschiedene Benutzer zu aktivieren, erlaubt eine präzisere Steuerung. Wenn Sie einem Benutzer eine Netzwerkrichtlinie zuordnen, wird die aktuell zugeordnete Netzwerkrichtlinie (falls vorhanden) automatisch entfernt.
Bemerkung
Nur die Rolle mit OWNERSHIP-Berechtigung für Benutzer- und Netzwerkrichtlinie oder eine höhere Rolle kann eine Netzwerkrichtlinie für einen einzelnen Benutzer aktivieren.
Sobald die Richtlinie dem Benutzer zugeordnet ist, beschränkt Snowflake den Zugriff des Benutzers auf Basis der Zulassungsliste und der Sperrliste. Wenn ein Benutzer mit aktivierter Netzwerkrichtlinie auf Benutzerebene versucht, sich von einem Netzwerkstandort aus anzumelden, der durch die Regeln eingeschränkt ist, wird dem Benutzer der Zugriff auf Snowflake verweigert.
Wenn dem Benutzer eine Netzwerkrichtlinie auf Benutzerebene zugeordnet ist und der Benutzer bereits bei Snowflake angemeldet ist, aber der Netzwerkstandort des Benutzers nicht den Regeln der Netzwerkrichtlinie auf Benutzerebene entspricht, verhindert Snowflake die Ausführung weiterer Abfragen durch den Benutzer.
Informationen dazu, wie Sie feststellen können, ob bereits eine Netzwerkrichtlinie auf Benutzerebene vorhanden ist, bevor Sie eine neue aktivieren, finden Sie unter Identifizieren einer Netzwerkrichtlinie, die auf Konto- oder Benutzerebene aktiviert wurde.
Um eine Netzwerkrichtlinie für einen einzelnen Benutzer zu aktivieren, führen Sie den Befehl ALTER USER aus, um den Parameter NETWORK_POLICY für den Benutzer zu setzen. Führen Sie beispielweise Folgendes aus:
ALTER USER joe SET NETWORK_POLICY = my_policy;
Netzwerkrichtlinien für Sicherheitsintegrationen aktivieren¶
Einige Sicherheitsintegrationen unterstützen das Aktivieren einer Netzwerkrichtlinie zur Steuerung des Netzwerkdatenverkehrs, der von dieser Integration geregelt wird. Diese Sicherheitsintegrationen haben einen Parameter NETWORK_POLICY, mit dem die Netzwerkrichtlinie für die Integration aktiviert werden kann. Derzeit unterstützen SCIM und Snowflake OAuth Netzwerkrichtlinien auf Integrationsebene.
Bemerkung
Eine Netzwerkrichtlinie, die für eine Sicherheitsintegration aktiviert wird, schränkt nicht den Zugriff auf einen internen Stagingbereich ein.
Sie könnten zum Beispiel eine Netzwerkrichtlinie aktivieren, wenn Sie eine neue Snowflake OAuth-Sicherheitsintegration erstellen. Die Netzwerkrichtlinie würde den Zugriff von Anforderungen einschränken, die sich zu authentifizieren versuchen.
CREATE SECURITY INTEGRATION oauth_kp_int TYPE = oauth ENABLED = true OAUTH_CLIENT = custom OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://example.com' NETWORK_POLICY = mypolicy;
Sie können die Anweisung ALTER SECURITY INTEGRATION … SET NETWORK_POLICY ausführen, um eine Netzwerkrichtlinie für eine bestehende Sicherheitsintegration zu aktivieren.
Identifizieren einer Netzwerkrichtlinie, die auf Konto- oder Benutzerebene aktiviert wurde¶
Sie können feststellen, welche Netzwerkrichtlinie auf Konto- oder Benutzerebene aktiviert ist.
- Konto:
Wählen Sie Admin » Security aus.
Wählen Sie die Registerkarte Network Policies aus.
Sortieren Sie die Spalte Status, um die aktive Netzwerkrichtlinie anzuzeigen. Dies ist die Richtlinie auf Kontoebene.
Alternativ können Sie auch Folgendes ausführen, um die Netzwerkrichtlinie auf Kontoebene anzuzeigen:
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
- Benutzer:
Um festzustellen, ob eine Netzwerkrichtlinie für Ihr Konto oder für einen bestimmten Benutzer festgelegt ist, führen Sie den Befehl SHOW PARAMETERS aus.
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Beispiel:
SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Verwenden der Replikation für Netzwerkrichtlinien und Netzwerkregeln¶
Snowflake unterstützt Replikation und Failover/Failback für Netzwerkrichtlinien und Netzwerkregeln, einschließlich der Zuweisung der Netzwerkrichtlinie.
Weitere Informationen dazu finden Sie unter Replikation von Sicherheitsintegrationen und Netzwerkrichtlinien über mehrere Konten hinweg.
Verwenden der klassischen Konsole¶
Bemerkung
Für die klassische Konsole werden keine neuen Features veröffentlicht. Snowflake empfiehlt für Netzwerkregeln in Verbindung mit Netzwerkrichtlinien die Verwendung von Snowsight oder SQL.
Erstellen einer Netzwerkrichtlinie über die klassische Konsole¶
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. Die Eigentümerschaft an einer Netzwerkrichtlinie kann auf eine andere Rolle übertragen werden.
Klicken Sie auf Account » Policies. Die Seite Policies wird angezeigt.
Klicken Sie auf die Schaltfläche Create. Das Dialogfenster Create Network Policy wird geöffnet.
Geben Sie im Feld Name einen Namen für die Netzwerkrichtlinie ein.
Geben Sie im Feld Allowed IP Addresses eine oder mehrere IPv4-Adressen getrennt durch Komma ein, die eine Zugriffsberechtigung auf dieses Snowflake-Konto haben.
Bemerkung
Um alle IP-Adressen, außer einen Satz spezifizierter Adressen zu blockieren, müssen Sie nur eine Liste zulässiger IP-Adressen definieren. Snowflake blockiert automatisch alle IP-Adressen, die nicht in der Zulassungsliste enthalten sind.
Geben Sie im Feld Blocked IP Addresses eine oder mehrere durch Kommas getrennte IPv4-Adressen ein, die keine Zugriffsberechtigung auf dieses Snowflake-Konto haben. Beachten Sie, dass dieses Feld nicht erforderlich ist und in erster Linie dazu verwendet wird, bestimmte Adressen eines Adressbereichs in der Liste zulässiger Adressen zu sperren.
Vorsicht
Wenn eine Netzwerkrichtlinie Werte sowohl in der Liste zulässiger als auch blockierter IP-Adressen enthält, wendet Snowflake zuerst die Liste der blockierten IP-Adressen an.
Fügen Sie
0.0.0.0/0
nicht zur Liste blockierter IP-Adressen hinzu.0.0.0.0/0
wird interpretiert als „alle IPv4-Adressen auf dem lokalen Computer“. Da Snowflake diese Liste zuerst auflöst, würde dies Ihren eigenen Zugriff blockieren. Beachten Sie auch, dass es nicht notwendig ist, diese IP-Adresse in die Liste zulässiger IP-Adressen aufzunehmen.
Geben Sie bei Bedarf weitere Informationen zu der Netzwerkrichtlinie ein, und klicken Sie auf Finish.
Ändern einer Netzwerkrichtlinie über die klassische Konsole¶
Wenn Sie eine Netzwerkrichtlinie über die klassische Konsole ändern möchten, gehen Sie wie folgt vor:
Klicken Sie auf eine Richtlinie, um sie auszuwählen, und füllen Sie den Bereich auf der rechten Seite aus.
Klicken Sie im rechten Fensterbereich auf die Schaltfläche Edit.
Ändern Sie die Felder nach Bedarf:
Um eine IP-Adresse aus der Liste der Allowed IP Addresses oder der Blocked IP Addresses zu entfernen, klicken Sie neben dem Eintrag auf das x.
Um eine IP-Adresse zu einer der beiden Listen hinzuzufügen, geben Sie eine oder mehrere durch Kommas getrennte IPv4-Adressen in das entsprechende Feld ein, und klicken Sie auf die Schaltfläche Add.
Klicken Sie auf Save.
Aktivieren einer Netzwerkrichtlinie über die klassische Konsole¶
Wenn Sie die klassische Konsole verwenden, können Sie eine Netzwerkrichtlinie für alle Benutzer in Ihrem Snowflake-Konto durchzusetzen, indem Sie die Netzwerkrichtlinie für Ihr Konto aktivieren.