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 までお問い合わせください。
前提条件¶
Acxiomコネクタを構成する前に、ネイティブアプリのインストールについてAcxiomに問い合わせる必要があります。
クリーンルーム管理者がコネクタを構成する前に、Acxiomネイティブアプリの所有者は以下を行う必要があります。
Snowsight にサインインします。
Acxiomネイティブアプリの所有権を持つロールを想定します。たとえば、
acxiom_admin_role
ロールがAcxiomネイティブアプリの所有者である場合、以下を実行します。USE ROLE acxiom_admin_role;
以下のコマンドを実行して、Acxiom
realid_app_role
アプリケーションロールに Snowflake Data Clean Rooms アクセス権を付与します。GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role TO ROLE samooha_app_role;
Acxiom Real ID コネクタを構成します。¶
Acxiom Real ID コネクタを構成するには:
ウェブアプリ でクリーンルーム環境にサインインします。
左側のナビゲーションで Connectors を選択します。
Identity & Data Providers タブを選択します。
Acxiom - Real ID を展開します。
Application Database フィールドに、Acxiomネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。
Warehouse ドロップダウンリストで、ウェアハウスのサイズを選択します。弊社では、
DCR_WH_XLarge
を推奨していますが、 Acxiomのウェアハウスのサイズとパフォーマンスに関するガイダンス をお読みください。 Snowflake Data Clean Rooms で使用するウェアハウスの作成については、 ウェアハウスオプションを追加 をご覧ください。Save を選択します。
Acxiom Real ID トランスコーディングコネクタ¶
Acxiom Real ID のトランスコード機能により、Snowflakeアカウントの外部に PII を転送することなく、お客様のAcxiom Real IDs とビジネスパートナーのAcxiom Real IDs のクロスウォークを生成することができます。
Tip
その他のヘルプについては、 Acxiom Real ID トランスコーディングアプリケーション()を読むか、accrealid@acxiom.com にお問い合わせください。
前提条件¶
前述の <label-cleanrooms_acxiom_real_id_connector> の説明に従って、Acxiom Real ID ネイティブアプリをインストールしている必要があります。
Acxiom Real ID トランスコーディングアプリケーションをインストールする必要があります。
Acxiom Real ID Transcoding ネイティブアプリをインストールした際に生成されたクライアント ID とクライアントシークレットを共同作業者に連絡して入手してください。
クリーンルーム管理者がコネクタを構成する前に、Acxiomネイティブアプリの所有者は以下を行う必要があります。
Snowsight にサインインします。
Acxiomネイティブアプリの所有権を持つロールを想定します。たとえば、
acxiom_admin_role
ロールがAcxiomネイティブアプリの所有者である場合、以下を実行します。USE ROLE acxiom_admin_role;
以下のコマンドを実行して、Acxiom
realid_app_role
アプリケーションロールに Snowflake Data Clean Rooms アクセス権を付与します。GRANT APPLICATION ROLE <acxiom_app_database>.realid_app_role TO ROLE samooha_app_role;
Acxiom Real ID トランスコーディングコネクタの構成¶
Acxiom Real ID トランスコーディングコネクタを構成するには:
ウェブアプリ でクリーンルーム環境にサインインします。
左側のナビゲーションで Connectors を選択します。
Identity & Data Providers タブを選択します。
Acxiom Real ID Transcoding を展開します。
Application Database フィールドに、Acxiomネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。
Client ID フィールドに、ネイティブアプリをインストールしたときにAcxiomから提供されたクライアント ID を入力します。
Client Secret フィールドに、ネイティブアプリをインストールしたときにAcxiomから提供されたクライアントシークレットを入力します。
Warehouse ドロップダウンリストで、ウェアハウスのサイズを選択します。弊社では、
DCR_WH_Medium
を推奨していますが、 Acxiomのウェアハウスのサイズとパフォーマンスに関するガイダンス をお読みください。 Snowflake Data Clean Rooms で使用するウェアハウスの作成については、 ウェアハウスオプションを追加 をご覧ください。Acxiom Collaborator セクションで、 Acxiom Real ID Transcoding ネイティブアプリのインストール時に生成されたクライアント ID とクライアントシークレットとともに、1人以上のコラボレーターを選択します。コラボレーターがリストに表示されない場合、 クリーンルーム環境 に追加する必要があります。
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コネクタを使用できません。
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環境を統合する方法を説明します:
clean roomウェブアプリの左のナビゲーションで、 Connectors を選択します。
Identity & Data Providers タブを選択します。
LiveRamp - Identity Resolution & Translation を展開します。
Configuration Table フィールドに、 LiveRamp によって LiveRamp ネイティブアプリへの権限が付与されたアプリケーションデータベース名を入力します。
このワークフローの認証用に LiveRamp から提供されたクライアント ID とシークレットを入力します。
Warehouse ドロップダウンリストで、 ウェアハウスのサイズ を選択します。業務で使用するデータセットにもよりますが、ほとんどの PIIベースの実行タイプで 2XLのウェアハウスをお勧めしています。
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ネイティブアプリケーションを構成するには、次の手順に従います:
Snowsight にサインインします。
clean roomウェブアプリの左のナビゲーションで、 Connectors を選択します。
Identity & Data Providers タブを選択します。
LiveRamp - Identity Resolution & Translation を展開します。
Configuration Table フィールドに、 LiveRamp によって LiveRamp ネイティブアプリへの権限が付与されたアプリケーションデータベース名を入力します。
このワークフローの認証用に、 LiveRamp から提供されたクライアント ID とシークレットを入力します。
ウェアハウスドロップダウンリストで、 ウェアハウスのサイズ を選択します。ID翻訳ワークフローに限り、小さいサイズのウェアハウスを使用できます。
RampID Collaborators の下に以下を入力します。
Snowflake Collaborator フィールドに、コラボレーターのSnowflakeアカウントの アカウントロケータ を入力します。
Target Domain フィールドに、コラボレーターの RampID スペースに対する LiveRamp のターゲットドメインのエンコーディングを入力します。これは4文字の識別子です。詳しくは LiveRamp にお問合せください。
Save を選択します。
Merkury Identityコネクタ¶
電通のMerkury Identity Connectorを使用すると、Merkury IDs 間のコラボレーションが可能になります。また、個人を特定できる情報 (PII) を選択し、仮名のMerkury ID に翻訳することもできます。
ステップ1: Merkury Identityコネクタネイティブアプリのインストール¶
Merkury Identity Connectorネイティブアプリをインストールします。アカウントにリストを追加する場合は、Merkury (IDConnector@dentsu.com) までお問合せください。
SAMOOHA_APP_ROLE ロールに権限を付与します。
Snowsightにサインインします 。
Merkuryネイティブアプリの所有権を持つロールを引き受けます。たとえば、 ACCOUNTADMIN ロールがMerkuryネイティブアプリの所有者である場合、
USE ROLE ACCOUNTADMIN;
を実行します次のコマンドを実行して、Snowflake Data Clean RoomsにMerkury
DCR_DB_ROLE
アプリケーションロールへのアクセス権を付与します。
GRANT APPLICATION ROLE <merkury_app_database>.DCR_DB_ROLE TO ROLE samooha_app_role;
ステップ2: Merkury Identityコネクタネイティブアプリの構成¶
左側のナビゲーションで Connectors を選択します。
Identity & Data Providers タブを選択します。
Merkury Identity Connector を展開します。
Application database フィールドに、Merkury Identityネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。
認証します。
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 ネイティブアプリの所有者は以下の手順を実行する必要があります。
Snowsight にサインインします。
TransUnion ネイティブアプリの所有権を持つロールを想定します。例えば、
tu_admin_role
ロールが TransUnion ネイティブアプリの所有者である場合、以下を実行します。USE ROLE tu_admin_role;
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;
- ステップ3: 必要なストアドプロシージャが存在することを確認します
TransUnion コネクタはストアドプロシージャに依存していますが、これはクリーンルーム環境によっては存在しないかもしれません。ストアドプロシージャが存在することを確認するには、 ACCOUNTADMIN ロールを持つユーザーとして以下のコマンドを実行します。
USE ROLE ACCOUNTADMIN; DESCRIBE PROCEDURE SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.GRANT_EXTERNAL_APP_ROLE;
プロシージャが存在しないというエラーが表示された場合は、以下のコマンドを使用してプロシージャを定義する必要があります。
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;
コネクタの構成
TransUnionTruAudience アイデンティティコネクタを構成するには:
ウェブアプリ でクリーンルーム環境にサインインします。
左側のナビゲーションで Connectors を選択します。
Identity & Data Providers タブを選択します。
TransUnion - TruAudience Identity を展開します。
Application Database フィールドに、 TransUnion ネイティブアプリによってインストールされたアプリケーションデータベースの名前を入力します。
Collaboration Key フィールドに、TransUnion から受け取った認証用のコラボレーションキーを入力します。
クリーンルームユーザーがテーブルを TransUnion TruAudience アイデンティティと統合する際に使用するウェアハウスを選択します。
IDの照合作業を1時間以内に完了させたい場合は、以下のガイドラインを参考にして、適切なウェアハウスのサイズを選択してください。
行数
ウェアハウスサイズ
10万未満
L
100万
XLarge
500万〜1000万(住所付き)
3XL
1000万以上
3XL
Authenticate を選択します。
このセクションでは、Webアプリケーションで TransUnion TruAudience IDコネクタを使用する方法について説明します。
TransUnion コネクタでデータをエンリッチするには:
クリーンルームの作成またはインストールプロセスを開始します。
Specify Join Policies ステップまで来たら、 Identity Hub を展開します。
TransUnion (TruAudience Identity) を選択します。
Table フィールドで、 TransUnion コラボレーション IDs で強化したいデータを含むテーブルを選択します。
Unique Record Column フィールドで、たとえばシステムが生成するユーザー ID など、テーブル内のレコードを一意に識別する列を選択します。
User Identifiers セクションを使用して、 TransUnion ID タイプをテーブルの列に関連付けます。これらの列は、 TransUnion IDを一致させるために使用されます。これらの列の値は、以下の要件に適合していなければなりません。
IDタイプ
形式要件
住所
住所行 --- シングル入力。1行目と2行目の住所については、2つの値を1つの値にまとめます。
都市 --- 文字列。
州 --- 2文字の略称。
郵便番号 --- 郵便番号または郵便番号+4。スペースやハイフンなどの特殊文字は除きます。
生年月日
yyyy-mm-dd形式。
デバイス ID
ハイフンありの IDs (36文字の長さのrawデバイス IDs/MAIDs/IFAs)またはハイフンなしの IDs (32& 40文字の長さのハッシュ化されたデバイス IDs/MAIDs/IFAs)のいずれかを入力します。
メール
プレーンテキストまたは SHA256-ハッシュ化された小文字の文字列。
名
ニックネームを含む、大文字または小文字の名前。タイトルや接尾辞は除きます。
IP アドレス
IPv4 アドレスをドット表記または整数形式で記述します。 PARSE_IP 関数を使用すると、整数形式トを取得できます。
姓
大文字または小文字の名前。ミドルネームのイニシャルは除きます。
電話
スペースやハイフンなどの特殊文字を除いた10桁の数字。
一致した TransUnion ID
Snowflakeがテーブルの記録と TransUnion IDを一致させると、コラボレーター IDs が新しい列 TCUID
としてテーブルに追加されます。コラボレーターが自分のテーブルに列を追加すると、 TransUnion コラボレーター ID に基づいてレコードを照合できます。
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;
- キャッシュから特定の記録を削除する
カンマで区切られた一重引用符で囲まれた値のリストとして指定することで、キャッシュから特定の記録を削除することができます。例えば、
123456
とabcedf
の入力 IDs を持つ記録を削除するには、以下を実行します。DELETE FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.SAMOOHA_INTERNAL_TRANSUNION_ID_GENERATION_RECORDS WHERE inputid IN ('123456', 'abcedf');
- 別のデータセットの入力 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 );
- バッチからすべての記録を追加する
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>';
- バッチからすべての記録をマージする
既存の入力 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 );
- 入力 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>';