Openflow Connector for Veeva Vault の設定

注釈

このコネクタは、 Snowflakeコネクタ規約 に従うものとします。

このトピックでは、|VeevaVaultOF|を設定する手順について説明します。

前提条件

  1. Openflow Connector for Veeva Vault について を確認します。

  2. ランタイムのデプロイメントを設定します。

  3. |OFSFSPCS-plural|を使用する場合、:doc:`必要なドメインの構成</user-guide/data-integration/openflow/setup-openflow-spcs-sf-allow-list>`を精査し、コネクタに必要な:ref:`ドメイン<label-of_veeva_req_domains>`へのアクセス許可を付与していることを確認します。

  4. Openflow管理者ロール、またはOpenflowの管理に使用する類似のロールへのアクセス権があることを確認します。

  5. コネクタを管理するSnowflakeサービスユーザーを作成する場合は、キーペア認証を作成していることを確認します。詳細については、 :doc:` キーペア認証 </user-guide/key-pair-auth>` をご参照ください。

必要なエンドポイント

コネクタが機能するためには、以下のエンドポイントが必要です。

  • <your_vault_hostname>:443 (例えば、 myvault.veevavault.com:443)

Openflow - BYOC Deployments を使用している場合は、このエンドポイントへの TLS 443アクセスを許可するようにクラウドネットワークのエグレスを構成します。Openflow - Snowflake Deployments を使用している場合は、ネットワークルールと外部アクセス統合(EAI)を作成する必要があります。詳細については、ネットワークルールの作成(Openflow Snowflakeデプロイのみ) をご参照ください。

Veeva Vaultの設定

コネクタはDirect Data API を使用てデータを取得します。コネクタを使用するには、まずVault管理者が以下のタスクを完了する必要があります。

Direct Dataの有効化

Direct DataはVaultで有効にする必要があります。これは、外部システムがDirect Data API を介してデータエクスポートを取得できるようにするためのVaultレベルの機能です。

Direct Dataが有効になっていることを確認するために、Vault管理者はVeeva Vault UIの Admin » Settings » General Settings » Direct Data を確認できます。

詳細については、Direct Data APIドキュメント をご参照ください。

サービスアカウントの作成

コネクタ専用のVeva Vaultユーザーアカウントを作成します。このアカウントの構成については、Direct Data API 権限ドキュメント をご参照ください。

このサービスアカウントのユーザー名とパスワードを記録します。これらの値はコネクタを構成するときに必要です。

注釈

Snowflakeは、個人のユーザーアカウントではなく、専用のサービスアカウントを使用することをお勧めします。これにより、個人アカウントが無効になった、またはパスワードが変更された場合でも、コネクタは引き続き機能します。

Snowflakeアカウントをセットアップする

Openflow管理者として、以下のタスクを実行しSnowflakeアカウントを設定します。

Snowflakeサービスユーザーの作成(Openflow BYOC のみ)

注釈

このステップは、Openflow - BYOC Deployments でコネクタをデプロイする場合にのみ必要です。Openflow - Snowflake Deployments には必要ありません。

  1. サービスユーザーを作成します。

    USE ROLE USERADMIN;
    CREATE USER <openflow_service_user>
      TYPE=SERVICE
      COMMENT='Service user for the Veeva Vault connector';
    
  2. ユーザーの秘密キーをファイルに格納して、コネクタの構成に対して付与します。詳細については、 :doc:` キーペア認証 </user-guide/key-pair-auth>` をご参照ください。

    ALTER USER <openflow_service_user> SET RSA_PUBLIC_KEY = '<pubkey>';
    

データベース、スキーマ、ウェアハウスの作成

  1. 宛先データベースを作成します。

    USE ROLE ACCOUNTADMIN;
    CREATE DATABASE IF NOT EXISTS <veeva_database>;
    
  2. 宛先スキーマを作成します。

    CREATE SCHEMA IF NOT EXISTS <veeva_database>.<veeva_schema>;
    
  3. コネクタのロールを作成し、必要な権限を付与します。

    CREATE ROLE IF NOT EXISTS <veeva_connector_role>;
    
    GRANT USAGE ON DATABASE <veeva_database> TO ROLE <veeva_connector_role>;
    GRANT USAGE ON SCHEMA <veeva_database>.<veeva_schema> TO ROLE <veeva_connector_role>;
    GRANT CREATE TABLE ON SCHEMA <veeva_database>.<veeva_schema> TO ROLE <veeva_connector_role>;
    
  4. ウェアハウスを作成(または既存のウェアハウスを使用)し、使用権限を付与します。

    CREATE WAREHOUSE IF NOT EXISTS <veeva_warehouse>
      WITH
        WAREHOUSE_SIZE = 'SMALL'
        AUTO_SUSPEND = 300
        AUTO_RESUME = TRUE;
    
    GRANT USAGE, OPERATE ON WAREHOUSE <veeva_warehouse> TO ROLE <veeva_connector_role>;
    
  5. Openflow - BYOC Deployments を使用する場合は、サービスユーザーにロールを割り当てます。

    GRANT ROLE <veeva_connector_role> TO USER <openflow_service_user>;
    ALTER USER <openflow_service_user> SET DEFAULT_ROLE = <veeva_connector_role>;
    

ネットワークルールの作成(Openflow Snowflakeデプロイのみ)

注意

ランタイムが Openflow - BYOC Deployments で実行される場合、外部アクセス統合(EAI)を作成する必要はありません。代わりに、Veeva Vaultホスト名への TLS 443アクセスを許可するようにクラウドネットワークのエグレスを構成します。

コネクタがSnowflakeがホストするランタイムからVeeva Vault API を呼び出せるようにするには、ネットワークルールと外部アクセス統合(EAI)を作成してから、Snowflakeロールに EAI に対する使用権限を付与します。

  1. ネットワークルールを作成します。

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE NETWORK RULE openflow_<runtime_name>_veeva_network_rule
      TYPE = HOST_PORT
      MODE = EGRESS
      VALUE_LIST = ('<your_vault_hostname>:443');
    
  2. 外部アクセス統合を作成します。

    CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION openflow_<runtime_name>_veeva_eai
      ALLOWED_NETWORK_RULES = (openflow_<runtime_name>_veeva_network_rule)
      ENABLED = TRUE;
    
  3. 統合に対するSnowflakeロール USAGE を付与します。

    GRANT USAGE ON INTEGRATION openflow_<runtime_name>_veeva_eai
      TO ROLE openflow_runtime_role_<runtime_name>;
    

コネクタをインストールする

コネクタをインストールするには、データエンジニアとして次を実行します。

  1. Openflow概要ページに移動します。Featured connectors セクションで、 View more connectors を選択します。

  2. Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。

  3. Select runtime ダイアログで、Available runtimes ドロップダウンリストからランタイムを選択して Add をクリックします。

    注釈

    コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。

  4. Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。

  5. Snowflakeアカウント認証情報でランタイムを認証します。

コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。

コネクタを構成する

コネクタを構成するには、次のステップを実行します。

  1. 追加されたコネクタのプロセスグループを右クリックし、Parameters を選択します。

  2. 以下のセクションの説明に従って、必要なパラメーター値を入力します。

Veeva Vaultパラメーター

パラメーター

説明

Veeva Vaultベース URL

Veneva Vault環境用のベース URL。プロトコルを含む有効な URL であることが必要です。

https://myvault.veevavault.com

Veneva Vaultユーザー名

Veneva Vault認証用のサービスアカウントユーザー名。

Veeva Vaultのパスワード

Veeva Vault認証用のサービスアカウントのパスワード。機密性の高いパラメーターとして安全に保存されます。

Veeva Vault取り込みモード

Direct Dataファイルの消費方法を決定します。許可された値:

  • ``SNAPSHOT_AND_INCREMENTAL``(デフォルト):最初に最新のフルアーカイブをロードしてから、増分アーカイブを使用して続行します。

  • SNAPSHOT:最新のフルアーカイブのみをポーリングします。

  • INCREMENTAL:増分アーカイブのみをポーリングします。

Veeva Vaultの増分開始時間

増分ポーリングのオプション開始タイムスタンプ。取り込みモードが INCREMENTAL である場合にのみ適用されます。設定しない場合、増分ポーリングは現在の時刻から開始されます。想定される形式: yyyy-MM-dd'T'HH:mmZ

2025-01-15T08:30Z

監査ログが含まれるVeeva Vault

Direct Data監査ログファイルも取り込むかどうか。

デフォルト: true

Snowflake宛先パラメーター

パラメーター

説明

Snowflake認証ストラテジー

Snowflakeに接続するためのコネクタの認証戦略。

  • ``SNOWFLAKE_MANAGED``(デフォルト):指定されたSnowflakeランタイムロールに関連付けられたSnowflakeが管理するトークンを使用します。これは Openflow - Snowflake Deployments および Openflow - BYOC Deployments の両方に対して推奨される戦略です。

  • KEY_PAIR:ユーザー指定の RSA キーペアを使用します。コネクタが、OpenflowランタイムをホストしているSnowflakeアカウントとは異なるSnowflakeアカウントに書き込むクロスアカウントシナリオの場合は、Openflow - BYOC Deployments でのみ利用可能です。

Snowflakeアカウント

Snowflakeアカウント識別子。形式は <organization>-<account> です。認証戦略が KEY_PAIR である場合は必須。

MYORG-MYACCOUNT

Snowflakeのユーザー名

認証用のSnowflakeユーザー。認証戦略が KEY_PAIR である場合は必須。

Snowflake秘密キー

Snowflakeキーペア認証用に PEM エンコードされた秘密キーコンテンツ。認証戦略が KEY_PAIR である場合は必須。この値は機密性の高いパラメーターとして安全に保存されます。

Reference asset チェックボックスをオンにして、ファイルをアセットとしてアップロードし、パラメーターの値としてアセットを選択することによって、秘密キーファイルをアップロードすることもできます。

Snowflake秘密キーパスワード

キーが暗号化されている場合に、Snowflake秘密キーを復号するためのパスワード。認証戦略が KEY_PAIR である場合にのみ適用されます。

Snowflakeロール

テーブルの作成、データの取り込み、アクセスの確認に使用されるSnowflakeのロール。SNOWFLAKE_MANAGED を使用する場合、これはOpenflowランタイムのSnowflakeロールです。KEY_PAIR を使用する場合、これは指定されたSnowflakeユーザーに割り当てられたロールです。

Snowflakeデータベース

Snowflakeの宛先データベースの名前。コネクタを起動する前に、データベースがすでに存在している必要があります。

Snowflakeスキーマ

Snowflakeの宛先スキーマの名前。コネクタを起動する前に、スキーマがすでに存在している必要があります。

Snowflakeウェアハウス

CREATE TABLEMERGE などのテーブル管理操作に使用されるSnowflakeウェアハウス。

Snowflakeテーブルプレフィックス

Snowflakeのすべての宛先テーブル名に適用されるオプションのプレフィックス。複数のコネクタが同じスキーマに書き込む場合は、これを名前空間テーブルに使用します。

Snowflakeの削除戦略

SnowflakeでVeeva削除抽出を適用する方法。

  • ``Hard Delete``(デフォルト):テーブルから行を完全に削除します。

  • Soft Delete:__SNOWFLAKE_DELETEDTRUE に、__SNOWFLAKE_DELETED_AT を現在のタイムスタンプに設定します。列が存在しない場合は自動的に追加されます。

スキーマ進化パラメーター

パラメーター

説明

列の削除ストラテジー

受信した最新のスキーマに基づいて、宛先テーブルの列を削除する必要がある場合の戦略を定義します。

  • ``Drop Column``(デフォルト):Snowflakeテーブルから列を削除します。

  • Rename Column:Snowflakeテーブルの列の名前を変更するには、Removed Column Name Suffix パラメーターで定義されているサフィックスを追加します。

  • Ignore Column:Snowflakeテーブルの列をそのままにします。

列名サフィックスの削除

Column Removal StrategyRename Column に設定されている場合に列名に追加されるサフィックス。

デフォルト: __deleted

フローを実行する

  1. キャンバスの空の領域を右クリックして、 Enable all Controller Services を選択します。

  2. コネクタのプロセスグループを右クリックし、 Start を選択します。

コネクタはDirect DataファイルのVeeva Vaultのポーリングと、Snowflakeへのデータのロードを開始します。

次のステップ