Openflow Connector for Salesforce Bulk API : Configurer Snowflake¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
Cette rubrique décrit les étapes à suivre pour configurer Snowflake pour Openflow Connector for Salesforce Bulk API.
Conditions préalables¶
Avant de commencer, assurez-vous d’avoir effectué ce qui suit :
Installer Openflow (soit BYOC, soit SPCS). Pour plus d’informations, voir A propos d’Openflow.
Créer un déploiement Openflow. Pour plus d’informations, voir Configuration de Openflow - Snowflake Deployment : Créer un déploiement ou Configuration d’Openflow - BYOC.
Créer un environnement d’exécution Openflow. Pour plus d’informations, voir Configuration de Openflow - Snowflake Deployment : Créer une exécution ou Configuration d’Openflow - BYOC.
Examiner les limitations connues du connecteur en prévisualisation dans À propos de Openflow Connector for Salesforce Bulk API.
Créer une paire de clés¶
Créez une paire de clés qui sera utilisée par l’utilisateur du compte de service dans le connecteur pour interagir avec la base de données.
Note
Cette étape n’est requise que si vous déployez le connecteur dans Openflow BYOC. Elle n’est NOT nécessaire lors du déploiement du connecteur dans Openflow SPCS.
Générez une clé privée. L’exemple ci-dessous montre comment générer une clé privée non chiffrée.
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
Le contenu du fichier
rsa_key.p8ressemblera à ceci :-----BEGIN PRIVATE KEY----- MIIE6T... -----END PRIVATE KEY-----
Générez la clé publique en faisant référence à la clé privée.
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
Le contenu du fichier
rsa_key.pubressemblera à ceci :-----BEGIN PUBLIC KEY----- MIIBIjANBgkqh... -----END PUBLIC KEY-----
Copiez le contenu de ce fichier (sans les en-têtes
-----BEGIN PUBLIC KEY-----et-----END PUBLIC KEY-----) à utiliser lors de la création de l’utilisateur dans la section suivante.
Créer des objets et accorder des privilèges¶
Créez un compte de service, un rôle, une base de données, un schéma et un entrepôt pour le connecteur, et accordez les autorisations appropriées.
Utilisez un rôle avec les privilèges
ACCOUNTADMINpour définir le rôle :USE ROLE ACCOUNTADMIN;
Créez la base de données de destination Snowflake, si elle n’existe pas :
CREATE DATABASE IF NOT EXISTS <my_salesforce_db>;
Créez le schéma de destination dans la base de données, s’il n’existe pas :
CREATE SCHEMA IF NOT EXISTS <my_salesforce_db>.<my_salesforce_schema>;
Créez le rôle utilisé par le connecteur Openflow :
CREATE ROLE IF NOT EXISTS <Salesforce_connector_role_name>;
Accordez les privilèges au rôle pour utiliser la base de données :
GRANT USAGE ON DATABASE <my_salesforce_db> TO ROLE <Salesforce_connector_role_name>; GRANT USAGE ON SCHEMA <my_salesforce_db>.<my_salesforce_schema> TO ROLE <Salesforce_connector_role_name>; GRANT CREATE TABLE ON SCHEMA <my_salesforce_db>.<my_salesforce_schema> TO ROLE <Salesforce_connector_role_name>;
Créez un entrepôt pour le connecteur (ou utilisez-en un existant) et accordez des privilèges d’utilisation au rôle de connecteur :
-- Create a warehouse (skip if you wish to use an existing warehouse) CREATE OR REPLACE WAREHOUSE MY_WAREHOUSE WITH WAREHOUSE_SIZE = 'SMALL' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE; GRANT USAGE, OPERATE ON WAREHOUSE MY_WAREHOUSE TO ROLE <Salesforce_connector_role_name>;
Créez l’utilisateur du service et attribuez-lui le rôle et la clé publique :
-- Create a service user that the connector will use to interact with Snowflake -- Set default role to <Salesforce_connector_role_name> -- Assign the public key generated with openssl in the previous step (only for BYOC) CREATE OR REPLACE USER <Salesforce_connector_user_name> TYPE = SERVICE DEFAULT_ROLE = <Salesforce_connector_role_name> RSA_PUBLIC_KEY = '<public_key_generated_by openssl_in_step_1>'; -- Grant the role to the user GRANT ROLE <Salesforce_connector_role_name> TO USER <Salesforce_connector_user_name>;
Créer une règle réseau (Déploiement Openflow Snowflake uniquement)¶
Si vous déployez le connecteur dans un environnement d’exécution qui se trouve dans un déploiement Openflow Snowflake, vous devez créer une règle réseau et une intégration d’accès externe, puis les définir sur l’environnement d’exécution.
USE ROLE SECURITYADMIN;
CREATE NETWORK RULE MY_OPENFLOW_SALESFORCE_NETWORK_RULE
TYPE = HOST_PORT
MODE = EGRESS
VALUE_LIST = ('<salesforce_instance_host>:443');
CREATE EXTERNAL ACCESS INTEGRATION MY_OPENFLOW_SALESFORCE_EAI
ALLOWED_NETWORK_RULES = (MY_OPENFLOW_SALESFORCE_NETWORK_RULE)
ENABLED = TRUE
COMMENT = 'External Access Integration to connect to Salesforce';
GRANT USAGE ON INTEGRATION MY_OPENFLOW_SALESFORCE_EAI TO ROLE <openflow_role_name>;
Prochaines étapes¶
Configurez le connecteur dans Openflow :
Openflow Connector for Salesforce Bulk API : Configuration du connecteur