BigQuery でエンティティ解決を構成して使用する
このドキュメントでは、エンティティ解決のエンドユーザー(以下、エンドユーザー)と ID プロバイダがエンティティ解決を実装する方法について説明します。
エンドユーザーの場合は、このドキュメントを使用して、ID プロバイダに接続し、プロバイダのサービスを利用してレコードを照合できます。ID プロバイダの場合は、このドキュメントを使用して、Google Cloud Marketplace のエンドユーザーと共有するサービスを設定および構成できます。
エンドユーザーのワークフロー
以降のセクションでは、エンドユーザーが BigQuery でエンティティ解決を構成する方法について説明します。全体的な手順については、エンティティ解決のアーキテクチャをご覧ください。全体の手順がビジュアルに表現されています。
始める前に
- ID プロバイダに連絡し、関係を確立します。BigQuery は、LiveRamp によるエンティティ解決をサポートしています。
- ID プロバイダから次の項目を取得します。
- サービス アカウント認証情報
- リモート関数のシグネチャ
- プロジェクトに次の 2 つのデータセットを作成します。
- 入力データセット
- 出力データセット
必要なロール
エンティティ解決ジ��ブの実行に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
ID プロバイダのサービス アカウントが入力データセットを読み取り、出力データセットに書き込む場合:
-
入力データセットに対する BigQuery データ閲覧者(
roles/bigquery.dataViewer
) -
出力データセットに対する BigQuery データ編集者(
roles/bigquery.dataEditor
)
-
入力データセットに対する BigQuery データ閲覧者(
ロールの付与の詳細については、アクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
エンティティの変換または解決
個々の ID プロバイダでの手順については、以降のセクションをご覧ください。
LiveRamp
前提条件
- BigQuery で LiveRamp Embedded Identity を構成する。詳しくは、BigQuery での LiveRamp Embedded Identity の有効化をご覧ください。
- LiveRamp と連携して、Embedded Identity で使用する API 認証情報を有効にする。詳しくは、認証をご覧ください。
設定
LiveRamp Embedded Identity を初めて使用する場合は、次の手順が必要です。設定の完了後は、実行間で入力テーブルとメタデータ テーブルのみを変更する必要があります。
入力テーブルを作成する
入力データセットにテーブルを作成します。テーブルに RampID、ターゲット ドメイン、ターゲット タイプを入力します。詳細と例については、Input Table Columns and Descriptions をご覧ください。
メタデータ テーブルを作成する
メタデータ テーブルは、BigQuery での LiveRamp Embedded Identity の実行を制御するために使用します。入力データセットにメタデータ テーブルを作成します。メタデータ テーブルに、クライアント ID、実行モード、ターゲット ドメイン、ターゲット タイプを入力します。詳細と例については、Metadata Table Columns and Descriptions をご覧ください。
LiveRamp とテーブルを共有する
LiveRamp Google Cloud サービス アカウントに、入力データセット内のデータを表示して処理するためのアクセス権を付与します。詳細と例については、Share Tables and Datasets with LiveRamp をご覧ください。
埋め込み ID ジョブを実行する
BigQuery で LiveRamp を使用して埋め込み ID ジョブを実行する手順は次のとおりです。
- ドメインでエンコードされたすべての RampID が入力テーブルに含まれていることを確認します。
- ジョブを実行する前に、メタデータ テーブルが正確であることを確認します。
- ジョブプロセスのリクエストについては、LiveRampIdentitySupport@liveramp.com にお問い合わせください。入力テーブル、メタデータ テーブル、出力データセットのプロジェクト ID、データセット ID、テーブル ID(該当する場合)を含めます。詳しくは、Notify LiveRamp to Initiate Transcoding をご覧ください。
通常、結果は 3 営業日以内に出力データセットに配信されます。
LiveRamp のサポート
サポートに関する問題については、LiveRamp Identity サポートにお問い合わせください。
LiveRamp の課金
LiveRamp は、エンティティ解決のための課金を処理します。
ID プロバイダのワークフロー
以降のセクションでは、ID プロバイダで BigQuery でエンティティ解決を構成する方法について説明します。全体的な手順については、エンティティ解決のアーキテクチャをご覧ください。全体の手順がビジュアルに表現されています。
始める前に
- リモート関数と統合する Cloud Run ジョブまたは Cloud Functions の関数を作成します。どちらのオプションもこの目的に適しています。
Cloud Run または Cloud Functions の関数に関連付けられているサービス アカウントの名前をメモします。
Google Cloud コンソールで、[Cloud Functions] ページに移動します。
関数の名前をクリックし、[詳細] タブをクリックします。
[全般情報] ペインで、リモート関数のサービス アカウント名を見つけてメモします。
リモート関数を作成します。
エンドユーザーからエンドユーザー プリンシパルを収集します。
必要なロール
エンティティ解決ジョブの実行に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
関数に関連付けられているサービス アカウントで、関連するデータセットの読み取りと書き込みを行い、ジョブを起動する場合:
-
プロジェクトに対する BigQuery データ編集者(
roles/bigquery.dataEditor
) -
プロジェクトに対する BigQuery ジョブユーザー(
roles/bigquery.jobUser
)
-
プロジェクトに対する BigQuery データ編集者(
-
エンドユーザー プリンシパルがリモート関数を表示して接続できるようにする場合:
-
接続に対する BigQuery Connection ユーザー(
roles/bigquery.connectionUser
) -
リモート関数のあるコントロール プレーン データセットに対する BigQuery データ閲覧者(
roles/bigquery.dataViewer
)
-
接続に対する BigQuery Connection ユーザー(
ロールの付与の詳細については、アクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
エンティティ解決のリモート関数を共有する
次のリモート インターフェース コードを変更して、エンドユーザーと共有します。エン��ユーザーがエンティティ解決ジョブを開始する際に、このコードが必要になります。
`PARTNER_PROJECT_ID.DATASET_ID`.match`(LIST_OF_PARAMETERS)
LIST_OF_PARAMETERS は、リモート関数に渡されるパラメータのリストに置き換えます。
省略可: ジョブのメタデータを提供する
必要に応じて、別のリモート関数を使用するか、ユーザーの出力データセットに新しいステータス テーブルを書き込むことで、ジョブ メタデータを提供できます。メタデータの例としては、ジョブのステータスや指標などがあります。
ID プロバイダへの課金
お客様への課金とオンボーディングを効率的に行うために、エンティティ解決サービスを Google Cloud Marketplace と統合することをおすすめします。これにより、エンティティ解決ジョブの使用状況に基づいて料金モデルを設定し、Google が請求を処理します。詳細については、Software as a Service(SaaS)プロダクトの提供をご覧ください。