Netzwerkrichtlinien

Netzwerkrichtlinien bieten Optionen zur Verwaltung von Netzwerkkonfigurationen für den Snowflake-Dienst.

Netzwerkrichtlinien erlauben die Beschränkung des Zugriffs auf Ihr Konto basierend auf der IP-Adresse des Benutzers. Eine Netzwerkrichtlinie ermöglich die Erstellung einer IP-Zulassungsliste und bei Bedarf auch einer IP-Sperrliste.

Bemerkung

Netzwerkregeln, die sich derzeit in der Vorschau befinden, können mit Netzwerkrichtlinien kombiniert werden, um den Netzwerkzugang zu beschränken. Netzwerkregel bieten die folgenden Vorteile:

  • Gruppiert Netzwerk-IDs in logische Einheiten, bevor eine Netzwerkrichtlinie verwendet wird, um diese IDs zu blockieren oder zu erlauben.

  • Kann Anforderungen beschränken, die von privaten Konnektivitätsendpunkten (AWS-VPC-Endpunkte und private Azure-Endpunkte) stammen.

  • Schränkt den Zugriff auf den Snowflake-Dienst und auf den internen Stagingbereich ein.

Snowflake empfiehlt nachdrücklich, dass alle neuen Netzwerkrichtlinien mithilfe von Netzwerkregeln implementiert werden sollten, um die zugelassenen oder blockierten IDs festzulegen.

Weitere Details dazu finden Sie unter Verwenden von Netzwerkregeln.

Unter diesem Thema:

Übersicht

Standardmäßig erlaubt Snowflake Benutzern, sich von jeder Computer- oder Geräte-IP-Adresse aus mit dem Service zu verbinden. Ein Sicherheitsadministrator (oder höher) kann eine Netzwerkrichtlinie erstellen, um den Zugriff auf eine einzelne IP-Adresse oder eine Liste von Adressen zu erlauben oder zu verweigern. Derzeit unterstützen Netzwerkrichtlinien nur IPv4-Adressen (Internet Protocol Version 4).

Ein Administrator mit den erforderlichen Berechtigungen kann eine beliebige Anzahl von Netzwerkrichtlinien erstellen. Eine Netzwerkrichtlinie wird erst aktiviert, wenn sie auf der Ebene des Kontos oder des einzelnen Benutzers aktiviert wird. Um eine Netzwerkrichtlinie zu aktivieren, ändern Sie die Konto- oder Benutzereigenschaften und wenden die Netzwerkrichtlinie auf dem Objekt an. Auf das Konto oder auf einen bestimmten Benutzer kann jeweils immer nur eine einzige Netzwerkrichtlinie angewendet werden.

Eine Netzwerkrichtlinie kann auch auf einige Typen von Sicherheitsintegrationen angewendet werden.

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.

CIDR-Notation

Snowflake unterstützt die Angabe von IP-Adressbereichen in CIDR-Notation (Classless Inter-Domain Routing). In CIDR-Notation wird das optionale Subnetz als Dezimalzahl ausgedrückt, welche die Präfixlänge darstellt:

ip_address[/prefix_length]

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

Beispiele für Listen von zulässigen/blockierten Adressen

Snowflake unterstützt keine Netzwerkrichtlinie, die Ihre aktuelle IP-Adresse blockiert. Wenn Sie versuchen, eine Netzwerkrichtlinie zu erstellen, die die aktuelle IP-Adresse blockiert, wird eine Fehlermeldung angezeigt.

Im Folgenden finden Sie repräsentative Beispiele für die Definition von zugelassenen und gesperrten IP-Adressbereichen unter Verwendung einer Snowflake-Netzwerkrichtlinie.

Lassen Sie alle IP-Adressen im Bereich 192.168.1.0 bis 192.168.1.255 zu, mit Ausnahme von 192.168.1.99, das explizit gesperrt ist. Zudem werden alle anderen IP-Adressen blockiert:

- Allowed IP Addresses: 192.168.1.0/24
- Blocked IP Addresses: 192.168.1.99
Copy

Lassen Sie für den Zugriff auf Ihr Konto nur den IP-Adressen 192.168.1.0 und 192.168.1.100 zu:

- Allowed IP Addresses: 192.168.1.0,192.168.1.100
- Blocked IP Addresses: N/A
Copy

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.

Erstellen von Netzwerkrichtlinien

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. Die Eigentümerschaft an einer Netzwerkrichtlinie kann auf eine andere Rolle übertragen werden.

Sie können eine Netzwerkrichtlinie über Snowsight, die klassische Weboberfläche oder mit SQL erstellen:

Snowsight
  1. Klicken Sie auf Admin » Security » Network Policies.

  2. Klicken Sie in der rechten oberen Ecke der Seite auf die Schaltfläche + Network Policy. Das Dialogfenster New network policy wird geöffnet.

  3. Geben Sie die folgenden Eigenschaften an:

    Eigenschaft

    Beschreibung

    Policy Name

    Bezeichner für die Netzwerkrichtlinie. Dieser muss für Ihr Konto eindeutig sein.

    Der Bezeichner muss mit einem alphabetischen Zeichen beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B. "My object").

    Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

    Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

    Allowed IP Addresses

    Durch Kommas getrennte Liste von IPv4-Adressen, denen der Zugriff auf Ihr Snowflake-Konto gestattet ist. Diese Liste wird als Zulassungsliste bezeichnet. Snowflake blockiert automatisch alle IP-Adressen, die nicht in der Zulassungsliste enthalten sind.

    Jede IP-Adresse kann mithilfe der CIDR-Notation (Classless Inter-Domain Routing) einen Bereich von Adressen abdecken.

    Weitere Informationen dazu finden Sie unter CIDR-Notation (unter diesem Thema).

    Beispiele dazu finden Sie unter Beispiele für Listen von zulässigen/blockierten Adressen (unter diesem Thema).

    Blocked IP Addresses

    Durch Kommas getrennte Liste von IPv4-Adressen, denen der Zugriff auf Ihr Snowflake-Konto verweigert wird. Diese Liste wird als Sperrliste bezeichnet.

    Legen Sie diesen Parameter nur fest, wenn Sie den Zugriff auf einen Bereich von IP-Adressen in Allowed IP Addresses erlauben, aber den Zugriff auf eine oder mehrere IP-Adressen innerhalb des Bereichs verweigern möchten.

    Jede IP-Adresse kann mithilfe der CIDR-Notation (Classless Inter-Domain Routing) einen Bereich von Adressen abdecken.

    Weitere Informationen dazu finden Sie unter CIDR-Notation (unter diesem Thema).

    Beispiele dazu finden Sie unter Beispiele für Listen von zulässigen/blockierten Adressen (unter diesem Thema).

    Kommentar

    Gibt einen Kommentar für die Netzwerkrichtlinie an.

  4. Klicken Sie auf die Schaltfläche Create network policy.

Classic Console
  1. Klicken Sie auf Account Account tab » Policies. Die Seite Policies wird angezeigt.

  2. Klicken Sie auf die Schaltfläche Create. Das Dialogfenster Create Network Policy wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die Netzwerkrichtlinie ein.

  4. 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.

  5. 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.

  6. Geben Sie bei Bedarf weitere Informationen zu der Netzwerkrichtlinie ein, und klicken Sie auf Finish.

SQL

Führen Sie eine CREATE NETWORK POLICY-Anweisung aus.

Anzeigen von Netzwerkrichtlinien

Informationen zu den Netzwerkrichtlinien können über Snowsight, die klassische Weboberfläche oder mit SQL angezeigt werden:

Bemerkung

Nur die Rolle mit OWNERSHIP-Berechtigung für die Netzwerkrichtlinie oder eine höhere Rolle kann Details zur Netzwerkrichtlinie anzeigen.

Snowsight

Select Admin » Security » Network Policies » <Richtlinienname>.

Classic Console

Klicken Sie auf Account Account tab » Policies » <Richtlinienname>.

SQL

Führen Sie eine der folgenden Anweisungen aus:

Aktivieren einer Netzwerkrichtlinie für Ihr Konto

Um eine Netzwerkrichtlinie für alle Benutzer in Ihrem Snowflake-Konto durchzusetzen, aktivieren Sie die Netzwerkrichtlinie für Ihr Konto.

Bemerkung

Wenn eine Netzwerkrichtlinie für einen einzelnen Benutzer aktiviert ist, hat die Netzwerkrichtlinie auf Benutzerebene Vorrang. Weitere Informationen zur Aktivierung von Netzwerkrichtlinien auf Benutzerebene finden Sie unter Aktivieren von Netzwerkrichtlinien für einzelne Benutzer (unter diesem Thema).

Bemerkung

Diese Aktion ist auf eine der folgenden Rollen beschränkt:

  • Sicherheitsadministratoren (d. h. Benutzer mit der Rolle SECURITYADMIN) oder eine höhere Rolle.

  • Eine Rolle, der die globale Berechtigung ATTACH POLICY erteilt wurde.

Sobald die Richtlinie mit Ihrem Konto verknüpft ist, beschränkt Snowflake den Zugriff auf Ihr Konto auf Basis der Liste zulässiger IP-Adressen und der Liste blockierter IP-Adressen. Jedem Benutzer, der versucht, sich von einer durch die Regeln eingeschränkten IP-Adresse 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 jeweils nur eine Netzwerkrichtlinie einem Konto zugeordnet werden. Wenn Sie Ihrem Konto eine Netzwerkrichtlinie zuordnen, wird die aktuell zugeordnete Netzwerkrichtlinie (falls vorhanden) automatisch entfernt.

Beachten Sie, dass Ihre aktuelle IP-Adresse in der Liste der erlaubten IP-Adressen in der Richtlinie enthalten sein muss. Andernfalls gibt Snowflake bei Aktivierung der Richtlinie einen Fehler zurück. Außerdem darf Ihre aktuelle IP-Adresse nicht in der Liste der blockierten IP-Adressen enthalten sein.

Sie können Ihrem Konto eine Netzwerkrichtlinie zuordnen, indem Sie entweder Snowsight, die klassische Weboberfläche oder SQLverwenden:

Snowsight
  1. Klicken Sie auf Admin » Security » Network Policies.

  2. Klicken Sie rechts neben dem Namen der Richtlinie, die aktiviert werden soll, auf die Schaltfläche Activate Policy.

Classic Console
  1. Klicken Sie auf Account Account tab » Policies.

  2. Klicken Sie auf eine Richtlinie, um sie auszuwählen, und füllen Sie den Bereich auf der rechten Seite aus.

  3. Klicken Sie im rechten Fensterbereich auf die Schaltfläche Activate.

SQL

Führen Sie eine ALTER ACCOUNT-Anweisung aus, die die Netzwerkrichtlinie mithilfe des Kontoparameters NETWORK_POLICY festlegt.

Aktivieren von Netzwerkrichtlinien für einzelne Benutzer

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 jeweils nur eine einzige Netzwerkrichtlinie aktiviert werden. Für eine präzisere Benutzersteuerung können jedoch verschiedene Netzwerkrichtlinien für verschiedene Benutzer aktiviert werden. 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 Liste zulässiger IP-Adressen und der Liste blockierter IP-Adressen. Wenn der Benutzer mit einer aktivierten Netzwerkrichtlinie auf Benutzerebene versucht, sich von einer durch die Regeln eingeschränkten IP-Adresse aus anzumelden, 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 die IP-Adresse des Benutzers nicht den Netzwerkrichtlinienregeln auf Benutzerebene entspricht, verhindert Snowflake die Ausführung weiterer Abfragen durch den Benutzer.

Um eine Netzwerkrichtlinie für einen einzelnen Benutzer zu aktivieren, legen Sie mit ALTER USER den Parameter NETWORK_POLICY für den Benutzer fest.

Ändern von Netzwerkrichtlinien

Netzwerkrichtlinien können über Snowsight, die klassische Weboberfläche oder mit SQL geändert werden, insbesondere um der Liste der zulässigen und blockierten IP-Adressen weitere Adressen hinzuzufügen oder Adressen daraus zu entfernen.

Beschreibungen zu den Eigenschaften von Netzwerkrichtlinien finden Sie unter Erstellen von Netzwerkrichtlinien (unter diesem Thema).

Snowsight
  1. Klicken Sie auf Admin » Security » Network Policies.

  2. Klicken Sie in der Zeile einer Netzwerkrichtlinie unter Edit Policy auf die Aktionsschaltfläche (). Das Dialogfenster Edit Policy wird geöffnet.

  3. Bearbeiten Sie die gewünschten Eigenschaften.

  4. Klicken Sie auf die Schaltfläche Save changes.

Classic Console
  1. Klicken Sie auf Account Account tab » Policies.

  2. Klicken Sie auf eine Richtlinie, um sie auszuwählen, und füllen Sie den Bereich auf der rechten Seite aus.

  3. Klicken Sie im rechten Fensterbereich auf die Schaltfläche Edit.

  4. Ä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.

  5. Klicken Sie auf Save.

SQL

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

Identifizieren einer Netzwerkrichtlinie, die auf Konto- oder Benutzerebene aktiviert wurde

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.

Konto
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
Copy
Benutzer
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Copy

Beispiel:

SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Copy

Verwenden der Replikation für Netzwerkrichtlinien

Snowflake unterstützt Replikation und Failover/Failback für Netzwerkrichtlinien und deren Zuweisungen von einem Quellkonto in ein Zielkonto.

Weitere Informationen dazu finden Sie unter Replikation von Sicherheitsintegrationen und Netzwerkrichtlinien über mehrere Konten hinweg.

Verwenden von Netzwerkregeln

Während Einschränkungen für die bei Snowflake eingehenden Anforderungen letztendlich auf ein Konto oder einen Benutzer mit einer Netzwerkrichtlinie 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.

Der allgemeine Workflow ist wie folgt:

  1. Erstellen Sie eine Netzwerkregel für einen bestimmten Typ von Netzwerk-ID und einen bestimmten Zweck.

  2. Fügen Sie diese Netzwerkregel zur Liste der Zulassungsregeln oder zur Liste der Blockierregeln einer Netzwerkrichtlinie hinzu.

  3. Wenden Sie die Netzwerkrichtlinie auf ein Konto, einen Benutzer oder eine Sicherheitsintegration an.

Änderungen an der Funktionalität für Netzwerkrichtlinien

Durch die Einführung von Netzwerkregeln ändert sich die Art und Weise, wie Administratoren Netzwerkrichtlinien zur Steuerung des Netzwerkdatenverkehrs verwenden, unter anderem wie folgt:

  • Wenn eine Netzwerkrichtlinie Netzwerkregeln verwendet, darf die Richtlinie die Parameter ALLOWED_IP_LIST und BLOCKED_IP_LIST nicht zur Angabe einzelner IP-Adressen verwenden. Verwenden Sie zum Beschränken des Zugriffs nicht beide Möglichkeiten.

  • Administratoren können weder Snowsight noch die klassische Weboberfläche verwenden, um Netzwerkregeln zu erstellen oder Netzwerkregeln zu einer Netzwerkrichtlinie hinzuzufügen.

  • Netzwerkregeln können nicht repliziert werden. Dies hat keine Auswirkungen auf die derzeitige Möglichkeit, Netzwerkrichtlinien ohne Netzwerkregeln zu replizieren.

Einschränkungen

In dieser Vorschau gelten die Einschränkungen der Netzwerkregeln nicht für Anforderungen, die auf einen internen Stagingbereich zugreifen und dabei eine vorangestellte URL verwenden, die von der Funktion GET_PRESIGNED_URL generiert wurde.

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 des Bezeichners, den die Netzwerkregel enthält, und die Eigenschaft VALUE_LIST spezifiziert diese Bezeichner.

Eine vollständige Liste der Typen von Bezeichnern, die mithilfe von Netzwerkregeln eingeschränkt werden können, finden Sie unter Unterstützte Netzwerk-IDs.

Wenn Sie eine Netzwerkregel zur Zulassungsliste einer Netzwerkrichtlinie hinzufügen, müssen Sie andere IDs desselben Typs nicht explizit 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. Die VPC-Endpunkte haben jedoch weiterhin Zugriff, sofern keine zusätzlichen Netzwerkregeln verwendet 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.

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');
Copy

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:

Derzeit können Sie eine Netzwerkrichtlinie, die einer Sicherheitsintegration zugewiesen ist, nicht verwenden, um den Zugriff auf einen internen Stagingbereich einzuschränken.

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).

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.

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;
Copy

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 auf INTERNAL_STAGE.

  • Setzen Sie den Parameter TYPE auf AWSVPCEID.

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 TYPE=IPV4 und MODE=INGRESS. Schließen Sie alle IP-Adressen ein, die auf den Dienst und den internen Stagingbereich zugreifen.

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:

  • (Empfohlen) Wenn Sie VPCE-IDs verwenden, müssen Sie zwei Netzwerkregeln erstellen, auch wenn derselbe VPC-Endpunkt sowohl mit dem Dienst als auch mit dem internen Stagingbereich verbunden ist.

    • Erstellen Sie für den Dienst eine Netzwerkregel mit TYPE=AWSVPCEID und MODE=INGRESS.

    • Für den internen Stagingbereich erstellen Sie eine Netzwerkregel mit TYPE=AWSVPCEID und MODE=INTERNAL_STAGE.

  • Wenn Sie private IP-Adressen verwenden, erstellen Sie eine Netzwerkregel mit TYPE=IPV4 und MODE=INGRESS. Schließen Sie alle privaten IP-Adressen ein, die auf den Dienst und die interne Stagingbereich zugreifen.

Ö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:

  • (Empfohlen) Wenn Sie VPCE-IDs verwenden, erstellen Sie zwei Netzwerkregeln, eine für den Dienst und eine für den internen Stagingbereich.

    • Erstellen Sie für den Dienst eine Netzwerkregel mit TYPE=IPV4 und MODE=INGRESS.

    • Für den internen Stagingbereich erstellen Sie eine Netzwerkregel mit TYPE=AWSVPCEID und MODE=INTERNAL_STAGE.

  • Wenn Sie private IP-Adressen verwenden, erstellen Sie eine einzelne Netzwerkregel mit TYPE=IPV4 und MODE=INGRESS. Schließen Sie alle IP-Adressen ein, die auf den Dienst und den internen Stagingbereich zugreifen.

Privat

Öffentlich 1

Sie müssen private IPs für den Dienst verwenden (nicht VPCE-IDs). Erstellen Sie eine einzelne Netzwerkregel mit TYPE=IPV4 und MODE=INGRESS. Schließen Sie alle IP-Adressen ein, die auf den Dienst und den internen Stagingbereich zugreifen.

1(1,2)

Wenn Sie private Konnektivität entweder für den Dienst oder den internen Stagingbereich implementiert haben, empfiehlt Snowflake, sie für beide zu implementieren.

Erstellen einer Netzwerkregel

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.

Beim Erstellen einer Netzwerkregel wird nicht festgelegt, ob diese die Netzwerk-ID zulässt oder blockiert. Administratoren geben diese Berechtigungen an, wenn sie die Netzwerkregel zu einer Netzwerkrichtlinie hinzufügen.

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');
Copy

Die Eigentümerschaft an einer Netzwerkregel kann auf eine andere Rolle übertragen werden.

Hinzufügen von Netzwerkregeln zu einer Netzwerkrichtlinie

Netzwerkregeln organisieren Netzwerk-IDs und legen fest, was eingeschränkt wird, aber sie erzwingen die Einschränkungen nicht. Vielmehr werden die Netzwerkregeln zu Netzwerkrichtlinien hinzugefügt, die dann auf ein Konto oder einen Benutzer angewendet werden, um den Zugriff zu steuern.

Ein Administrator legt fest, ob die Netzwerk-IDs einer Netzwerkregel zugelassen oder blockiert werden sollen, indem die Regel dem entsprechenden Parameter einer Netzwerkrichtlinie hinzugefügt wird. Wenn Sie einen Namen für die Netzwerkregel unter Berücksichtigung der Groß-/Kleinschreibung erstellt haben, müssen Sie ihn in Anführungszeichen setzen, wenn Sie ihn einer Netzwerkrichtlinie zuweisen.

Der Parameter ALLOWED_NETWORK_RULE_LIST einer Netzwerkrichtlinie definiert eine Liste von Netzwerkregeln, die zugelassene Netzwerk-IDs enthalten. Sobald Sie diesem Parameter mindestens eine Netzwerkregel hinzugefügt haben, müssen Sie andere IDs desselben Typs nicht mehr explizit sperren, 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. Die VPC-Endpunkte haben jedoch weiterhin Zugriff, sofern keine zusätzlichen Netzwerkregeln verwendet werden.

Wenn Sie Netzwerk-IDs explizit mit einer Netzwerkregel blockieren möchten, fügen Sie die Regel dem Parameter BLOCKED_NETWORK_RULE_LIST der Netzwerkrichtlinie hinzu.

Nachdem Sie eine Netzwerkregel zu einer Netzwerkrichtlinie hinzugefügt haben, können Sie zum Testen den Befehl DESCRIBE NETWORK POLICY ausführen.

Nachdem die Netzwerkregeln zu einem der Parameter der Netzwerkrichtlinie hinzugefügt wurden, können Sie die Richtlinie mit einem Konto oder einem Benutzer verknüpfen, damit die Einschränkungen wirksam werden.

Beispiele

Erstellen Sie zwei Netzwerkregeln corp_network und cloud_network, und erstellen Sie dann eine Netzwerkrichtlinie, die die Netzwerk-IDs in diesen Regeln zulässt:

CREATE NETWORK RULE corp_network TYPE = AWSVPCEID VALUE_LIST = ('vpce-123abc3420c1931');
CREATE NETWORK RULE cloud_network TYPE = IPV4 VALUE_LIST = ('47.88.25.32/27');

CREATE NETWORK POLICY account_policy ALLOWED_NETWORK_RULE_LIST = ( 'corp_network', 'cloud_network' );
Copy

Ändern Sie eine Netzwerkrichtlinie, indem Sie zuvor blockierte Netzwerkregeln durch eine neue Netzwerkregel namens other_network ersetzen:

ALTER NETWORK POLICY my_policy SET BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Copy

Hinzufügen einer einzelnen Netzwerkregel zur Zulassungsliste einer bestehenden Netzwerkrichtlinie. Netzwerkregeln, die zuvor zur Zulassungsliste der Richtlinie hinzugefügt wurden, bleiben bestehen.

ALTER NETWORK POLICY my_policy ADD ALLOWED_NETWORK_RULE_LIST = ( 'new_rule' );
Copy

Entfernen Sie eine Netzwerkregel aus der Sperrliste der Netzwerkrichtlinie:

ALTER NETWORK POLICY my_policy REMOVE BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Copy