CREATE NETWORK POLICY

Crée une politique réseau ou remplace une politique réseau existante.

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.

Voir aussi :

ALTER NETWORK POLICY , DROP NETWORK POLICY , SHOW NETWORK POLICIES , DESCRIBE NETWORK POLICY

ALTER ACCOUNT

Syntaxe

CREATE [ OR REPLACE ] NETWORK POLICY <name>
   [ ALLOWED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
   [ BLOCKED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
   [ ALLOWED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
   [ BLOCKED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
   [ COMMENT = '<string_literal>' ]
Copy

Paramètres requis

name

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

La valeur de 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 (par exemple "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

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

Paramètres facultatifs

ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

Spécifie une liste de règles de réseau qui contiennent les identificateurs de réseau autorisés à accéder à Snowflake. Le nombre de règles de réseau dans la liste n’est pas limité.

BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

Spécifie une liste de règles de réseau contenant les identificateurs de réseau dont l’accès à Snowflake est refusé. Le nombre de règles de réseau dans la liste n’est pas limité.

ALLOWED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )

Spécifie une liste d” adresses IPv4 qui sont autorisées à accéder à votre compte Snowflake. C’est ce qu’on appelle la liste autorisée.

Snowflake recommande d’utiliser les règles réseau en conjonction avec les politiques réseau plutôt que d’utiliser cette propriété. Utilisez la propriété ALLOWED_NETWORK_RULE_LIST pour spécifier les règles réseau qui contiennent des adresses IPv4.

Si vous n’utilisez pas encore de règles réseau, spécifiez au moins une adresse IPv4 ou une plage de blocs CIDR pour autoriser l’accès à votre compte Snowflake. De plus, si vous n’utilisez pas de règles réseau et que cette propriété est spécifiée avec une liste vide, aucune adresse IPv4 n’est autorisée à accéder à votre compte Snowflake.

BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )

Spécifie une liste d’adresses IPv4 qui se voient refuser l’accès à votre compte Snowflake. C’est ce qu’on appelle la liste bloquée. Pour désactiver ce paramètre, spécifiez une autre plage de blocs CIDR, une série d’adresses IPv4 ou une seule IPv4 adresse.

Snowflake recommande d’utiliser les règles réseau en conjonction avec les politiques réseau plutôt que d’utiliser ce paramètre. Utilisez la propriété BLOCKED_NETWORK_RULE_LIST pour spécifier les règles réseau qui contiennent des adresses IPv4.

Pour bloquer l’accès public, utilisez une règle réseau et ajoutez-la à la propriété BLOCKED_NETWORK_RULE_LIST. Par conséquent, seules les adresses IP qui utilisent une connectivité privée, telles que AWS PrivateLink, peuvent accéder à votre compte Snowflake.

Par défaut : aucune valeur ; aucune adresse IP dans la propriété ALLOWED_IP_LIST n’est bloquée.

COMMENT = 'string_literal'

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

Par défaut : aucune valeur

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

CREATE NETWORK POLICY

Compte

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Utilisez les règles réseau en conjonction avec la politique réseau pour gérer l’accès à votre compte Snowflake.

  • Vous ne pouvez pas exécuter une commande CREATE OR REPLACE NETWORK POLICY pour remplacer une politique réseau existante si cette politique est actuellement attribuée à un compte, à une intégration de sécurité ou à un utilisateur.

  • Chaque ip_address peut couvrir une plage d’adresses en utilisant la notation CIDR (Classless Inter-Domain Routing) :

    ip_address[/optional_prefix_length]

    Par exemple :

    192.168.1.0/24

  • Lorsqu’une politique réseau inclut des valeurs aussi bien pour le paramètre ALLOWED_IP_LIST que pour le paramètre BLOCKED_IP_LIST, Snowflake applique d’abord la liste bloquée.

  • Le nombre maximum de caractères pour la liste ALLOWED_IP_LIST est 100 000. Snowflake renvoie un message d’erreur lorsque cette limite de caractères est dépassée.

  • Après avoir créé une politique réseau, vous devez l’associer à votre compte avant que Snowflake ne l’applique. Vous pouvez associer une stratégie à votre compte via la commande ALTER ACCOUNT, qui doit être exécutée par un utilisateur avec le rôle SECURITYADMIN (ou supérieur).

    Par exemple :

    USE ROLE SECURITYADMIN;
    
    ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>;
    
    Copy

    Pour plus de détails, voir Gestion des paramètres. Notez que NETWORK_POLICY est actuellement le seul paramètre de compte qui peut être défini par les utilisateurs avec le rôle SECURITYADMIN.

  • Avant d’associer une stratégie réseau à votre compte, votre adresse IP actuelle doit être incluse dans ALLOWED_IP_LIST ; sinon, la commande ALTER ACCOUNT renvoie une erreur. De plus, votre adresse IP actuelle ne peut pas être incluse dans le fichier BLOCKED_IP_LIST.

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

  • Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.

Exemples

Créer une politique réseau nommée mypolicy1 avec les propriétés suivantes :

  • Autoriser toutes les adresses IP comprises entre 192.168.1.0 et 192.168.1.255. (à l’aide de la notation CIDR 192.168.1.0/24), sauf 192.168.1.99, qui est explicitement bloquée.

  • Refusez toutes les autres adresses IP.

CREATE NETWORK POLICY mypolicy1 ALLOWED_IP_LIST=('192.168.1.0/24')
                                BLOCKED_IP_LIST=('192.168.1.99');

DESC NETWORK POLICY mypolicy1;
Copy
+-----------------+----------------+
| name            | value          |
|-----------------+----------------|
| ALLOWED_IP_LIST | 192.168.1.0/24 |
| BLOCKED_IP_LIST | 192.168.1.99   |
+-----------------+----------------+

Créer une stratégie réseau nommée mypolicy2 qui permet seulement aux adresses IP 192.168.1.0 et 192.168.1.100 d’accéder à votre compte :

CREATE NETWORK POLICY mypolicy2 ALLOWED_IP_LIST=('192.168.1.0','192.168.1.100');

DESC NETWORK POLICY mypolicy2;
Copy
+-----------------+---------------------------+
| name            | value                     |
|-----------------+---------------------------|
| ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 |
+-----------------+---------------------------+