Openflow Connector for Salesforce Bulk API:Snowflakeの設定¶
注釈
このコネクタは、 Snowflakeコネクタ規約 に従うものとします。
このトピックでは、Openflow Connector for Salesforce Bulk API 用にSnowflakeを設定する手順について説明します。
前提条件¶
始める前に、次の内容を完了していることを確認してください。
Openflowのインストール(BYOC または SPCS)。詳細については、 Openflowについて をご参照ください。
Openflowデプロイを作成します。詳細については、 Openflow - Snowflake Deployment を設定する:デプロイメントを作成する または Openflowの設定 - BYOC をご参照ください。
Openflowランタイムを作成します。詳細については、 Openflow - Snowflake Deployment の設定: ランタイムの作成 または Openflowの設定 - BYOC をご参照ください。
Openflow Connector for Salesforce Bulk API について でプレビューコネクタの既知の制限を確認します。
キーペアの作成¶
コネクタのサービスアカウントユーザーがデータベースとやり取りするために使用するキーペアを作成します。
注釈
このステップは、Openflow BYOC でコネクタをデプロイする場合にのみ必要です。Openflow SPCS でコネクタをデプロイする場合に NOT 必要です。
秘密キーを生成します。以下の例は、暗号化されていないプライベートキーを生成する方法を示しています。
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
rsa_key.p8ファイルのコンテンツは次のようになります。-----BEGIN PRIVATE KEY----- MIIE6T... -----END PRIVATE KEY-----
プライベートキーを参照してパブリックキーを生成します。
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
rsa_key.pubファイルのコンテンツは次のようになります。-----BEGIN PUBLIC KEY----- MIIBIjANBgkqh... -----END PUBLIC KEY-----
次のセクションでユーザーを作成するときに使用するために、このファイルの内容(
-----BEGIN PUBLIC KEY-----ヘッダーおよび-----END PUBLIC KEY-----ヘッダーを除く)をコピーします。
オブジェクトの作成および権限の付与¶
コネクタのサービスアカウント、ロール、データベース、スキーマ、ウェアハウスを作成し、適切な権限を付与します。
ACCOUNTADMIN権限を付与されているロールを使用してロールを設定します。USE ROLE ACCOUNTADMIN;
宛先のSnowflakeデータベースが存在しない場合は作成します。
CREATE DATABASE IF NOT EXISTS <my_salesforce_db>;
データベースに宛先スキーマが存在しない場合は作成します。
CREATE SCHEMA IF NOT EXISTS <my_salesforce_db>.<my_salesforce_schema>;
Openflowコネクタで使用するロールを作成します。
CREATE ROLE IF NOT EXISTS <Salesforce_connector_role_name>;
ロールにデータベースを使用するための権限を付与します。
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>;
コネクタ用のウェアハウスを作成し(または既存のものを使用)、コネクタロールに使用権限を付与します。
-- 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>;
サービスユーザーを作成し、ロールとパブリックキーを割り当てます。
-- 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>;
ネットワークルールの作成(Openflow Snowflakeデプロイのみ)¶
Openflow Snowflakeデプロイにあるランタイムでコネクタをデプロイする場合は、ネットワークルールと外部アクセス統合を作成し、ランタイムで設定する必要があります。
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>;
次のステップ¶
Openflowでコネクタを構成します。