Openflow Connector for Salesforce Bulk API: Snowflake 설정¶
참고
이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.
이 항목에서는 Openflow Connector for Salesforce Bulk API 용 Snowflake를 설정하는 단계를 설명합니다.
전제 조건¶
시작하기 전에 다음을 완료했는지 확인합니다.
Openflow를 설치합니다(BYOC 또는 SPCS). 자세한 내용은 Openflow 정보 섹션을 참조하십시오.
Openflow 배포를 생성합니다. 자세한 내용은 Openflow - Snowflake Deployment 설정: 배포 만들기 또는 Openflow - BYOC 설정 섹션을 참조하십시오.
Openflow 런타임을 생성합니다. 자세한 내용은 Openflow - Snowflake Deployment 설정: 런타임 생성 또는 Openflow - BYOC 설정 섹션을 참조하십시오.
:doc:`about`에서 미리 보기 커넥터의 알려진 제한 사항을 검토합니다.
키 유형을 생성합니다.¶
커넥터에서 서비스 계정 사용자가 데이터베이스와 상호 작용하는 데 사용할 키 페어를 생성합니다.
참고
이 단계는 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에서 커넥터를 구성합니다.