Catégories :

Utilisateur et sécurité DDL (Politiques réseau)

CREATE NETWORK POLICY

Crée une politique 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.

Voir aussi :

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

ALTER ACCOUNT

Syntaxe

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

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.

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 bloque automatiquement toutes les adresses IP non incluses dans la liste autorisée.

Notez que si le paramètre est spécifié avec une liste vide, la politique réseau n’autorise aucune adresse IPv4 à accéder à Snowflake.

Paramètres facultatifs

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.

Définissez ce paramètre uniquement lorsque vous autorisez l’accès à une plage d’adresses IP (spécifiées dans ALLOWED_IP_LIST), mais que vous souhaitez refuser l’accès à une ou plusieurs adresses IP de la plage.

Par défaut : aucune valeur (c’est-à-dire qu’aucune adresse IP dans 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 Contrôle d’accès dans Snowflake.

Notes sur l’utilisation

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

  • N’ajoutez pas 0.0.0.0/0 à BLOCKED_IP_LIST. Étant donné que Snowflake applique la liste bloquée en premier, cela bloquerait votre propre accès. De plus, pour bloquer toutes les adresses IP à l’exception d’une certaine liste, vous n’avez qu’à ajouter des adresses IP à la liste ALLOWED_IP_LIST. Snowflake bloque automatiquement toutes les adresses IP non incluses dans la liste autorisé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>;
    

    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. Autrement dit, lorsque l’objet est remplacé, la suppression de l’ancien objet et la création du nouvel objet sont traitées en 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;

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

+-----------------+---------------------------+
| name            | value                     |
|-----------------+---------------------------|
| ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 |
+-----------------+---------------------------+
Revenir au début