Openflow Connector for Veeva Vault 설정

Openflow Connector for Veeva Vault 설정

이 페이지에서는 Veeva Vault용 Openflow Connector를 설정하는 전체 절차를 설명해요. 전제 조건 확인, Vault 쪽 준비(Direct Data 활성화·서비스 계정 생성), Snowflake 계정 준비, 커넥터 설치와 구성까지 차례로 다룹니다.

출처: Snowflake 문서

본문

Note

이 커넥터는 Snowflake Connector Terms에 의해 규율됩니다.

이 토픽은 Veeva Vault용 Openflow Connector를 설정하는 단계를 설명합니다.

전제 조건

  1. About the Openflow Connector for Veeva Vault를 검토하세요.

  2. 런타임 배포를 설정하세요.

  1. Openflow - Snowflake Deployments를 사용한다면 required domains 구성을 검토하고 Veeva Vault 커넥터에 필요한 도메인 접근을 부여했는지 확인하세요. Openflow - BYOC Deployments를 사용한다면 Vault 호스트 이름(예: myvault.veevavault.com:443)으로 TLS 443 접근을 허용하도록 클라우드 네트워크 이그레스를 구성하세요.

  2. Openflow 관리자 역할 또는 Openflow 관리에 사용하는 유사한 역할에 접근할 수 있는지 확인하세요.

  3. Openflow - BYOC Deployments에 배포하고 KEY_PAIR 인증 전략을 사용한다면 키 페어 인증을 만들었는지 확인하세요. 자세한 내용은 key pair authentication을 참고하세요.

Veeva Vault 설정

커넥터는 Direct Data API를 사용해 데이터를 가져옵니다. 커넥터를 사용하려면 먼저 Vault 관리자가 다음 작업을 완료해야 합니다.

Direct Data 활성화

Vault에서 Direct Data가 활성화되어 있어야 합니다. 이것은 외부 시스템이 Direct Data API를 통해 데이터 내보내기를 가져올 수 있게 하는 Vault 수준 기능입니다.

Direct Data가 활성화되어 있는지 Vault 관리자는 Veeva Vault UI에서 Admin » Settings » General Settings » Direct Data를 확인할 수 있습니다.

자세한 내용은 Direct Data API documentation을 참고하세요.

서비스 계정 생성

커넥터용 전용 Veeva Vault 사용자 계정을 만드세요. 이 계정 구성은 Direct Data API permissions documentation을 참고하세요.

이 서비스 계정의 사용자 이름과 비밀번호를 기록해 두세요. 커넥터 구성 시 필요합니다.

Note

Snowflake는 개인 사용자 계정보다 전용 서비스 계정 사용을 권장합니다. 이렇게 하면 개인 계정이 비활성화되거나 비밀번호가 변경되어도 커넥터가 계속 동작합니다.

Snowflake 계정 설정

Openflow 관리자로 다음 작업을 수행해 Snowflake 계정을 설정하세요. 기본 SNOWFLAKE_MANAGED 인증 전략에서는 런타임의 execute-as 역할이 커넥터가 Snowflake에 접근할 때 사용하는 신원이므로, 그 역할에 다음 권한을 부여합니다.

Note

Openflow - BYOC Deployments에 커넥터를 배포하고 권장되는 SNOWFLAKE_MANAGED 대신 KEY_PAIR 인증 전략을 사용한다면, 런타임의 관리 토큰에 의존하는 대신 이 동일한 execute-as 역할을 서비스 사용자에게 부여하게 됩니다. 서비스 사용자 생성은 Set up key-pair authentication for Openflow - BYOC Deployments를 참고하세요.

데이터베이스, 스키마, 웨어하우스 생성

  1. 대상 데이터베이스를 생성합니다:
USE ROLE OPENFLOW_ADMIN;
CREATE DATABASE IF NOT EXISTS <destination_database>;
  1. 대상 스키마를 생성합니다:
CREATE SCHEMA IF NOT EXISTS <destination_database>.<destination_schema>;
  1. 런타임의 execute-as 역할에 필요한 권한을 부여합니다:
GRANT USAGE ON DATABASE <destination_database> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
GRANT USAGE ON SCHEMA <destination_database>.<destination_schema> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
GRANT CREATE TABLE ON SCHEMA <destination_database>.<destination_schema> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
  1. 웨어하우스를 생성(또는 기존 웨어하우스 사용)하고 사용 권한을 부여합니다:
CREATE WAREHOUSE IF NOT EXISTS <openflow_warehouse>
  WITH
  WAREHOUSE_SIZE = 'XSMALL'
  AUTO_SUSPEND = 300
  AUTO_RESUME = TRUE;

GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
  1. 커넥터가 수집한 테이블에 접근해야 하는 다른 Snowflake 사용자가 있다면(예: Snowflake에서 커스텀 처리를 위해), 그 사용자들에게 execute-as 역할을 부여하세요.

파이프 생성 권한 부여

커넥터는 고성능 아키텍처와 함께 Snowpipe Streaming을 사용하며, PIPE 객체가 필요합니다. 생성에 필요한 추가 권한을 부여하세요:

GRANT CREATE PIPE ON SCHEMA <destination_database>.<destination_schema> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;

커넥터 설치

데이터 엔지니어로 커넥터를 설치하려면 다음을 수행하세요:

  1. Openflow의 Connector library 탭으로 이동합니다.

  2. Openflow 커넥터 페이지에서 커넥터를 찾아 Install을 선택합니다.

  3. Select runtime 대화상자에서 Available runtimes 드롭다운 목록에서 런타임을 선택하고 Install을 클릭합니다.

Note

커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 데이터베이스와 스키마를 Snowflake에 만들었는지 확인하세요.

  1. Snowflake 계정 자격 증명으로 배포에 인증하고, 런타임 앱이 Snowflake 계정에 접근하도록 허용하라는 메시지가 나오면 Allow를 선택합니다. 커넥터 설치 과정은 완료하는 데 몇 분 정도 걸립니다.

  2. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

Openflow 캔버스에 커넥터 프로세스 그룹이 추가됩니다.

커넥터 구성

커넥터를 구성하려면 다음 단계를 수행하세요:

  1. 추가된 커넥터 프로세스 그룹을 우클릭하고 Parameters를 선택합니다.

  2. 아래 섹션에 설명된 대로 필수 파라미터 값을 채웁니다.

Veeva Vault 파라미터

Parameter Description
Veeva Vault Base URL Veeva Vault 환경의 Base URL. 프로토콜을 포함한 유효한 URL이어야 합니다. 예: https://myvault.veevavault.com
Veeva Vault Username Veeva Vault 인증용 서비스 계정 사용자 이름.
Veeva Vault Password Veeva Vault 인증용 서비스 계정 비밀번호. 민감 파라미터로 안전하게 저장됩니다.
Veeva Vault Ingestion Mode Direct Data 파일을 소비하는 방식을 결정. 허용 값:
SNAPSHOT_AND_INCREMENTAL (기본): 먼저 최신 전체 아카이브를 로드한 뒤 증분 아카이브로 계속.
SNAPSHOT: 최신 전체 아카이브만 폴링.
INCREMENTAL: 증분 아카이브만 폴링.
Veeva Vault Incremental Start Time 증분 폴링의 선택적 시작 타임스탬프. 수집 모드가 INCREMENTAL일 때만 적용됩니다. 설정하지 않으면 증분 폴링은 현재 시간부터 시작합니다. 예상 형식: yyyy-MM-dd'T'HH:mmZ. 예: 2025-01-15T08:30Z
Veeva Vault Include Audit Logs Direct Data 감사 로그 파일도 함께 수집할지 여부. 기본값: true

Snowflake 대상 파라미터

Parameter Description
Snowflake Authentication Strategy 커넥터가 Snowflake에 연결할 때 사용하는 인증 전략.
SNOWFLAKE_MANAGED (기본): 런타임의 execute-as 역할과 연결된 Snowflake 관리 토큰 사용. Openflow - Snowflake Deployments와 Openflow - BYOC Deployments 모두에서 권장되는 전략.
KEY_PAIR: 사용자가 제공한 RSA 키 페어 사용. 커넥터가 Openflow 런타임을 호스팅하는 계정과 다른 Snowflake 계정에 쓰는 교차 계정 시나리오를 위해 Openflow - BYOC Deployments에서만 사용 가능.
Snowflake Account <organization>-<account> 형식의 Snowflake 계정 식별자. 인증 전략이 KEY_PAIR일 때 필요. 예: MYORG-MYACCOUNT
Snowflake Username 인증에 사용할 Snowflake 사용자. 인증 전략이 KEY_PAIR일 때 필요.
Snowflake Private Key Snowflake 키 페어 인증용 PEM 인코딩 개인 키 콘텐츠. 인증 전략이 KEY_PAIR일 때 필요. 이 값은 민감 파라미터로 안전하게 저장됩니다. Reference asset 체크박스를 선택하고 파일을 자산으로 업로드한 뒤 해당 자산을 파라미터 값으로 선택해 개인 키 파일을 업로드할 수도 있습니다.
Snowflake Private Key Password 개인 키가 암호화된 경우 복호화할 비밀번호. 인증 전략이 KEY_PAIR일 때만 적용됩니다.
Snowflake Role 테이블 생성, 데이터 수집, 접근 검증에 사용되는 execute-as 역할. SNOWFLAKE_MANAGED 사용 시 이는 Openflow 런타임의 execute-as 역할입니다. KEY_PAIR 사용 시 이는 지정된 Snowflake 사용자에게 할당된 역할입니다.
Snowflake Database Snowflake의 대상 데이터베이스 이름. 커넥터를 시작하기 전에 데이터베이스가 이미 존재해야 합니다.
Snowflake Schema Snowflake의 대상 스키마 이름. 커넥터를 시작하기 전에 스키마가 이미 존재해야 합니다.
Snowflake Warehouse CREATE TABLE·MERGE 같은 테이블 관리 작업에 사용되는 Snowflake 웨어하우스.
Snowflake Table Prefix Snowflake의 모든 대상 테이블 이름에 적용되는 선택적 접두사. 여러 커넥터가 같은 스키마에 쓸 때 테이블을 네임스페이스로 구분하려면 사용하세요.
Snowflake Delete Strategy Veeva 삭제 추출을 Snowflake에 적용하는 방식.
Hard Delete (기본): 행을 테이블에서 영구 제거.
Soft Delete: __SNOWFLAKE_DELETED를 TRUE로, __SNOWFLAKE_DELETED_AT를 현재 타임스탬프로 설정. 열이 없으면 자동으로 추가됩니다.

스키마 진화 파라미터

Parameter Description
Column Removal Strategy 최신 수신 스키마에 따라 열을 대상 테이블에서 제거할 때의 전략.
Drop Column (기본): Snowflake 테이블에서 열 제거.
Rename Column: Removed Column Name Suffix 파라미터에 정의된 접미사를 붙여 Snowflake 테이블의 열 이름 변경.
Ignore Column: Snowflake 테이블에서 열을 그대로 둠.
Removed Column Name Suffix Column Removal Strategy가 Rename Column일 때 열 이름에 붙는 접미사. 기본값: __deleted

플로우 실행

  1. 캔버스의 빈 영역을 우클릭하고 Enable all Controller Services를 선택합니다.

  2. 커넥터 프로세스 그룹을 우클릭하고 Start를 선택합니다.

커넥터가 Direct Data 파일을 위해 Veeva Vault를 폴링하고 Snowflake에 데이터를 로드하기 시작합니다.

다음 단계

더 알아보기 (Learn more)