Snowflake Data Clean Rooms: アイデンティティとデータプロバイダーコネクタ

注釈

Snowflake Data Clean Rooms は現在、データ主体の同意管理をサポートしていません。お客様は、クリーンルーム内でリンクされたデータを使用するために必要なすべての権利と同意を得ていることを確認する責任があります。また、お客様は、サードパーティコネクタとの接続を含め、Data Clean Roomsを使用する際に適用されるすべての法律および規制を遵守する必要があります。

重要

サードパーティコネクタは、Snowflake提供ではないため、追加条件が適用される場合があります。これらの統合は、お客様の便宜のために提供されるものですが、統合に送受信されるコンテンツについては、お客様が責任を負うものとします。

お客様は、Snowflake Data Clean Roomsの使用に関連して必要な同意を取得する責任を負うものとします。アクティベーションを目的としたサードパーティコネクタとの接続も含め、Snowflake Data Clean Roomsを使用する際は、適用される法律および規制を遵守していることを確認してください。

概要

IDコネクタは、複数の値が同じエンティティを参照している場合に、テーブル間でエンティティを解決して結合するために使用します。たとえば、2つの異なるメールが同じ人物を参照しており、Table1がメール1を、Table2がメール2を使用していることがIDプロバイダーによってわかった場合、IDコネクタを使用することで、これら2つの異なるメールを同じエンティティとして結合できます。

clean roomでのIDコネクタの使用を可能にするには、管理者がまず そのコネクタの使用をclean roomの作成者に許可するようclean roomを構成する 必要があります。

Acxiom Real ID コネクタ

Acxiom Real ID では、個人を特定できる情報(PII)をSnowflakeアカウントの外部に転送することなく、Snowflake内で安全にReal IDs を生成できます。

Tip

その他のヘルプについては、 Acxiom RealID ドキュメント()を読むか、accrealid@acxiom.com までお問い合わせください。

前提条件

  1. Acxiomコネクタを構成する前に、ネイティブアプリのインストールについてAcxiomに問い合わせる必要があります。

  2. クリーンルーム管理者がコネクタを構成する前に、Acxiomネイティブアプリの所有者は以下を行う必要があります。

    1. Snowsight にサインインします。

    2. Acxiomネイティブアプリの所有権を持つロールを想定します。たとえば、 acxiom_admin_role ロールがAcxiomネイティブアプリの所有者である場合、以下を実行します。

      USE ROLE acxiom_admin_role;
      
      Copy
    3. 以下のコマンドを実行して、Acxiom realid_app_role アプリケーションロールに Snowflake Data Clean Rooms アクセス権を付与します。

      GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role
        TO ROLE samooha_app_role;
      
      Copy

Acxiom Real ID コネクタを構成します。

Acxiom Real ID コネクタを構成するには:

  1. ウェブアプリ でクリーンルーム環境にサインインします。

  2. 左側のナビゲーションで Connectors を選択します。

  3. Identity & Data Providers タブを選択します。

  4. Acxiom - Real ID を展開します。

  5. Application Database フィールドに、Acxiomネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。

  6. Warehouse ドロップダウンリストで、ウェアハウスのサイズを選択します。弊社では、 DCR_WH_XLarge を推奨していますが、 Acxiomのウェアハウスのサイズとパフォーマンスに関するガイダンス をお読みください。 Snowflake Data Clean Rooms で使用するウェアハウスの作成については、 ウェアハウスオプションを追加 をご覧ください。

  7. Save を選択します。

Acxiom Real ID トランスコーディングコネクタ

Acxiom Real ID のトランスコード機能により、Snowflakeアカウントの外部に PII を転送することなく、お客様のAcxiom Real IDs とビジネスパートナーのAcxiom Real IDs のクロスウォークを生成することができます。

Tip

その他のヘルプについては、 Acxiom Real ID トランスコーディングアプリケーション()を読むか、accrealid@acxiom.com にお問い合わせください。

前提条件

  1. 前述の <label-cleanrooms_acxiom_real_id_connector> の説明に従って、Acxiom Real ID ネイティブアプリをインストールしている必要があります。

  2. Acxiom Real ID トランスコーディングアプリケーションをインストールする必要があります。

  3. Acxiom Real ID Transcoding ネイティブアプリをインストールした際に生成されたクライアント ID とクライアントシークレットを共同作業者に連絡して入手してください。

  4. クリーンルーム管理者がコネクタを構成する前に、Acxiomネイティブアプリの所有者は以下を行う必要があります。

    1. Snowsight にサインインします。

    2. Acxiomネイティブアプリの所有権を持つロールを想定します。たとえば、 acxiom_admin_role ロールがAcxiomネイティブアプリの所有者である場合、以下を実行します。

      USE ROLE acxiom_admin_role;
      
      Copy
    3. 以下のコマンドを実行して、Acxiom realid_app_role アプリケーションロールに Snowflake Data Clean Rooms アクセス権を付与します。

      GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role TO ROLE samooha_app_role;
      
      Copy

Acxiom Real ID トランスコーディングコネクタの構成

Acxiom Real ID トランスコーディングコネクタを構成するには:

  1. ウェブアプリ でクリーンルーム環境にサインインします。

  2. 左側のナビゲーションで Connectors を選択します。

  3. Identity & Data Providers タブを選択します。

  4. Acxiom Real ID Transcoding を展開します。

  5. Application Database フィールドに、Acxiomネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。

  6. Client ID フィールドに、ネイティブアプリをインストールしたときにAcxiomから提供されたクライアント ID を入力します。

  7. Client Secret フィールドに、ネイティブアプリをインストールしたときにAcxiomから提供されたクライアントシークレットを入力します。

  8. Warehouse ドロップダウンリストで、ウェアハウスのサイズを選択します。弊社では、 DCR_WH_Medium を推奨していますが、 Acxiomのウェアハウスのサイズとパフォーマンスに関するガイダンス をお読みください。 Snowflake Data Clean Rooms で使用するウェアハウスの作成については、 ウェアハウスオプションを追加 をご覧ください。

  9. Acxiom Collaborator セクションで、 Acxiom Real ID Transcoding ネイティブアプリのインストール時に生成されたクライアント ID とクライアントシークレットとともに、1人以上のコラボレーターを選択します。コラボレーターがリストに表示されない場合、 クリーンルーム環境 に追加する必要があります。

  10. Save を選択します。

Google PAIR Display & Video 360 ID コネクタ

Googleは、Google Display & Video 360-PAIRアクティベーションコネクタで使用するPAIR ベースのIDコネクタを提供しています。このIDコネクタは、Google PAIR アクティベーションコネクタでのみ使用できます。Display & Video PAIR ID コネクタを使用する場合、そのclean roomでは他のIDコネクタを使用できません。

このIDコネクタの構成と使用方法については、アクティベーションコネクタの説明をお読みください

LiveRamp ID解決コネクタ

LiveRampのEmbedded Identityは、個人を特定できる情報 (PII) やデバイス識別子を、永続的な匿名の RampID に解決します。これはSnowflakeのMarketplaceで LiveRamp ネイティブアプリから入手できます。LiveRamp ID Resolution コネクタを構成してSnowflake Clean Room で使用する前に、まず LiveRamp ネイティブアプリをインストールする必要があります。手順については、 LiveRamp のドキュメントにある Snowflakeで LiveRamp ネイティブアプリをセットアップする をご参照ください。

Tip

その他のヘルプについては、LiveRamp のドキュメントにある SnowflakeのLiveRamp Embedded Identity を参照するか、snowflake@liveramp.com までメールでお問い合わせください。

以降では、 LiveRamp ID Resolutionのネイティブアプリケーションでclean room環境を統合する方法を説明します:

  1. clean roomウェブアプリの左のナビゲーションで、 Connectors を選択します。

  2. Identity & Data Providers タブを選択します。

  3. LiveRamp - Identity Resolution & Translation を展開します。

  4. Configuration Table フィールドに、 LiveRamp によって LiveRamp ネイティブアプリへの権限が付与されたアプリケーションデータベース名を入力します。

  5. このワークフローの認証用に LiveRamp から提供されたクライアント ID とシークレットを入力します。

  6. Warehouse ドロップダウンリストで、 ウェアハウスのサイズ を選択します。業務で使用するデータセットにもよりますが、ほとんどの PIIベースの実行タイプで 2XLのウェアハウスをお勧めしています。

  7. Save を選択します。

RampIDベースのどのユースケースでも、関連する個人の再識別を試みたり、 RampID のリバースエンジニアリングを試みたりしてはなりません。IDコネクタで使用するどのテーブルでも、既知のデータ (PII) と仮名のデータを常に区別する必要があります。セットアップ中、列を PII としてマークすることで、解決および衝突回避に役立てることができます。その他の機密識別子列 (SSNなど) は、テーブルを接続する前に完全に削除する必要があります。サポートが必要な場合や、質問がある場合は、 LiveRamp チームに相談してください。

LiveRamp RampID 翻訳コネクタ

LiveRampのRampID変換機能では、任意のパートナードメインエンコーディングから別のエンコーディングへのRampIDのトランスコーディングが可能になります。永続的な匿名識別子同士をマッチングさせることができ、基となる機密の識別子を共有する必要がありません。この機能は、 Snowflake Marketplace の LiveRamp ネイティブアプリで入手できます。

このコネクタを構成してSnowflake Clean Roomで使用する前に、まず LiveRamp ネイティブアプリをインストールする必要があります。

Tip

その他のヘルプについては、LiveRamp のドキュメントにある SnowflakeのLiveRamp Embedded Identity を参照するか、snowflake@liveramp.com までメールでお問い合わせください。

LiveRamp Translationネイティブアプリケーションを構成するには、次の手順に従います:

  1. Snowsight にサインインします。

  2. clean roomウェブアプリの左のナビゲーションで、 Connectors を選択します。

  3. Identity & Data Providers タブを選択します。

  4. LiveRamp - Identity Resolution & Translation を展開します。

  5. Configuration Table フィールドに、 LiveRamp によって LiveRamp ネイティブアプリへの権限が付与されたアプリケーションデータベース名を入力します。

  6. このワークフローの認証用に、 LiveRamp から提供されたクライアント ID とシークレットを入力します。

  7. ウェアハウスドロップダウンリストで、 ウェアハウスのサイズ を選択します。ID翻訳ワークフローに限り、小さいサイズのウェアハウスを使用できます。

  8. RampID Collaborators の下に以下を入力します。

    1. Snowflake Collaborator フィールドに、コラボレーターのSnowflakeアカウントの アカウントロケータ を入力します。

    2. Target Domain フィールドに、コラボレーターの RampID スペースに対する LiveRamp のターゲットドメインのエンコーディングを入力します。これは4文字の識別子です。詳しくは LiveRamp にお問合せください。

  9. Save を選択します。

Merkury Identityコネクタ

電通のMerkury Identity Connectorを使用すると、Merkury IDs 間のコラボレーションが可能になります。また、個人を特定できる情報 (PII) を選択し、仮名のMerkury ID に翻訳することもできます。

ステップ1: Merkury Identityコネクタネイティブアプリのインストール

  1. Merkury Identity Connectorネイティブアプリをインストールします。アカウントにリストを追加する場合は、Merkury (IDConnector@dentsu.com) までお問合せください。

  2. SAMOOHA_APP_ROLE ロールに権限を付与します。

    1. Snowsightにサインインします 。

    2. Merkuryネイティブアプリの所有権を持つロールを引き受けます。たとえば、 ACCOUNTADMIN ロールがMerkuryネイティブアプリの所有者である場合、 USE ROLE ACCOUNTADMIN; を実行します

    3. 次のコマンドを実行して、Snowflake Data Clean RoomsにMerkury DCR_DB_ROLE アプリケーションロールへのアクセス権を付与します。

    GRANT APPLICATION ROLE <merkury_app_database>.DCR_DB_ROLE TO ROLE samooha_app_role;
    
    Copy

ステップ2: Merkury Identityコネクタネイティブアプリの構成

  1. ウェブアプリでクリーンルームにサインインしてください。

  2. 左側のナビゲーションで Connectors を選択します。

  3. Identity & Data Providers タブを選択します。

  4. Merkury Identity Connector を展開します。

  5. Application database フィールドに、Merkury Identityネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。

  6. 認証します。

TransUnion TruAudience アイデンティティコネクタ

TransUnion TruAudience アイデンティティは、オンラインおよびオフラインの識別子を使用したコンシューマーデータハイジーン、エンリッチメント、マッチングソリューションを提供しています。自分のテーブルの行と TransUnion アイデンティティを照合し、コラボレーターのテーブルにある行を結合するために使用できます。

TransUnion 統合を使用する際は、以下の点に注意してください。

  • Snowflakeは ID 照合の際に TransUnion スコアフィルターを考慮しません。すべての照合が含まれます。

  • コンシューマーではなく、プロバイダーがOverlap Audience Analysisのような分析を実行する場合、明確なコラボレーション IDs、プロバイダーのカウントではなく、コンシューマーのカウントに基づいています。

  • SQL クエリテンプレートを使用してコラボレーション ID を集計することはできません。

このセクションでは、 TransUnionTruAudience アイデンティティ用のコネクタを構成する方法について説明します。このコネクタをインストールおよび構成するには、 MANAGE_DCR_CONNECTORS ロールが必要です。

コネクタを構成した後、Snowflakeは TransUnion コラボレーター IDs をソーステーブルの記録を一意に識別する値にマップするキャッシュを維持します。管理者として、たとえばキャッシュから特定の記録を削除するなど、 このキャッシュを管理する ことができます。

前提条件

クリーンルーム環境で TransUnion TruAudience アイデンティティコネクタを構成する前に、以下を完了する必要があります。

ステップ1: TransUnion ネイティブアプリをインストールします

Snowflake Marketplaceを使用して、 TransUnionTruAudience アイデンティティ用のネイティブアプリをインストールします。

ステップ2: クリーンルームネイティブアプリへ権限を付与します

TransUnion ネイティブアプリがインストールされた後、クリーンルーム管理者がコネクタを構成する前に、 TransUnion ネイティブアプリの所有者は以下の手順を実行する必要があります。

  1. Snowsight にサインインします。

  2. TransUnion ネイティブアプリの所有権を持つロールを想定します。例えば、 tu_admin_role ロールが TransUnion ネイティブアプリの所有者である場合、以下を実行します。

    USE ROLE tu_admin_role;
    
    Copy
  3. TransUnion アプリケーションロールとステップ1でインストールした TransUnion テーブルへのアクセス権を Snowflake Data Clean Rooms に付与します。

    GRANT APPLICATION ROLE <transunion_app_database>.tru_app_public
       TO ROLE SAMOOHA_APP_ROLE;
    
    GRANT SELECT, INSERT
       ON TABLE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS
       TO ROLE SAMOOHA_APP_ROLE;
    
    Copy
ステップ3: 必要なストアドプロシージャが存在することを確認します

TransUnion コネクタはストアドプロシージャに依存していますが、これはクリーンルーム環境によっては存在しないかもしれません。ストアドプロシージャが存在することを確認するには、 ACCOUNTADMIN ロールを持つユーザーとして以下のコマンドを実行します。

USE ROLE ACCOUNTADMIN;

DESCRIBE PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE;
Copy

プロシージャが存在しないというエラーが表示された場合は、以下のコマンドを使用してプロシージャを定義する必要があります。

USE ROLE ACCOUNTADMIN;

CREATE OR REPLACE PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE(APP_ROLE string, APPLICATION string)
   RETURNS string
   LANGUAGE SQL
   EXECUTE AS OWNER
   AS
   $$
   GRANT APPLICATION ROLE IDENTIFIER(:APP_ROLE) TO APPLICATION IDENTIFIER(:APPLICATION);
   $$;

GRANT USAGE ON PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE(string, string)
  TO ROLE SAMOOHA_APP_ROLE;
Copy

コネクタの構成

TransUnionTruAudience アイデンティティコネクタを構成するには:

  1. ウェブアプリ でクリーンルーム環境にサインインします。

  2. 左側のナビゲーションで Connectors を選択します。

  3. Identity & Data Providers タブを選択します。

  4. TransUnion - TruAudience Identity を展開します。

  5. Application Database フィールドに、 TransUnion ネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。

  6. Collaboration Key フィールドに、TransUnion から受け取った認証用のコラボレーションキーを入力します。

  7. クリーンルームユーザーがテーブルを TransUnion TruAudience アイデンティティと統合する際に使用するウェアハウスを選択します。

    IDの照合作業を1時間以内に完了させたい場合は、以下のガイドラインを参考にして、適切なウェアハウスのサイズを選択してください。

    行数

    ウェアハウスサイズ

    10万未満

    L

    100万

    XLarge

    500万〜1000万(住所付き)

    3XL

    1000万以上

    3XL

  8. Authenticate を選択します。

TransUnion TruAudience ID用キャッシュ

Snowflakeは、 TransUnion コラボレーター IDs を、記録を一意に識別するソーステーブルの値にマップするキャッシュを維持します。例えば、キャッシュは各コラボレーターの ID をソーステーブルの user_id 列の値にマップするかもしれません。キャッシュは SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS テーブルに格納されます。このテーブルには次の列が含まれます。

データ型

説明

inputid

VARCHAR

統合中に Unique Record Column として選択された列の値。

collaborationid

VARCHAR

入力 ID とその他の統合パラメーターに基づいて生成された TransUnion コラボレーション ID。

lastprocessed

TIMESTAMP_NTZ

TransUnion がコラボレーション ID を生成したときのタイムスタンプ。

キャッシュに対して以下のアクションを実行できます:

キャッシュを削除する
TRUNCATE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS;
Copy
キャッシュから特定の記録を削除する

カンマで区切られた一重引用符で囲まれた値のリストとして指定することで、キャッシュから特定の記録を削除することができます。例えば、 123456abcedf の入力 IDs を持つ記録を削除するには、以下を実行します。

DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS
  WHERE inputid IN ('123456', 'abcedf');
Copy
別のデータセットの入力 IDs に基づいて複数の記録を削除する

入力 IDs が別のテーブルの列に存在する場合、キャッシュから複数の記録を削除することができます。例えば、削除する入力 IDs が my_db.my_schema.ref_table テーブルの user_id 列にリストされている場合、以下を実行します。

DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS
  WHERE INPUTID IN (
    SELECT user_id as INPUTID
    FROM my_db.my_schema.ref_table
  );
Copy
バッチからすべての記録を追加する

TransUnion のビューに存在するバッチのすべての記録をキャッシュに追加することができます。

INSERT INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS (
  INPUTID,
  COLLABORATIONID,
  LASTPROCESSED
SELECT
  INPUTID,
  COLLABORATIONID,
  LASTPROCESSED
FROM <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW
WHERE BATCHID = '<BATCH_ID>';
Copy
バッチからすべての記録をマージする

既存の入力 ID の記録を、対応する新しいコラボレーション IDs と新しい最終処理タイムスタンプで上書きすることで、 TransUnion のビューに存在するバッチのすべての記録をキャッシュにマージすることができます。

MERGE INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS CT
USING <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW OT
  ON
    CT.INPUTID = OT.INPUTID
    AND OT.BATCHID = '<BATCH_ID>'
WHEN MATCHED THEN
  UPDATE SET
    CT.COLLABORATIONID = OT.COLLABORATIONID,
    CT.LASTPROCESSED = OT.LASTPROCESSED
WHEN NOT MATCHED THEN
  INSERT (
    INPUTID,
    COLLABORATIONID,
    LASTPROCESSED
  ) VALUES (
      OT.INPUTID,
      OT.COLLABORATIONID,
      OT.LASTPROCESSED
  );
Copy
入力 ID 記録にコラボレーター IDs を追加する

データセットの列として存在し、特定のバッチに存在する入力 ID 記録に対して、コラボレーター IDs を追加することができます。

INSERT INTO SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS (
  INPUTID,
  COLLABORATIONID,
  LASTPROCESSED
)
  SELECT
    INPUTID,
    COLLABORATIONID,
    LASTPROCESSED
  FROM <TRANSUNION_APPLICATION_DATABASE>.SHARE_SCHEMA.REF_MATCHING_OUTPUT_VIEW
  WHERE INPUTID IN (
    SELECT <column_name_containing_input_ids_to_be_added> as INPUTID
    FROM <dataset_fqtn_containing_input_ids_to_be_added>
    )
    AND BATCHID = '<BATCH_ID>';
Copy