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
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>' ]
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' , ... ] )
Snowflake recommande d’utiliser les règles de réseau en conjonction avec les politiques réseau plutôt que d’utiliser ce paramètre. Utilisez le paramètre ALLOWED_NETWORK_RULE_LIST pour spécifier les règles de réseau qui contiennent des adresses IPv4.
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.
BLOCKED_IP_LIST = ( [ ip_address ] [ , 'ip_address' , ... ] )
Snowflake recommande d’utiliser les règles de réseau en conjonction avec les politiques réseau plutôt que d’utiliser ce paramètre. Utilisez le paramètre BLOCKED_NETWORK_RULE_LIST pour spécifier les règles de réseau qui contiennent des adresses IPv4.
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 Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
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ètreBLOCKED_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 listeALLOWED_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 fichierBLOCKED_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
et192.168.1.255
. (à l’aide de la notation CIDR192.168.1.0/24
), sauf192.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 | +-----------------+---------------------------+