Politiques réseau

Les politiques réseau fournissent des options pour gérer les configurations réseau du service Snowflake.

Les politiques réseau permettent de restreindre l’accès à votre compte en fonction de l’adresse IP de l’utilisateur. Une politique réseau permet de créer une liste autorisée d’adresses IP ainsi qu’une liste bloquée d’adresses IP si nécessaire.

Note

Les règles de réseau, qui sont actuellement disponibles en avant-première, peuvent être combinées avec des politiques réseau pour restreindre l’accès au réseau. Les règles de réseau présentent les avantages suivants :

  • Regroupe les identifiants réseau en unités logiques avant d’utiliser une politique réseau pour bloquer ou autoriser ces identificateurs.

  • Peut restreindre les demandes provenant de points de terminaison de connectivité privés (points de terminaison AWS VPC et points de terminaison privés Azure).

  • Restreint l’accès au service Snowflake et aux zones de préparation internes.

Snowflake recommande fortement que toutes les nouvelles politiques réseau soient mises en œuvre en utilisant des règles de réseau pour spécifier les identificateurs autorisés ou bloqués.

Pour plus de détails, voir Utilisation des règles de réseau.

Dans ce chapitre :

Vue d’ensemble

Par défaut, Snowflake permet aux utilisateurs de se connecter au service à partir de n’importe quelle adresse IP d’ordinateur ou d’appareil. Un administrateur de sécurité (ou une personne de niveau supérieur) peut créer une politique réseau pour autoriser ou refuser l’accès à une seule adresse IP ou à une liste d’adresses. Les politiques réseau ne prennent actuellement en charge que les adresses Internet Protocol version 4 (c’est-à-dire IPv4).

Un administrateur disposant des autorisations suffisantes peut créer un nombre illimité de politiques réseau. Une politique réseau n’est pas active tant qu’elle n’est pas activée au niveau du compte ou de l’utilisateur individuel. Pour activer une politique réseau, modifiez les propriétés du compte ou de l’utilisateur et appliquez la politique réseau à l’objet. Une seule politique réseau peut être appliquée au compte ou à un utilisateur spécifique à la fois.

Une politique réseau peut également être appliquée à certains types d’intégrations de sécurité.

Priorité de la politique réseau

Une politique réseau peut être appliquée à un compte, à une intégration de sécurité ou à un utilisateur. Si des politiques réseau sont appliquées à plusieurs de ces éléments, la politique réseau la plus spécifique prévaut sur les politiques réseau plus générales. Le tableau suivant résume l’ordre de priorité :

Compte

Les politiques réseau appliquées à un compte sont les politiques réseau les plus générales. Elles sont supplantées par les politiques réseau appliquées à une intégration de sécurité ou à un utilisateur.

Intégration de sécurité

Les politiques réseau appliquées à une intégration de sécurité sont prioritaires sur les politiques réseau appliquées au compte, mais ne sont pas prises en compte par une politique réseau appliquée à un utilisateur.

Utilisateur

Les politiques réseau appliquées à un utilisateur sont les politiques réseau les plus spécifiques. Ils remplacent à la fois les comptes et les intégrations de sécurité.

Notation CIDR

Snowflake prend en charge la spécification de plages d’adresses IP en utilisant la notation Classless Inter-Domain Routing (i.e. CIDR). Dans la notation CIDR, le sous-réseau optionnel est exprimé par un nombre décimal qui représente la longueur du préfixe :

ip_address[/prefix_length]

Par exemple, 192.168.1.0/24 représente toutes les adresses IP dans la plage de 192.168.1.0 à 192.168.1.255.

Exemples de listes d’adresses autorisées et d’adresses bloquées

Snowflake ne permet pas de définir une politique réseau qui bloque votre adresse IP actuelle. Un message d’erreur apparaît lorsque l’on tente de créer une politique réseau qui bloque l’adresse IP actuelle.

Voici des exemples représentatifs pour définir les plages d’adresses IP autorisées et bloquées en utilisant une politique réseau Snowflake.

Autoriser toutes les adresses IP comprises entre 192.168.1.0 et 192.168.1.255, sauf 192.168.1.99, qui est explicitement bloquée. De plus, toutes les autres adresses IP sont bloquées :

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

Autoriser seulement les adresses IP 192.168.1.0 et 192.168.1.100 à accéder à votre compte :

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

Contournement d’une politique réseau

Il est possible de contourner temporairement une politique réseau pendant un nombre défini de minutes en configurant la propriété d’objet utilisateur MINS_TO_BYPASS_NETWORK_POLICY, qui peut être affichée en exécutant DESCRIBE USER. Seul Snowflake peut définir la valeur de cette propriété d’objet. Veuillez contacter le support Snowflake pour définir une valeur pour cette propriété.

Création de politiques réseau

Note

Seuls les administrateurs de sécurité (c’est-à-dire, les utilisateurs ayant le rôle SECURITYADMIN) ou ayant un rôle supérieur ou un rôle avec le privilège CREATE NETWORK POLICY peuvent créer des stratégies réseau. La propriété d’une politique réseau peut être transférée à un autre rôle.

Vous pouvez créer une politique réseau en utilisant Snowsight, l”Classic Console, ou SQL :

Snowsight
  1. Cliquez sur Admin » Security » Network Policies.

  2. Cliquez sur le bouton + Network Policy dans le coin supérieur droit de la page. La boîte de dialogue New network policy s’ouvre.

  3. Spécifiez les propriétés suivantes :

    Propriété

    Description

    Nom de la politique

    Identificateur de la politique réseau ; doit être unique pour votre compte.

    L’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex. "My object").

    Les identificateurs entre guillemets doubles sont également sensibles à la casse.

    Pour plus de détails, voir Exigences relatives à l’identificateur.

    Adresses IP autorisées

    Liste d’une ou plusieurs adresses IPv4 séparées par des virgules et autorisées à accéder à votre compte Snowflake. C’est ce qu’on appelle la liste autorisée. Snowflake bloque automatiquement toutes les adresses IP non incluses dans la liste autorisée.

    Chaque adresse IP peut couvrir une plage d’adresses en utilisant la notation CIDR (Classless Inter-Domain Routing).

    Pour plus d’informations, voir Notation CIDR (dans cette rubrique).

    Pour des exemples, voir Exemples de listes d’adresses autorisées et d’adresses bloquées (dans cette rubrique).

    Adresses IP bloquées

    Liste d’une ou plusieurs adresses IPv4 séparées par des virgules et interdites d’accéder à votre compte Snowflake. C’est ce qu’on appelle la liste bloquée.

    Définissez ce paramètre uniquement lorsque vous autorisez l’accès à une plage d’adresses IP spécifiées dans la liste Allowed IP Addresses et que vous souhaitez refuser l’accès à une ou plusieurs adresses IP de la plage.

    Chaque adresse IP peut couvrir une plage d’adresses en utilisant la notation CIDR (Classless Inter-Domain Routing).

    Pour plus d’informations, voir Notation CIDR (dans cette rubrique).

    Pour des exemples, voir Exemples de listes d’adresses autorisées et d’adresses bloquées (dans cette rubrique).

    Commentaire

    Spécifie un commentaire pour la politique réseau.

  4. Cliquez sur le bouton Create network policy.

Classic Console
  1. Cliquez sur Account Account tab » Policies. La page Policies apparaît.

  2. Cliquez sur le bouton Create. La boîte de dialogue Create Network Policy apparaît.

  3. Dans le champ Name, saisissez un nom pour la politique réseau.

  4. Dans le champ Allowed IP Addresses, saisissez une ou plusieurs adresses IPv4 séparées par des virgules qui sont autorisées à accéder à ce compte Snowflake.

    Note

    Pour bloquer toutes les adresses IP, à l’exception d’un ensemble d’adresses spécifiques, il suffit de définir une liste d’adresses IP autorisées. Snowflake bloque automatiquement toutes les adresses IP non incluses dans la liste autorisée.

  5. Dans le champ Blocked IP Addresses, saisissez éventuellement une ou plusieurs adresses IPv4 auxquelles l’accès à ce compte Snowflake est refusé, séparées par des virgules. Notez que ce champ n’est pas obligatoire et est utilisé principalement pour refuser des adresses spécifiques dans une plage d’adresses de la liste autorisée.

    Prudence

    • Lorsqu’une politique réseau inclut des valeurs dans les listes d’adresses IP autorisées et bloquées, Snowflake applique d’abord la liste d’adresses :emph:`` IP bloquées.

    • N’ajoutez pas 0.0.0.0/0 à la liste d’adresses IP bloquées. 0.0.0.0/0 est interprété comme étant « toutes les adresses IPv4 sur la machine locale ». Étant donné que Snowflake résout cette liste en premier, cela bloquerait votre propre accès. Notez également qu’il n’est pas nécessaire d’inclure cette adresse IP dans liste d’adresses IP autorisées.

  6. Saisissez d’autres informations pour la politique réseau, si nécessaire, et cliquez sur Finish.

SQL

Exécuter une instruction CREATE NETWORK POLICY.

Affichage des politiques réseau

Visualisez les informations relatives aux politiques réseau par le biais de Snowsight, l”Classic Console, ou en utilisant SQL :

Note

Seul le rôle ayant le privilège OWNERSHIP sur la politique réseau (ou un rôle supérieur) peut voir les détails de la politique réseau.

Snowsight

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

Classic Console

Cliquez sur Account Account tab » Policies » <nom_politique>.

SQL

Exécutez l’une des instructions suivantes :

Activation d’une politique réseau pour votre compte

Pour appliquer une politique réseau à tous les utilisateurs de votre compte Snowflake, activez la politique réseau pour votre compte.

Note

Si une politique réseau est activée pour un utilisateur individuel, la politique réseau au niveau de l’utilisateur est prioritaire. Pour plus d’informations sur l’activation des politiques réseau au niveau de l’utilisateur, voir Activation des politiques réseau pour des utilisateurs individuels (dans cette rubrique).

Note

Cette action est limitée à l’un ou l’autre des rôles suivants :

  • Les administrateurs de sécurité (c’est-à-dire les utilisateurs avec le rôle SECURITYADMIN) ou un rôle supérieur.

  • Un rôle qui a reçu le privilège global ATTACH POLICY.

Une fois que la politique est associée à votre compte, Snowflake restreint l’accès à votre compte en fonction de la liste d’adresses IP autorisées et de la liste d’adresses IP bloquées. Tout utilisateur qui tente de se connecter à partir d’une adresse IP restreinte par les règles se voit refuser l’accès. De plus, lorsqu’une politique réseau est associée à votre compte, les utilisateurs restreints qui sont déjà connectés à Snowflake ne peuvent pas exécuter de requêtes supplémentaires.

Un administrateur de sécurité (ou une personne de niveau supérieur) peut créer plusieurs politiques réseau. Toutefois, une seule politique réseau peut être associée à un compte à un moment donné. L’association d’une politique réseau à votre compte supprime automatiquement la politique réseau actuellement associée (le cas échéant).

Notez que votre adresse IP actuelle doit être incluse dans la liste des adresses IP autorisées dans la politique. Sinon, lorsque vous activez la politique, Snowflake renvoie une erreur. De plus, votre adresse IP actuelle ne peut pas être incluse dans la liste des adresses IP bloquées.

Vous pouvez associer une politique réseau à votre compte en utilisant Snowsight, l”Classic Console, ou SQL :

Snowsight
  1. Cliquez sur Admin » Security » Network Policies.

  2. Cliquez sur le bouton Activate Policy à droite du nom de la politique que vous activez.

Classic Console
  1. Cliquez sur Account Account tab » Policies.

  2. Cliquez sur une politique pour la sélectionner et remplissez le panneau latéral de droite.

  3. Cliquez sur le bouton Activate dans le panneau de droite.

SQL

Exécutez une instruction ALTER ACCOUNT activant la politique réseau à l’aide du paramètre de compte NETWORK_POLICY.

Activation de politiques réseau pour des utilisateurs individuels

Pour appliquer une politique réseau à un utilisateur spécifique de votre compte Snowflake, activez la politique réseau pour cet utilisateur. Une seule politique réseau peut être activée pour chaque utilisateur à la fois ; cependant, différentes politiques réseau peuvent être activées pour différents utilisateurs pour un contrôle granulaire. L’association d’une politique réseau à un utilisateur supprime automatiquement la politique réseau actuellement associée (le cas échéant).

Note

Seul le rôle ayant le privilège OWNERSHIP sur l’utilisateur et sur la politique réseau (ou un rôle supérieur) peut activer une politique réseau pour un utilisateur individuel.

Une fois que la politique est associée à l’utilisateur, Snowflake restreint l’accès à l’utilisateur en fonction de la liste d’adresses IP autorisées et de la liste d’adresses IP bloquées. Si l’utilisateur avec une politique réseau au niveau utilisateur activée tente de se connecter à partir d’une adresse IP limitée par des règles, l’utilisateur se voit refuser l’accès à Snowflake.

De plus, lorsqu’une politique réseau au niveau utilisateur est associée à l’utilisateur et que l’utilisateur est déjà connecté à Snowflake, si l’adresse IP de l’utilisateur ne correspond pas aux règles de la politique réseau au niveau utilisateur, Snowflake empêche l’utilisateur d’exécuter d’autres requêtes.

Pour activer une politique réseau pour un seul utilisateur, définissez le paramètre NETWORK_POLICY pour l’utilisateur à l’aide de ALTER USER.

Modification des politiques réseau

Les politiques réseau peuvent être modifiées via Snowsight, l”Classic Console, ou en utilisant SQL, spécifiquement pour ajouter ou supprimer des adresses IP de la liste des adresses autorisées et bloquées.

Pour obtenir une description des propriétés des politiques réseau, voir Création de politiques réseau (dans ce chapitre).

Snowsight
  1. Cliquez sur Admin » Security » Network Policies.

  2. Cliquez sur le bouton d’actions () dans la ligne correspondant à un politique réseau » Edit Policy. La boîte de dialogue Edit Policy s’ouvre.

  3. Modifiez l’une des propriétés.

  4. Cliquez sur le bouton Save changes.

Classic Console
  1. Cliquez sur Account Account tab » Policies.

  2. Cliquez sur une politique pour la sélectionner et remplissez le panneau latéral de droite.

  3. Cliquez sur le bouton Edit dans le panneau de droite.

  4. Modifiez les champs si nécessaire :

    • Pour supprimer une adresse IP de la liste Allowed IP Addresses ou Blocked IP Addresses, cliquez sur x à côté de l’entrée.

    • Pour ajouter une adresse IP à l’une ou l’autre liste, saisissez une ou plusieurs adresses IPv4 séparées par des virgules dans le champ approprié, puis cliquez sur le bouton Add.

  5. Cliquez sur Save.

SQL

Exécutez une instruction ALTER NETWORK POLICY.

Identification d’une politique réseau activée au niveau du compte ou de l’utilisateur

Pour déterminer si une politique réseau est définie sur votre compte ou pour un utilisateur spécifique, exécutez la commande SHOW PARAMETERS.

Compte
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
Copy
Utilisateur
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Copy

Par exemple :

SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Copy

Utilisation de la réplication avec les politiques réseau

Snowflake prend en charge la réplication et le basculement/la restauration des politiques de réseau et de leurs affectations d’un compte source à un compte cible.

Pour plus de détails, reportez-vous à Réplication des intégrations de sécurité et des politiques réseau sur plusieurs comptes.

Utilisation des règles de réseau

Alors que les restrictions sur les requêtes entrantes vers Snowflake sont finalement appliquées à un compte ou à un utilisateur avec une politique réseau, l’administrateur peut organiser ces restrictions en utilisant des règles de réseau, qui sont des objets au niveau du schéma.

Chaque règle de réseau regroupe les identificateurs d’un type particulier d’origine de la demande. Par exemple, une règle de réseau peut inclure toutes les adresses IPv4 qui devraient être autorisées à accéder à Snowflake, tandis qu’une autre regroupe tous les points de terminaison privés qui devraient être bloqués.

Toutefois, une règle de réseau ne précise pas si elle autorise ou bloque l’origine d’une requête. Il s’agit simplement d’organiser les origines connexes en une unité logique. Les administrateurs précisent si cette unité doit être autorisée ou bloquée lorsqu’ils créent ou modifient une politique réseau.

Le workflow général est le suivant :

  1. Créez une règle de réseau pour un type particulier d’identificateur de réseau et d’objectif.

  2. Ajoutez cette règle de réseau à la liste des règles autorisées ou à la liste des règles bloquées d’une politique réseau.

  3. Appliquez la politique réseau à un compte, un utilisateur ou une intégration de sécurité.

Modifications de la fonctionnalité de politique réseau

L’introduction de règles de réseau modifie la façon dont les administrateurs utilisent les politiques réseau pour contrôler le trafic réseau, notamment :

  • Lorsqu’une politique réseau utilise des règles de réseau, elle ne doit pas utiliser les paramètres ALLOWED_IP_LIST et BLOCKED_IP_LIST pour spécifier des adresses IP individuelles. N’utilisez pas les deux méthodes pour restreindre l’accès.

  • Les administrateurs ne peuvent pas utiliser Snowsight ou Classic Console pour créer des règles de réseau ou ajouter des règles de réseau à une politique réseau.

  • Les règles de réseau ne peuvent pas être répliquées. Cela n’affecte pas la capacité actuelle à répliquer les politiques réseau sans règles réseau.

Limites

Dans cet aperçu, les restrictions des règles réseau ne s’appliquent pas aux demandes accédant à une zone de préparation interne à l’aide d’une URL présignée générée par la fonction GET_PRESIGNED_URL.

Meilleures pratiques

  • Limitez la portée. Les règles de réseau sont conçues pour regrouper de petites unités d’identificateurs de réseau apparentés. Auparavant, les politiques réseau contenaient souvent une liste importante et monolithique d’adresses IP qui devaient être autorisées ou bloquées. L’introduction de règles de réseau modifie cette stratégie. Par exemple, vous pouvez diviser les identificateurs de réseau de la manière suivante :

    • Création d’une règle de réseau contenant les adresses IP des clients pour la région Amérique du Nord, et d’une règle différente pour la région Europe et Moyen-Orient.

    • Création d’une règle de réseau dont l’objectif est d’autoriser l’accès d’une population spéciale, telle que les utilisateurs à hauts privilèges et les utilisateurs de comptes de service. Cette règle de réseau peut être ajoutée à une politique réseau appliquée à des utilisateurs individuels.

    • Création d’une règle de réseau limitée à une ou plusieurs applications de données.

    Avec l’introduction des règles de réseau, Snowflake recommande de limiter également la portée des politiques réseau. Dans la mesure du possible, limitez le champ d’application d’une politique réseau à un groupe d’utilisateurs ou à une intégration de sécurité plutôt qu’à un compte entier.

  • Ajoutez des commentaires. Lors de la création d’une règle de réseau, utilisez la propriété COMMENT pour garder une trace de ce que la règle est censée faire. Les commentaires sont importants, car Snowflake recommande un grand nombre de petites règles ciblées plutôt qu’un petit nombre de règles monolithiques.

    Vous pouvez utiliser la commande SHOW NETWORK RULES pour dresser la liste de toutes les règles de réseau, y compris leurs commentaires.

Identificateurs pris en charge

Chaque règle de réseau contient une liste d’un ou plusieurs identificateurs de réseau du même type (par exemple, une règle d’adresse IPv4 ou une règle de point de terminaison privé).

La propriété TYPE d’une règle de réseau identifie le type d’identificateurs que la règle de réseau contient, et la propriété VALUE_LIST spécifie ces identificateurs.

Pour une liste complète des types d’identificateurs qui peuvent être restreints par des règles de réseau, consultez Identificateurs de réseau pris en charge.

Lorsque vous ajoutez une règle réseau à la liste d’autorisation d’une politique réseau, vous n’êtes pas obligé de bloquer explicitement les autres identificateurs du même type ; seuls les identificateurs autorisés y ont accès. Toutefois, les identificateurs d’un autre type ne sont pas automatiquement bloqués. Par exemple, si vous ajoutez une règle de réseau IPV4 avec une seule adresse IP à la liste autorisée, toutes les autres adresses IPv4 sont bloquées. Cependant, les points de terminaison VPC ont toujours un accès, à moins que des règles de réseau supplémentaires ne soient utilisées.

À titre d’exemple, une règle réseau qui utilise des identificateurs de point de terminaison privés tels que des LinkIDs Azure ou des IDs AWS VPCE pour restreindre l’accès n’a aucun effet sur les requêtes provenant du réseau public. Si vous souhaitez restreindre l’accès en fonction d’identificateurs de points de terminaison privés, puis bloquer complètement les requêtes provenant d’adresses IPv4 publiques, vous devez créer deux règles réseau distinctes.

Les règles réseau suivantes peuvent être combinées dans une politique réseau pour autoriser un ID VPCE tout en bloquant le trafic du réseau public.

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

Protection du service Snowflake

Cette section explique comment utiliser les règles de réseau pour restreindre l’accès au service Snowflake uniquement. Si vous souhaitez restreindre l’accès au service et à la zone de préparation interne d’un compte sur AWS, consultez Protection des zones de préparation internes sur AWS.

Pour restreindre l’accès au service Snowflake, définissez la propriété MODE de la règle de réseau sur INGRESS.

Vous pouvez ensuite utiliser la propriété TYPE pour spécifier les identificateurs qui doivent être autorisés ou bloqués.

Protection des zones de préparation internes sur AWS

Cette section explique comment utiliser les règles de réseau pour restreindre l’accès aux zones de préparation internes sur AWS, y compris comment restreindre simultanément l’accès au service Snowflake et à la zone de préparation interne. Cela comprend :

Actuellement, il n’est pas possible d’utiliser une politique réseau affectée à une intégration de sécurité pour restreindre l’accès à une zone de préparation interne.

Note

Vous ne pouvez pas utiliser une règle de réseau pour restreindre l’accès à une zone de préparation interne sur Microsoft Azure. Toutefois, vous pouvez bloquer tout accès public à une zone de préparation interne sur Azure si vous utilisez Azure Private Link. Pour plus de détails, voir Blocage de l’accès public (facultatif).

Lignes directrices pour les zones de préparation internes

En plus des meilleures pratiques pour les règles de réseau, vous devez respecter les lignes directrices suivantes lorsque vous créez des règles de réseau pour restreindre l’accès à des zones de préparation internes.

  • Limitez le nombre d’identificateurs. En raison des restrictions imposées par les politiques de session AWS S3, votre stratégie de protection d’une zone de préparation interne doit respecter les limites suivantes :

    • Une règle de réseau qui contient des adresses IPv4 ne peut pas contenir plus de 15 IP plages d’adresses par règle. Si vous avez plus de 15 plages d’adresses, créez une règle de réseau supplémentaire.

    • Lorsque vous autorisez ou bloquez le trafic sur la base des IDs VPCE des points de terminaison VPC, il y a une limite cumulative de 10 IDs VPCE par politique réseau. Par exemple, si une règle de réseau contient 5 IDs VPCE et une autre 6 IDs VPCE, vous ne pouvez pas ajouter les deux règles à la même politique réseau.

    Si vous rencontrez des exceptions PolicySizeExceeded lorsque vous récupérez les identifiants de connexion délimités de AWS STS, décomposez les identificateurs de réseau en règles de réseau plus petites.

  • Utilisez la même règle pour protéger le service et la zone de préparation interne. Lorsqu’une règle contient des adresses IPv4 et que le mode d’une règle de réseau est INGRESS, une seule règle peut protéger à la fois le service Snowflake et la zone de préparation interne du compte. Snowflake recommande d’utiliser une règle unique même si les adresses IP accédant au service sont différentes des adresses IP accédant à la zone de préparation interne. Cette approche améliore l’organisation, la gestion et l’audit.

  • Testez les politiques réseau. Snowflake recommande de tester les règles de réseau en utilisant des politiques réseau au niveau de l’utilisateur. Si vous rencontrez des exceptions PolicySizeExceeded lorsque vous récupérez les identifiants de connexion délimités de AWS STS, décomposez les identificateurs de réseau en règles de réseau plus petites.

Activation des restrictions de zones de préparation internes

Pour utiliser les règles de réseau afin de restreindre l’accès à la zone de préparation interne d’un compte, l’administrateur du compte doit activer le paramètre ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES. Les règles de réseau ne protègent pas une zone de préparation interne tant que ce paramètre n’est pas activé, quel que soit le mode de la règle.

Pour permettre aux règles de réseau de restreindre l’accès aux zones de préparation internes, exécutez :

USE ROLE ACCOUNTADMIN;
ALTER ACCOUNT SET ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES = true;
Copy

Stratégie de protection de la zone de préparation interne uniquement

Pour restreindre l’accès à une zone de préparation interne AWS sans affecter la façon dont le trafic réseau accède au service Snowflake, créez une règle de réseau avec les paramètres suivants :

  • Définissez le paramètre MODE sur INTERNAL_STAGE.

  • Définissez le paramètre TYPE sur AWSVPCEID.

Note

Vous ne pouvez pas restreindre l’accès à la zone de préparation interne en fonction de l’adresse IP de la requête sans restreindre également l’accès au service Snowflake.

Stratégies de protection du service et de la zone de préparation interne

Lorsque l’on restreint l’accès au service Snowflake et à la zone de préparation interne, la stratégie de mise en œuvre varie selon que le trafic réseau traverse l’Internet public ou AWS Private Link.

Dans la comparaison suivante, « Public » indique que le trafic vers le service ou la zone de préparation interne traverse l’Internet public tandis que « Privé » indique que le trafic utilise AWS Private Link. Trouvez la combinaison qui correspond à votre environnement, puis choisissez la stratégie de mise en œuvre en conséquence.

Connexion au service

Connexion à la zone de préparation interne

Stratégie d’implémentation

Public

Public

Créez une règle de réseau unique avec TYPE=IPV4 et MODE=INGRESS. Inclure toutes les adresses IP qui accèdent au service et à la zone de préparation interne.

Privé

Privé

La stratégie dépend de la volonté de restreindre l’accès en utilisant les adresses IP privées ou les ID VPCE des points de terminaison VPC :

  • (Recommandé) Si vous utilisez des IDs VPCE , vous devez créer deux règles de réseau, même si le même point de terminaison VPC se connecte à la fois au service et à la zone de préparation interne.

    • Pour le service, créez une règle de réseau avec TYPE=AWSVPCEID et MODE=INGRESS.

    • Pour la zone de préparation interne, créez une règle de réseau avec TYPE=AWSVPCEID et MODE=INTERNAL_STAGE.

  • Si vous utilisez des adresses IP privées, créez une règle de réseau avec TYPE=IPV4 et MODE=INGRESS. Incluez toutes les adresses IP privées qui accèdent au service et à la zone de préparation interne.

Public 1

Privé

La stratégie dépend de la volonté de restreindre l’accès à la zone de préparation interne en utilisant des adresses IP privées ou des ID VPCE des points de terminaison VPC :

  • (Recommandé) Si vous utilisez des IDs VPCE, créez deux règles de réseau, une pour le service et une pour la zone de préparation interne.

    • Pour le service, créez une règle de réseau avec TYPE=IPV4 et MODE=INGRESS.

    • Pour la zone de préparation interne, créez une règle de réseau avec TYPE=AWSVPCEID et MODE=INTERNAL_STAGE.

  • Si vous utilisez des adresses IP privées, créez une seule règle de réseau unique avec TYPE=IPV4 et MODE=INGRESS. Inclure toutes les adresses IP qui accèdent au service et à la zone de préparation interne.

Privé

Public 1

Vous devez utiliser des IPs privées pour le service (vous ne pouvez pas utiliser d’IDs VPCE). Créez une règle de réseau unique avec TYPE=IPV4 et MODE=INGRESS. Inclure toutes les adresses IP qui accèdent au service et à la zone de préparation interne.

1(1,2)

Si vous avez mis en place une connectivité privée pour le service ou la zone de préparation interne, Snowflake recommande de la mettre en œuvre pour les deux.

Création d’une règle de réseau

Un administrateur peut exécuter la commande CREATE NETWORK RULE pour créer une nouvelle règle de réseau, en spécifiant une liste d’identificateurs de réseau ainsi que le type de ces identifiants.

La création d’une règle de réseau ne définit pas si elle autorise ou bloque les identificateurs de réseau. Les administrateurs spécifient ces autorisations lorsqu’ils ajoutent la règle de réseau à une politique réseau.

Par exemple, pour utiliser un rôle personnalisé afin de créer une règle de réseau qui peut être utilisée pour autoriser ou bloquer le trafic provenant d’une série d’adresses IP :

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

Une fois créée, la propriété d’une règle de réseau peut être transférée à un autre rôle.

Ajout de règles de réseau à une politique réseau

Les règles de réseau organisent les identificateurs de réseau et définissent ce qui est restreint, mais elles n’appliquent pas les restrictions. Les règles de réseau sont plutôt ajoutées aux politiques réseau, qui sont ensuite appliquées à un compte ou à un utilisateur pour en contrôler l’accès.

Un administrateur spécifie si les identificateurs de réseau d’une règle de réseau doivent être autorisés ou bloqués en ajoutant la règle au paramètre approprié d’une politique réseau. Si vous avez créé un nom sensible à la casse pour la règle de réseau, vous devez utiliser des guillemets doubles lorsque vous l’affectez à une politique réseau.

Le paramètre ALLOWED_NETWORK_RULE_LIST d’une politique réseau définit une liste de règles de réseau qui contiennent des identificateurs de réseau autorisés. Une fois que vous avez ajouté au moins une règle de réseau à ce paramètre, vous ne devez pas bloquer explicitement d’autres identificateurs du même type ; seuls les identificateurs autorisés y ont accès. Toutefois, les identificateurs d’un autre type ne sont pas automatiquement bloqués. Par exemple, si vous ajoutez une règle de réseau IPV4 avec une seule adresse IP à la liste autorisée, toutes les autres adresses IPv4 sont bloquées. Cependant, les points de terminaison VPC ont toujours un accès, à moins que des règles de réseau supplémentaires ne soient utilisées.

Si vous souhaitez bloquer explicitement les identificateurs de réseau à l’aide d’une règle de réseau, ajoutez cette règle au paramètre BLOCKED_NETWORK_RULE_LIST de la politique réseau.

Une fois que vous avez ajouté une règle de réseau à une politique réseau, vous pouvez exécuter la commande DESCRIBE NETWORK POLICY pour la vérifier.

Une fois que les règles de réseau ont été ajoutées à l’un des paramètres de la politique réseau, vous pouvez associer la politique à un compte ou à un utilisateur pour appliquer les restrictions.

Exemples

Créez deux règles de réseau corp_network et cloud_network, puis créez une politique réseau qui autorise les identificateurs de réseau dans ces règles :

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

Modifiez une politique réseau, en remplaçant les règles de réseau précédemment bloquées par une nouvelle règle de réseau nommée other_network :

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

Ajoutez une seule règle de réseau à la liste des règles autorisées d’une politique réseau existante. Les règles de réseau précédemment ajoutées à la liste autorisée de la politique restent en vigueur.

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

Supprimer une règle réseau de la liste des règles bloquées d’une politique réseau :

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