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 , ... ] )
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ètreBLOCKED_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>;
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 | +-----------------+---------------------------+