BigQuery データ クリーンルームのクエリ テンプレートによる安全なデータ コラボレーション
Maggy Hu
Product Management Lead - BigQuery Sharing
Abhilasha Gupta
Software Engineer - BigQuery Sharing
※この投稿は米国時間 2025 年 10 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。
昨今のデータドリブンな環境では、安全かつ効率的にコラボレーションできることが最も重要です。BigQuery データ クリーンルームは、機密情報を損なうことなく、複数の関係者がデータを共有、結合、分析できる、堅牢で安全な環境を提供します。これを基盤にして、Google は本日、BigQuery データ クリーンルームのクエリ テンプレートのプレビュー版を発表します。これにより、クリーンルームでのコラボレーションに新たなレベルの制御、セキュリティ、使いやすさがもたらされます。この投稿では、これらのテンプレートがデータ コラボレーション ワークフローをどのように変革できるかを探ります。
クエリ テンプレートとは
クエリ テンプレートを使用すると、データ クリーンルームのオーナーは、特定の BigQuery テーブルに対して実行される、固定された再利用可能なクエリを作成できます。これらのテンプレートは入力パラメータを受け取り、結果の行のみを返します。これにより、ユーザーは元データにアクセスすることなくインサイトを得ることができます。クエリ テンプレートを使用すると、データ クリーンルームのオーナーは、特定の管理された環境に対して実行される、固定された再利用可能なクエリを作成できるため、データ漏洩のリスクが軽減されます。
-
データ漏洩防止の強化: クリーンルーム内でのオープンエンドの探索は、意図しないデータ漏洩に対するデータ クリーンルーム オーナーの懸念を高めます。事前定義されたテンプレートを使用してクエリを制限することで、機密データの侵害の可能性を大幅に減らしながら、ユーザーがセルフサービス方式でデータをクエリできるようにします。
-
ユーザーのオンボーディングの簡略化: 技術的な専門知識が限られているユーザーでも簡単に導入できるように、クリーンルームでは、プロバイダがサブスクライバーに代わって作成できる簡略化されたクエリ テンプレートを利用します。多くのデータ プロバイダには、プライバシーに配慮した複雑な SQL を使いこなせないサブスクライバーがいるため、これは非常に重要です。
-
分析の一貫性: 制御されたクエリ実行を通じて一貫した分析結果を得られます。この制御がないと、データ分析ルールを適用し、プライバシー規制を遵守することが困難になる可能性があります。
-
カスタマイズ可能なクエリ テンプレート: データオーナーとデータ提供者は、特定のクリーンルーム アプリケーションに適したカスタムの承認済みクエリを設計して公開できます。BigQuery のテーブル値関数(TVF)を利用したこれらのテンプレートでは、テーブル全体または選択したフィールドを入力すると、テーブルが出力として返されます。
BigQuery データ クリーンルームでクエリ テンプレートを使用する
クエリ テンプレートを使用すると、クリーンルーム内でさまざまな形式のデータ コラボレーションを促進できます。たとえば、次のようなことができます。
一方向の共有データ パブリッシャーがクエリ テンプレートを作成し、サブスクライブしているパートナーがパブリッシャーによって定義されたクエリのみを実行できるようにします。クエリ テンプレートの作成者は、クリーンルームに他の提供者が追加されないため、最終的には「自己承認」することになります。
シナリオ例:データ クリーンルームのオーナーであるスティーブが、Campaign Analysis というデータ クリーンルームを作成し、campaigns テーブルを含む my_campaign データセットを追加します。スティーブは、メタデータ スキーマのみが表示され、サブスクライバーがソースデータにアクセスできないように、メタデータ制御を構成します。次に、スティーブは campaigns からテーブル値関数を定義してクエリ テンプレートを作成し、リンクされたデータセットのすべてのサブスクライバーが、自社のテーブルを解析して自社のキャンペーンに関するインサイトを取得するために、TVF のみを実行するように制限します。
テンプレートの構文:


スティーブは campaigns テーブルに対する適切な権限(BigQuery データオーナーなど)を持っているため、レビューのためにクエリ テンプレートを送信した後、すぐに自分で承認できます。


共同作業の共有クリーンルームのオーナーが信頼できる提供者を招待し、互いのデータに対して実行するクエリを提案してもらいます。両者は、基盤となる共有データにアクセスすることなく、メタデータ スキーマのみを表示して、安全にクエリを提案できます。クエリ定義がテンプレート提案者のものではないデータを参照している場合、テンプレートはデータのオーナーのみが承認できます。
シナリオ例:データ クリーンルームのオーナーであるサリーが、データ クリーンルームの提供者であるヨシをキャンペーン分析に招待します。ヨシは、オーナーのデータとともに自分のデータをクエリするクエリ テンプレートを作成できます。
TVF の構文:
この例では、ヨシは campaigns テーブルを追加(つまり所有)していないため、クエリ テンプレートが承認のために送信されると、サリーのみが承認できます。これには、ヨシが設定した分析ルールのしきい値が含まれます。クエリ テンプレートを使用するには、ヨシはデータ クリーンルームをサブスクライブして TVF を呼び出します。ヨシは、company_id というフィールドを含む独自のテーブルをテーブル パラメータとして渡すことで、クエリ テンプレートで定義されたプライバシー SQL を実行できます。ここで注意すべきは、ヨシがデータをクリーンルームに追加する必要がないということです。
次に、ヨシが transactions テーブルと products テーブルを含む my_transactions データセットをクリーンルームに追加したとします。また、メタデータ スキーマのみが表示され、サブスクライバーがソースデータにアクセスできないように、メタデータ管理も構成します。
また、サリーはテーブルのメタデータ スキーマを表示することで、自分のデータを transactions テーブルに結合するためのさまざまなクエリ テンプレートを提案できるようになりました。たとえば、次のようなものがあります。
テンプレートの構文:
クエリ テンプレート内で結合を使用する例:
注: TVF クエリ構文内で参照できるのは、同じ当事者が所有する複数のテーブルのみです。詳しくは、クエリ テンプレートの制限事項をご覧ください。
この例では、サリーは transactions テーブルを追加(つまり所有)していないため、クエリ テンプレートが承認のために送信されると、ヨシだけが承認できます。これには、サリーが設定した分析ルールのしきい値が含まれます。クエリ テンプレートを使用するには、サリーはクリーンルームをサブスクライブして TVF を呼び出します。サリーは、user_ID というフィールドを含む独自のテーブルをテーブル パラメータとして渡すことで、クエリ テンプレートで定義されたプライバシー SQL を実行できます。ここで注意すべきは、サリーはデータをクリーンルームに追加する必要がないということです。
クエリ テンプレートはテーブル値関数を使用して構築されるため、パブリッシャーは、クエリ定義(ロジック)がサブスクライバーに表示されないことを保証できます。サブスクライバーは、入力として受け入れられるパラメータのタイプ(テーブル名またはフィールド)を確認できるだけで、承認されたクエリ テンプレートで定義された TVF のみ実行できます。また、データ パブリッシャーは、クリーンルームに追加された基盤となるデータがサブスクライバーと共有されないようにすることができます。
BigQuery クエリ テンプレートの特長
BigQuery クエリ テンプレートは、データ アナリストのツールボックスに強力な機能を追加し、次のような多くのメリットをもたらします。
-
セキュリティの強化: クエリ テンプレートを使用すると、データ提供者はクリーンルームで実行されるクエリを制限および制御できるため、機密データが偶発的または意図的に漏洩するリスクが軽減され、不要な共有データへの露出が制限されます(たとえば、データをクリーンルームに共有する必要はなく、スキーマを追加するだけで済みます)。
-
ガバナンスの向上: クエリを事前定義することで、データ分析ルールをより適切に適用し、プライバシー規制の遵守をサポートできます。
-
オンボーディングの簡略化: SQL の技術に精通していないサブスクライバー(特に差分プライバシーと集計しきい値の SQL 構文を使用する場合)は、事前に構築されたクエリ テンプレートを簡単に使用して、データからインサイトを得ることができます。
-
一貫した分析結果: クエリ テンプレートを使用すると、サブスクライバーは事前定義されたクエリを使用できるため、一貫した分析結果が得られます。
-
ワークフローの合理化: クエリ テンプレートは、一般的なインサイトに対するクエリを標準化することで時間と労力を節約し、カスタムクエリを外部の共同作業者に説明する必要をなくします。
-
レポート作成の迅速化: 事前に作成されたクエリを使用することで、サブスクライバーはクリーンルームからレポートを迅速に生成し、ワークフローを効率化できます。
-
柔軟なコラボレーション: クエリ テンプレートは、承認ワークフローによる一方向の共有と複数当事者間のコラボレーションをサポートします。
ご関心をお持ちであれば、BigQuery データ クリーンルームのクエリ テンプレートについて詳しくは、こちらのドキュメントをご覧ください。
-BigQuery Sharing、プロダクト管理リード、Maggy Hu
-BigQuery Sharing、ソフトウェア エンジニア、Abhilasha Gupta



