Configuration de Openflow - Snowflake Deployment : Créer un rôle d’exécution¶
Openflow - Snowflake Deployment nécessite la création d’un certain nombre de ressources qui sont spécifiques non pas à un déploiement, mais à une exécution spécifique. En général, ces ressources comprennent :
Création d’un rôle d’exécution spécifique aux exécutions
Création de règles réseau et d’intégrations d’accès externes (EAI) spécifiques aux exécutions
Cette rubrique décrit la création de ces ressources.
Créer un rôle d’exécution et des privilèges associés pour écrire des données dans Snowflake. Consultez la section Rôle d’exécution pour les exécutions dans les déploiements Snowflake.
Associer un rôle d’exécution Consultez la section Rôle d’exécution pour les exécutions dans les déploiements Snowflake.
Créer des intégrations d’accès externes et les associer à des exécutions Consultez Création d’intégrations d’accès externes.
Une connexion PrivateLink sortante est requise pour se connecter à un système privé à l’aide d’une sortie SPCS.
Créer un rôle d’exécution¶
Lors de la création et de la modification d’exécutions Openflow, les propriétaires des exécutions auront la possibilité d’associer un rôle aux exécutions. Ce rôle sera utilisé pour les flux qui s’exécutent dans les exécutions. Pour plus d’informations sur les rôles d’exécution, consultez Qu’est-ce qu’un rôle d’exécution ?.
Note
En tant qu’OPENFLOW_ADMIN, vous créerez le rôle d’exécution et l’attribuerez à OPENFLOW_ADMIN, de sorte que les utilisateurs ayant ce rôle soient autorisés à définir ce rôle sur les exécutions.
La création d’un rôle d’exécution est une condition préalable pour créer une exécution et implique les étapes suivantes :
Créer le rôle en lui-même
Accordez au rôle l’accès à l’entrepôt utilisé par l’exécution.
Accordez au rôle l’accès aux objets Snowflake utilisés par l’exécution.
Accordez au rôle l’accès aux intégrations d’accès externes utilisées par l’environnement d’exécution.
Pour créer un rôle d’exécution :
Créez le rôle d’exécution requis.
Note
<RUNTIMENAME>indique le nom de l’exécution associée.USE ROLE OPENFLOW_ADMIN; CREATE ROLE IF NOT EXISTS OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>; GRANT ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME> TO ROLE OPENFLOW_ADMIN;
Autorisez le rôle d’exécution à utiliser un entrepôt existant que vous prévoyez d’utiliser pour l’ingestion des données. Utilisez cet entrepôt plus tard lors de la configuration de vos connecteurs pour les exécutions où vous utiliserez ce rôle d’exécution.
GRANT USAGE, OPERATE ON WAREHOUSE <OPENFLOW_INGEST_WAREHOUSE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
Autorisez le rôle d’exécution à utiliser ou à créer des objets Snowflake, ou à y accéder d’une autre manière.
Note
En fonction du connecteur Openflow créé, les objets sous-jacents requis varieront. L’exemple ci-dessous est présenté à titre indicatif seulement.
GRANT USAGE ON DATABASE <OPENFLOW_SPCS_DATABASE> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>; GRANT USAGE ON SCHEMA <OPENFLOW_SPCS_SCHEMA> TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIMENAME>;
Créer des règles réseau et des intégrations d’accès externes¶
Le modèle de sécurité de Snowflake fournit un accès sécurisé à des points de terminaison et à des systèmes externes à Snowflake à l’aide de politiques réseau.
Deux éléments clés des politiques réseau sont les Règles de réseau et les intégrations d’accès externes (EAI). Chacun de ces éléments est utilisé pour fournir un accès sécurisé aux ressources externes requises par l’exécution.
Il existe trois étapes nécessaires pour créer des règles réseau et des intégrations d’accès externes :
Créer la règle réseau, en regroupant les identificateurs de réseau en zones logiques.
Créer l’intégration d’accès externe (EAI), en spécifiant la liste des règles réseau et en s’assurant que le rôle d’exécution dispose de l’USAGE sur l’EAI.
Associer l’EAI à l’exécution dans l’UI d’Openflow lors de la création d’exécutions.
Pour créer la règle réseau et l’EAI requises, procédez comme suit :
Note
Ces exemples utilisent RUNTIME_NAME comme caractère de remplacement pour le nom de l’exécution en cours de création.
Créez une règle réseau appropriée. Voir CREATE NETWORK RULE pour plus d’informations.
Note
<OPENFLOW_DATABASE>indique le nom de la base de données qui contiendra la règle réseau. Snowflake suggère de créer une base de données spécifique pour les règles réseau et les intégrations d’accès externes liées à Openflow.USE DATABASE <OPENFLOW_DATABASE>; CREATE OR REPLACE NETWORK RULE OPENFLOW_<RUNTIME_NAME>_NETWORK_RULE MODE = EGRESS TYPE = HOST_PORT VALUE_LIST = ('comma separated list of host:port pairs');
Créez l’intégration externe associée. Voir CREATE EXTERNAL ACCESS INTEGRATION pour plus d’informations.
USE ROLE ACCOUNTADMIN; CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION OPENFLOW_<RUNTIME>_EAI ALLOWED_NETWORK_RULES = (OPENFLOW_<RUNTIME_NAME>_NETWORK_RULE) ENABLED = TRUE;
Autorisez l’EAI à accéder au rôle d’exécution précédemment créé.
GRANT USAGE ON INTEGRATION OPENFLOW_<RUNTIME_NAME>_EAI TO ROLE OPENFLOW_RUNTIME_ROLE_<RUNTIME_NAME>;