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は、さらに複雑になるということなく、複数者間のコラボレーションをサポートします。新しい設計では、プロバイダーとコンシューマー、プロバイダーが実行する分析とコンシューマーが実行する分析、そして単純なコラボレーションと複数者間のコラボレーションといった概念を、構成可能なクリーンルームに置き換え、あらゆる関係者がデータとテンプレートを提供し、分析を実行できるようにします。
プロバイダーおよびコンシューマーのクリーンルームと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者間によるコラボレーションを簡略化したものです。
図に関する注記:
この図は、Data Clean Rooms Collaboration API を使用してコラボレーションを作成および管理している2人のコラボレーターを示しています。
図のコラボレーション定義 YAML に示されているように、コラボレーターAは所有者および作成者です。コラボレーターAは、データ提供共有で示されるデータプロバイダーでもあります。
図のデータ提供共有で示されているように、コラボレーターBはデータプロバイダーです。
コラボレーション定義が許可されている場合、AとBの両方が分析実行者として機能するようになります。
Secure Collaboration Orchestrator(SCO)は、コラボレーションを管理するアカウントです。SCO はコラボレーションごとに個別のアプリパッケージを作成します。このアプリパッケージは、すべての潜在的なコラボレーターがインストール(参加)できるアプリケーションです。すべてのコラボレーターは、DCR コラボレーション API を使用してコラボレーションアプリを操作します。SCO に関連するコストはユーザーに請求されません。
コラボレーターはデータ提供を作成し、SCO はコラボレーション定義に従ってそのデータをコラボレーターと共有します。SCO は、コラボレーション、データ提供、テンプレート、および分析の仕様を使用して、どのテンプレートを使用して誰がどのデータにアクセスできるか、どのデータを誰がアクティブ化できるか、自由形式の SQL アクセスが提供されるかどうかなどのコラボレーションポリシーを適用します。