Règles de réseau¶
Les règles de réseau sont des objets de niveau schéma qui regroupent les identificateurs de réseau en unités logiques.
Les fonctionnalités Snowflake qui restreignent le trafic réseau peuvent faire référence à des règles de réseau plutôt que de définir des identificateurs réseau directement dans la fonctionnalité. Par exemple, une politique réseau peut faire référence à une règle de réseau qui inclut des adresses IP pour contrôler l’accès au service Snowflake et aux zones de préparation internes basées sur ces adresses. Vous pouvez également utiliser une règle de réseau pour accéder à un emplacement de réseau externe à partir d’une UDF ou d’une procédure.
Une règle de réseau ne définit pas si ses identificateurs doivent être autorisés ou bloqués. La fonctionnalité Snowflake qui utilise la règle de réseau spécifie si les identificateurs de la règle sont autorisés ou interdits.
Identificateurs de réseau pris en charge¶
Les administrateurs doivent pouvoir restreindre l’accès en fonction de l’identificateur de réseau associé à l’origine ou à la destination d’une demande. Les règles de réseau permettent aux administrateurs d’autoriser ou de bloquer les identificateurs de réseau suivants :
- Demandes entrantes
Adresses IPv4
IDs VPCE de points de terminaison AWS VPC . Les IDs de VPC ne sont pas pris en charge.
LinkIDs de points de terminaison privés Azure. Exécutez la fonction SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS pour récupérer le LinkID associé à un compte.
- Demandes sortantes
Domaines, y compris une plage de ports optionnelle
Chaque règle de réseau contient une liste d’un ou plusieurs identificateurs de réseau du même type. La propriété TYPE
de la règle de réseau indique le type d’identificateurs inclus dans la règle. Par exemple, si la propriété TYPE
est IPV4
, la liste des valeurs de la règle de réseau doit contenir des adresses IPv4 valides ou des plages d’adresses en notation CIDR.
Requêtes entrantes et sortantes¶
Le mode d’une règle de réseau indique si la fonctionnalité Snowflake qui utilise la règle restreint les demandes entrantes ou sortantes.
Demandes entrantes¶
Les politiques de réseau protègent le service Snowflake et les zones de préparation internes du trafic entrant. Lorsqu’une règle de réseau est utilisée avec une politique réseau, l’administrateur peut définir le mode sur l’une des options suivantes :
INGRESS
Le comportement du mode
INGRESS
dépend de la valeur de la propriétéTYPE
de la règle de réseau.Si
TYPE=IPV4
, la règle de réseau contrôle par défaut l’accès au service Snowflake uniquement.Si l’administrateur du compte active le paramètre ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES , alors
MODE=INGRESS
etTYPE=IPV4
protègent également une zone de préparation interne AWS.Si
TYPE=AWSVPCEID
, la règle de réseau contrôle uniquement l’accès au service Snowflake.Si vous souhaitez restreindre l’accès à la zone de préparation interne AWS en fonction de l’ID VPCE d’un point de terminaison d’interface, vous devez créer une règle de réseau distincte en mode
INTERNAL_STAGE
.
INTERNAL_STAGE
Contrôle l’accès à une zone de préparation interne AWS sans restreindre l’accès au service Snowflake. L’utilisation de ce mode nécessite les éléments suivants :
L’administrateur du compte doit activer le paramètre ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES.
La propriété
TYPE
de la règle de réseau doit êtreAWSVPCEID
.
Pour les comptes sur Microsoft Azure, vous ne pouvez pas utiliser une règle de réseau pour restreindre l’accès à la zone de préparation interne. Cependant, vous pouvez bloquer tout le trafic du réseau public pour qu’il n’accède pas à la zone de préparation interne.
Demandes sortantes¶
Les administrateurs peuvent utiliser des règles de réseau avec des fonctions qui contrôlent où les demandes peuvent être envoyées. Dans ce cas, l’administrateur définit la règle de réseau avec le mode suivant :
EGRESS
Indique que la règle de réseau est utilisée pour le trafic envoyé depuis Snowflake.
Actuellement utilisé avec un accès au réseau externe, qui permet à une UDF ou à une procédure d’envoyer des requêtes à un emplacement de réseau externe.
Création d’une règle de réseau¶
Un administrateur exécute 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 identificateurs.
L’administrateur utilise le paramètre MODE
pour indiquer si la règle de réseau est utilisée pour restreindre les demandes entrantes ou sortantes. Si l’administrateur n’inclut pas le paramètre MODE
, la valeur par défaut est INGRESS
, ce qui signifie que la règle de réseau est utilisée par des politiques réseau pour restreindre le trafic réseau entrant vers le service Snowflake.
La création d’une règle de réseau ne définit pas si elle autorise ou bloque les identificateurs de réseau. Les administrateurs spécifient ces restrictions lors de la configuration de la fonction Snowflake qui utilise la règle de réseau.
Exemple : règle de réseau pour la politique réseau
Le code de l’exemple suivant utilise un rôle personnalisé pour créer une règle de réseau qui peut être utilisée pour autoriser ou bloquer le trafic d’une plage d’adresses IP vers le service Snowflake :
CREATE ROLE network_admin;
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
MODE = INGRESS
TYPE = IPV4
VALUE_LIST = ('47.88.25.32/27');
Adresses IPv4¶
Lors de la spécification des adresses IP pour une règle de réseau, Snowflake prend en charge les plages d’adresses IP en utilisant la notation Classless Inter-Domain Routing (CIDR).
Par exemple, 192.168.1.0/24
représente toutes les adresses IPv4 dans la plage de 192.168.1.0
à 192.168.1.255
.
Modification d’une règle de réseau¶
Le propriétaire d’une règle de réseau peut exécuter la commande ALTER NETWORK RULE pour remplacer les identificateurs de réseau et le commentaire de la règle. Vous ne pouvez pas ajouter ou supprimer des identificateurs de réseau individuels à la règle de réseau ; les identificateurs existants sont perdus lors de l’ajout de nouvelles valeurs.
Le TYPE
et le MODE
de la règle de réseau ne peuvent pas être modifiés.
Par exemple, le propriétaire d’une règle de réseau peut les modifier de manière à ce qu’ils puissent être utilisés pour autoriser ou bloquer le trafic provenant d’une nouvelle plage d’adresses IPv4 :
ALTER NETWORK RULE cloud_network SET VALUE_LIST = ('47.88.25.32/27');
Le propriétaire de la règle de réseau peut également supprimer tous les identificateurs de réseau de la règle :
ALTER NETWORK RULE cloud_network UNSET VALUE_LIST;
Réplication des règles de réseau¶
Les règles de réseau sont des objets de niveau schéma et sont répliquées avec la base de données dans laquelle elles sont contenues.
Pour obtenir des informations sur la réplication des politiques réseau qui utilisent des règles de réseau, consultez Réplication des politiques réseau.
Privilèges et commandes¶
Commande |
Privilège |
Description |
---|---|---|
CREATE NETWORK RULE sur SCHEMA |
Crée une nouvelle règle de réseau. |
|
OWNERSHIP sur NETWORK RULE |
Modifie une règle de réseau existante. |
|
OWNERSHIP sur NETWORK RULE |
Supprime une règle de réseau existante du système. |
|
OWNERSHIP sur NETWORK RULE |
Décrit les propriétés d’une règle de réseau existante. |
|
OWNERSHIP sur NETWORK RULE ou USAGE sur SCHEMA |
Répertorie toutes les règles de réseau du système. |