Snowflake Collaboration Data Clean Roomsについて

概要

Snowflake Data Clean Roomsは、Collaboration Data Clean Roomsと呼ばれる新しいデータクリーンルームアーキテクチャをプレビューしています。Collaboration Data Clean Roomsにより、お客様は完全に対称なマルチパーティ環境でコラボレーションを行うことができます。コラボレーターのロールと数を制限する従来のプロバイダーコンシューマーモデルとは異なり、コラボレーション API は、柔軟なロールと任意の数の参加者に対するきめ細かいデータアクセス制御をサポートします。

プロバイダーおよびコンシューマーのデータクリーンルームとCollaboration Data Clean Rooms

最初のデータクリーンルームアーキテクチャであるプロバイダーおよびコンシューマーのクリーンルームは、主に2者間のコラボレーションを目的に設計されています。Collaboration Data Clean Roomsは、さらに複雑になるということなく、複数者間のコラボレーションをサポートします。新しい設計では、プロバイダーとコンシューマー、プロバイダーが実行する分析とコンシューマーが実行する分析、そして単純なコラボレーションと複数者間のコラボレーションといった概念を、構成可能なクリーンルームに置き換え、あらゆる関係者がデータとテンプレートを提供し、分析を実行できるようにします。

2人の参加者とのコラボレーションの概要

 

プロバイダーおよびコンシューマーのクリーンルームとCollaboration Data Clean Roomsは、しばらくの間共存します。プロバイダーおよびコンシューマーのクリーンルームは引き続きご利用いただけ、変更または削除されることはありません。ですが、新しいCollaboration Data Clean Roomsもぜひお試しください。私たちの目標はすべてのユーザーをCollaboration Data Clean Roomsに移行させることです。実現すれば、さらにシンプルで堅牢なコラボレーションエクスペリエンスをお届けできます。

Snowflake Collaboration Data Clean Roomsの紹介

新しいデータクリーンルームアーキテクチャでは、クリーンルームは*コラボレーション*と呼ばれ、コラボレーションにアクセスできるすべてのユーザーは*コラボレーター*と呼ばれます。各コラボレーターは、コラボレーションにおいて1つ以上の*ロール*を持っています。この場合、ロール*という用語は RBAC ロール []_ を指すのではなく、ユーザーが実行できる操作を定義する一連の権限を指します。コラボレーションには以下のロールが存在します。

  • 所有者: コラボレーションを作成し、コラボレーションで誰がどのようなロールを持つかを決定します。

  • データプロバイダー: 指定された分析実行者が使用するデータをインポートできます。

  • 分析実行者: 指定されたデータプロバイダーが提供するデータ提供を使用して、コラボレーションでクエリを実行できます。

各コラボレーターは複数のロールを持つことができ、コラボレーションには複数のデータプロバイダーと分析実行者を指定できますが、所有者は1人だけです。

コラボレーションには、さまざまな種類の*リソース*を含めることができます。

  • テンプレート: SQL クエリに評価される JinjaSQL テンプレート。テンプレートはどのコラボレーターでもコラボレーションに追加できますが、テンプレートはテンプレートプロバイダーが指定した分析実行者のみが実行できます。

  • データ提供: そのコラボレーションで特定の分析実行者を持つデータプロバイダーによって共有される1つ以上のビューのパッケージ。

すべてのリソースとコラボレーション定義自体は、コラボレーターによって登録された YAML 仕様ファイルを使用して指定されます。コラボレーターは、コラボレーション作成後にリソースを追加または削除できますが、所有者がコラボレーションを作成した後、ロールを変更したり、新しいメンバーを招待したりすることはできません。

要件と現在の制限

  • すべてのアカウントに最新バージョンの Snowflake Data Clean Rooms がインストールされている必要があります。クリーンルームの環境を更新する方法を学ぶ。

  • 所有者とデータプロバイダーはSnowflake Enterprise Editionを使用する必要があります。分析実行者はStandard Editionを使用できます。

システムアーキテクチャ

このセクションでは、Snowflake Data Clean Roomsでのコラボレーションがどのように機能するかについての概要を説明します。

次の図は、2者間によるコラボレーションを簡略化したものです。

2人の参加者とのコラボレーションの概要

図に関する注記:

この図は、Data Clean Rooms Collaboration API を使用してコラボレーションを作成および管理している2人のコラボレーターを示しています。

図のコラボレーション定義 YAML に示されているように、コラボレーターAは所有者および作成者です。コラボレーターAは、データ提供共有で示されるデータプロバイダーでもあります。

図のデータ提供共有で示されているように、コラボレーターBはデータプロバイダーです。

コラボレーション定義が許可されている場合、AとBの両方が分析実行者として機能するようになります。

Secure Collaboration Orchestrator(SCO)は、コラボレーションを管理するアカウントです。SCO はコラボレーションごとに個別のアプリパッケージを作成します。このアプリパッケージは、すべての潜在的なコラボレーターがインストール(参加)できるアプリケーションです。すべてのコラボレーターは、DCR コラボレーション API を使用してコラボレーションアプリを操作します。SCO に関連するコストはユーザーに請求されません。

コラボレーターはデータ提供を作成し、SCO はコラボレーション定義に従ってそのデータをコラボレーターと共有します。SCO は、コラボレーション、データ提供、テンプレート、および分析の仕様を使用して、どのテンプレートを使用して誰がどのデータにアクセスできるか、どのデータを誰がアクティブ化できるか、自由形式の SQL アクセスが提供されるかどうかなどのコラボレーションポリシーを適用します。