Contrôle du trafic réseau avec des politiques réseau¶
L’utilisation de SQL pour appliquer des politiques réseau et des règles réseau est généralement disponible.
Note
Les politiques réseau qui existaient avant le lancement des règles réseau ne peuvent plus être modifiées dans Snowsight. À la place, utilisez la commande ALTER NETWORK POLICY.
Vous pouvez utiliser des politiques réseau pour contrôler l’accès entrant au service et à la zone de préparation interne Snowflake.
Si vous souhaitez contrôler le trafic sortant de Snowflake vers une destination réseau externe, voir Vue d’ensemble de l’accès au réseau externe.
À propos des politiques réseau¶
Par défaut, Snowflake permet aux utilisateurs de se connecter au service et à la zone de préparation interne à partir de n’importe quel ordinateur ou appareil. Un administrateur de sécurité (ou une personne de niveau supérieur) peut utiliser une politique réseau pour autoriser ou refuser l’accès à une seule requête en fonction de son origine. La liste d’autorisations de la politique réseau détermine les requêtes autorisées à accéder au service ou à la zone de préparation interne Snowflake, tandis que la liste de blocages détermine les requêtes qui doivent être explicitement bloquées.
Une politique réseau ne spécifie pas directement les identificateurs réseau dans sa liste d’autorisations ou sa liste de blocages. En revanche, une politique réseau ajoute des règles réseau à ses listes d’autorisations et de blocages. Ces règles réseau regroupent les identificateurs associés en unités logiques qui sont ajoutées à la liste d’autorisations et à la liste de blocages d’une politique réseau.
Important
Les politiques réseau qui existaient avant le lancement des règles réseau fonctionnent toujours. Cependant, toutes les nouvelles politiques réseau doivent utiliser des règles réseau et non les paramètres ALLOWED_IP_LIST et BLOCKED_IP_LIST pour contrôler l’accès provenant des adresses IP. La meilleure pratique consiste à éviter d’utiliser les deux méthodes pour restreindre l’accès dans la même politique réseau.
Workflow¶
Le flux de travail général pour l’utilisation de politiques réseau pour contrôler le trafic réseau entrant est le suivant :
Créez des règles réseau en fonction de leur objectif et du type d’identificateur réseau.
Créez une ou plusieurs politiques réseau comprenant des règles réseau qui contiennent les identificateurs à autoriser ou à bloquer.
Activez la politique réseau pour un compte, un utilisateur ou une intégration de sécurité. Une politique réseau ne restreint pas le trafic réseau tant qu’elle n’est pas activée.
Interaction entre les listes d’autorisations et les listes de blocages¶
Lorsque vous ajoutez une règle réseau à la liste d’autorisations d’une politique réseau, vous n’êtes pas obligé d’utiliser la liste de blocages pour bloquer explicitement les autres identificateurs du même type ; seuls les identificateurs autorisés ont un droit d’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. Il n’est pas nécessaire d’utiliser la liste de blocages pour restreindre l’accès provenant d’autres adresses IP. Cependant, les points de terminaison VPC continuent à avoir un accès, à moins que des règles réseau supplémentaires ne soient ajoutées à la politique réseau.
À 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, une pour la liste d’autorisations et un autre pour la liste de blocages.
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');
Plages d’IP¶
Si vous souhaitez autoriser une plage d’adresses IP à l’exception d’une seule adresse IP, vous pouvez créer deux règles réseau, l’une pour la liste d’autorisations et une autre pour la liste de blocages.
L’exemple suivant autoriserait les requêtes provenant de toutes les adresses IP comprises entre 192.168.1.0
et 192.168.1.255
, à l’exception de 192.168.1.99
. Les adresses IP situées en dehors de la plage sont également bloquées.
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');
Priorité de la politique réseau¶
Vous pouvez appliquer une politique réseau à 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é.
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é.
À propos des règles réseau¶
Alors que les restrictions sur les requêtes entrantes vers Snowflake sont finalement appliquées à un compte, à un utilisateur ou à une intégration de sécurité avec une politique réseau, l’administrateur peut organiser ces restrictions à l’aide de règles 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.
Si vous comprenez déjà les stratégies d’utilisation de règles réseau avec des politiques réseau, voir Utilisation des règles de réseau.
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 réseau identifie le type d’identificateurs que contient la règle réseau.
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.
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 :
Condition préalable : Activation des restrictions des zones de préparation internes
Stratégie de protection de la zone de préparation interne uniquement
Stratégies de protection du service et de la 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).
Limitations¶
Une politique réseau activée pour une intégration de sécurité ne restreint pas l’accès à une zone de préparation interne.
Les restrictions des règles réseau ne s’appliquent pas aux requêtes 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.
Condition préalable : Activation des restrictions des 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;
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.
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
surINTERNAL_STAGE
.Définissez le paramètre
TYPE
surAWSVPCEID
.
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 |
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 :
|
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 :
|
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 |
Utilisation des règles de réseau¶
Vous pouvez utiliser Snowsight ou SQL pour gérer le cycle de vie d’une règle réseau.
Création d’une règle réseau¶
Vous devez disposer du privilège CREATE NETWORK RULE sur le schéma pour pouvoir créer une règle réseau. Par défaut, seuls les rôles ACCOUNTADMIN et SECURITYADMIN, ainsi que le propriétaire du schéma, ont ce privilège.
Le mode d’une règle réseau qui sera utilisée par une politique réseau doit être INGRESS
ou INTERNAL STAGE
.
Pour mieux comprendre les meilleures pratiques et stratégies de création de règles réseau, voir À propos des règles réseau.
Vous pouvez créer une règle réseau à l’aide de Snowsight ou en exécutant une commande SQL :
- Snowsight:
Connectez-vous à Snowsight.
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Rules.
Sélectionnez + Network Rule.
Saisissez le nom de la règle réseau.
Sélectionnez le schéma de la règle réseau. Les règles réseau sont des objets au niveau du schéma.
Il est possible d’ajouter un commentaire descriptif pour la règle réseau afin de faciliter l’organisation et la gestion des règles réseau dans le schéma.
Dans le menu déroulant Type, sélectionnez le type d’identificateur défini dans la règle réseau. Le type Host Port n’est pas une option valide pour les règles réseau utilisées avec des politiques réseau.
Dans la liste déroulante Mode, sélectionnez Ingress ou Internal Stage. Le mode Egress n’est pas une option valide pour les règles réseau utilisées avec des politiques réseau.
Saisissez une liste d’identificateurs séparés par des virgules qui seront autorisés ou bloqués lorsque la règle réseau est ajoutée à une politique réseau. Les identificateurs de cette liste doivent tous être du type spécifié dans la liste déroulante Type.
Sélectionnez Create Network Policy.
- SQL:
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.
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');
Modification d’une règle réseau¶
Vous pouvez modifier les identificateurs et le commentaire d’une règle réseau existante, mais vous ne pouvez pas modifier son type, son mode, son nom ou son schéma.
Vous pouvez ajouter ou supprimer des identificateurs et des commentaires d’une règle réseau existante via Snowsight ou SQL.
- Snowsight:
Connectez-vous à Snowsight.
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Rules.
Recherchez la règle réseau, sélectionnez le bouton …, puis Edit.
Modifiez la liste d’identificateurs délimitée par des virgules ou le commentaire.
Sélectionnez Update Network Rule.
- SQL:
Exécutez une instruction ALTER NETWORK RULE.
Utilisation de politiques réseau¶
Une fois que vous avez regroupé les identificateurs réseau dans des règles réseau, vous êtes prêt à ajouter ces règles réseau à la liste d’autorisations et à la liste de blocages d’une nouvelle politique réseau ou d’une politique réseau existante. Il n’existe pas de limite quant au nombre de règles réseau pouvant être ajoutées à une politique réseau.
Pour des informations générales sur la manière dont les politiques réseau contrôlent l’accès entrant au service et à la zone de préparation interne Snowflake, voir À propos des politiques réseau.
Créer une politique réseau¶
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 via Snowsight ou SQL :
- Snowsight:
Connectez-vous à Snowsight.
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Policies.
Sélectionnez + Network Policy.
Saisissez le nom de la politique réseau.
Il est possible de saisir un commentaire descriptif.
Pour ajouter une règle réseau à la liste d’autorisations, sélectionnez Allowed, puis Select rule. Vous pouvez ajouter plusieurs règles réseau à la liste d’autorisations en sélectionnant de nouveau Select rule.
Pour ajouter une règle réseau à la liste de blocages, sélectionnez Blocked, puis Select rule. Vous pouvez ajouter plusieurs règles réseau à la liste de blocages en sélectionnant de nouveau Select rule.
Sélectionnez Create Network Policy.
- SQL:
Exécuter une instruction CREATE NETWORK POLICY.
Identification des politiques réseau dans votre compte¶
Vous pouvez identifier les politiques réseau de votre compte via Snowsight ou SQL.
- Snowsight:
Connectez-vous à Snowsight.
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Policies.
- SQL:
Appelez la fonction de table Information Schema POLICY_REFERENCES ou interrogez la vue Account Usage POLICY_REFERENCES ou NETWORK_POLICIES.
Modifier une politique réseau¶
Vous pouvez ajouter ou supprimer des règles réseau dans la liste d’autorisations et dans la liste de blocages d’une politique réseau existante à l’aide de Snowsight ou de SQL. Si vous modifiez une politique réseau qui utilise les paramètres ALLOWED_IP_LIST et BLOCKED_IP_LIST au lieu d’une règle réseau, vous devez utiliser SQL pour modifier la politique réseau.
- Snowsight:
Connectez-vous à Snowsight.
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Policies.
Recherchez la politique réseau, sélectionnez le bouton …, puis Edit.
Pour ajouter une règle réseau à la liste d’autorisations, sélectionnez Allowed, puis Select rule. Vous pouvez ajouter plusieurs règles réseau à la liste d’autorisations en sélectionnant de nouveau Select rule.
Pour ajouter une règle réseau à la liste de blocages, sélectionnez Blocked, puis Select rule. Vous pouvez ajouter plusieurs règles réseau à la liste de blocages en sélectionnant de nouveau Select rule.
Pour supprimer une règle réseau de la liste d’autorisations ou de la liste de blocages de la politique réseau :
Sélectionnez Allowed ou Blocked.
Recherchez la règle réseau dans la liste et sélectionnez X pour la supprimer.
- SQL:
Utilisez la commande ALTER NETWORK POLICY pour ajouter ou supprimer des règles réseau dans une politique réseau existante.
Lors de l’ajout d’une règle réseau à la liste d’autorisations ou à la liste de blocages, vous pouvez soit remplacer toutes les règles réseau existantes de la liste, soit ajouter la nouvelle règle tout en conservant la liste existante. Les exemples suivants illustrent chacune de ces options :
Utilisez la clause SET pour remplacer les règles réseau de la liste de blocages par une nouvelle règle réseau nommée
other_network
:ALTER NETWORK POLICY my_policy SET BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Utilisez la clause ADD pour ajouter une seule règle réseau à la liste d’autorisations 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' );
Vous pouvez également supprimer une règle réseau d’une liste existante sans remplacer la liste toute entière. Par exemple, pour supprimer une règle réseau de la liste de blocages d’une politique réseau :
ALTER NETWORK POLICY my_policy REMOVE BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Activation d’une politique réseau¶
Une règle réseau ne restreint pas le trafic réseau entrant tant qu’elle n’a pas été activée pour un compte, un utilisateur ou une intégration de sécurité. Pour savoir comment procéder à l’activation à chaque niveau, voir :
Activation de politiques réseau pour des utilisateurs individuels
Activation de politiques réseau pour les intégrations de sécurité
Si vous activez plusieurs politiques réseau à différents niveaux (par exemple, des politiques réseau au niveau du compte et au niveau de l’utilisateur), voir Priorité de la politique réseau.
Activation d’une politique réseau pour votre compte¶
L’activation d’une politique réseau pour un compte entraîne l’application de la politique pour tous les utilisateurs du compte.
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 ATTACH POLICY global peuvent activer une politique réseau pour un compte.
Une fois que la politique est associée à votre compte, Snowflake restreint l’accès à votre compte en fonction de la liste d’autorisations et de la liste de blocages. Tout utilisateur qui tente de se connecter à partir d’une origine réseau 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.
Vous pouvez 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 ou votre identificateur de point de terminaison actuel doit être inclus(e) dans la liste d’autorisations de la politique. Sinon, lorsque vous activez la politique, Snowflake renvoie une erreur. De plus, votre identificateur actuel ne peut pas être inclus dans la liste de blocages.
Si vous souhaitez déterminer s’il existe déjà une politique réseau au niveau du compte avant d’en activer une nouvelle, voir Identification d’une politique réseau activée au niveau du compte ou de l’utilisateur.
Vous pouvez activer une politique réseau pour votre compte via Snowsight ou SQL :
- Snowsight:
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Policies.
Recherchez la politique réseau, sélectionnez le bouton …, puis Activate.
Sélectionnez Activate policy.
- SQL:
Exécutez l’instruction ALTER ACCOUNT pour définir le paramètre NETWORK_POLICY pour le compte. Par exemple :
ALTER ACCOUNT SET NETWORK_POLICY = my_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 à la fois pour chaque utilisateur. La possibilité d’activer différentes politiques réseau pour différents utilisateurs permet 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’autorisations et de la liste de blocages. Si l’utilisateur avec une politique réseau au niveau de l’utilisateur activée tente de se connecter à partir d’un emplacement réseau restreint par les règles, l’utilisateur se voit refuser l’accès à Snowflake.
De plus, lorsqu’une politique réseau au niveau de l’utilisateur est associée à l’utilisateur et que l’utilisateur est déjà connecté à Snowflake, si l’emplacement réseau de l’utilisateur ne correspond pas aux règles de la politique réseau au niveau de l’utilisateur, Snowflake empêche l’utilisateur d’exécuter d’autres requêtes.
Si vous souhaitez déterminer s’il existe déjà une politique réseau au niveau de l’utilisateur avant d’en activer une nouvelle, voir Identification d’une politique réseau activée au niveau du compte ou de l’utilisateur.
Pour activer une politique réseau pour un seul utilisateur, exécutez la commande ALTER USER pour définir le paramètre NETWORK_POLICY pour l’utilisateur. Par exemple, exécutez :
ALTER USER joe SET NETWORK_POLICY = my_policy;
Activation de politiques réseau pour les intégrations de sécurité¶
Certaines intégrations de sécurité prennent en charge l’activation d’une politique réseau pour contrôler le trafic réseau régi par cette intégration. Ces intégrations de sécurité ont un paramètre NETWORK_POLICY qui active la politique réseau pour l’intégration. Actuellement, SCIM et Snowflake OAuth prennent en charge les politiques réseau au niveau de l’intégration.
Note
Une politique réseau activée pour une intégration de sécurité ne restreint pas l’accès à une zone de préparation interne.
Par exemple, vous pouvez activer une politique réseau lors de la création d’une nouvelle intégration de sécurité OAuth Snowflake. La politique réseau restreint alors l’accès aux requêtes qui tentent de s’authentifier.
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;
Vous pouvez exécuter l’instruction ALTER SECURITY INTEGRATION … SET NETWORK_POLICY pour activer une politique réseau pour une intégration de sécurité existante.
Identification d’une politique réseau activée au niveau du compte ou de l’utilisateur¶
Vous pouvez déterminer quelle politique réseau est activée au niveau du compte ou de l’utilisateur.
- Compte:
Sélectionnez Admin » Security.
Sélectionnez l’onglet Network Policies.
Triez la colonne Status pour afficher la politique réseau active. Il s’agit de la politique au niveau du compte.
Vous pouvez également exécuter la commande suivante pour répertorier la politique réseau au niveau du compte :
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
- Utilisateur:
Pour déterminer si une politique réseau est définie pour un utilisateur spécifique, exécutez la commande SHOW PARAMETERS.
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Par exemple :
SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Utilisation de la réplication avec les politiques réseau et les règles réseau¶
Snowflake prend en charge la réplication et le basculement/la restauration pour les politiques réseau et les règles réseau, y compris l’affectation de la politique réseau.
Pour plus de détails, reportez-vous à Réplication des intégrations de sécurité et des politiques réseau sur plusieurs comptes.
Utilisation de l”Classic Console¶
Note
Les nouvelles fonctionnalités ne sont pas disponibles pour Classic Console. Snowflake recommande d’utiliser Snowsight ou SQL afin de pouvoir appliquer des règles réseau en conjonction avec des politiques réseau.
Création d’une politique réseau via Classic Console¶
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.
Cliquez sur le bouton Create. La boîte de dialogue Create Network Policy apparaît.
Dans le champ Name, saisissez un nom pour la politique réseau.
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.
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.
Saisissez d’autres informations pour la politique réseau, si nécessaire, et cliquez sur Finish.
Modification d’une politique réseau via Classic Console¶
Si vous utilisez Classic Console, procédez comme suit pour modifier une politique réseau :
Cliquez sur une politique pour la sélectionner et remplissez le panneau latéral de droite.
Cliquez sur le bouton Edit dans le panneau de droite.
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.
Cliquez sur Save.
Activation d’une politique réseau via Classic Console¶
Si vous utilisez Classic Console, vous pouvez appliquer une politique réseau à tous les utilisateurs de votre compte Snowflake en activant la politique réseau pour votre compte.