Azure Databricks Clean Rooms とは
重要
この機能はパブリック プレビュー段階にあります。 アクセスを要求するには、Azure Databricks の担当者にお問い合わせください。
この記事では、Azure Databricks の機能の 1 つである Clean Rooms を紹介します。この機能は Delta Sharing とサーバーレス コンピューティングを使用して安全でプライバシーが保護される環境を作るものであり、この環境では複数の関係者が、機密性の高いエンタープライズ データでの作業を共同で行うことができますが、互いのデータに直接アクセスすることはありません。
要件
クリーン ルームの利用資格を得るには、次の条件を満たす必要があります。
- サインアップしてパブリック プレビューの承認を受ける。 アクセスを要求するには、Azure Databricks アカウント チームにお問い合わせください。
- サーバーレス コンピューティングに対して有効化されたアカウントを保有している。 「サーバーレス コンピューティングを有効にする」をご覧ください。
- Unity Catalog に対して有効化されたワークスペースを保有している。 「Unity Catalog のワークスペースを有効にする」を参照してください。
クリーン ルームのしくみは?
クリーン ルームを作成するときは、次のものを作成します。
- 自分の Unity Catalog メタストア内の、セキュリティ保護可能なクリーン ルーム オブジェクト。
- "中央" クリーン ルーム。これは分離されたエフェメラル環境であり、Databricks によって管理されます。
- コラボレーターの Unity Catalog メタストア内の、セキュリティ保護可能なクリーン ルーム オブジェクト。
コラボレーターの 1 人がテーブル、ボリューム (表形式ではないデータ)、ノートブックをクリーン ルーム内で共有すると、これらは Delta Sharing を使用して中央クリーン ルームのみと共有されます。
コラボレーターは、他のコラボレーターのテーブルとボリュームの中のデータを見ることはできませんが、列名と列の型は見ることができ、これらのテーブルとボリュームに対して作用する承認済みのノートブック コードを実行することができます。 このノートブック コードは中央クリーン ルームで実行されます。
Clean Rooms はどのようにしてノートラスト環境を保証するのですか?
Databricks Clean Rooms モデルは "ノートラスト" (no-trust) です。 ノートラスト クリーン ルーム内のコラボレーター全員に同じ特権が付与され、これにはそのクリーン ルームの作成者も含まれます。 Clean Rooms は、未承認のコードの実行とデータの不正な共有を防止するように設計されています。 たとえば、ノートブックを実行するには、コラボレーター全員が事前に承認する必要があります。 この信頼は、ノートブックを作成したコラボレーター本人による実行を禁止するという形で暗黙的に適用されます。つまり、実行できるのは他のコラボレーターによって作成されたノートブックのみです。
追加のセーフガードまたは制限
前述の暗黙的なノートブック承認プロセスに加えて、次のセーフガードが設定されています。
クリーン ルームは作成後にロックダウンされるため、新しいコラボレーターがそのクリーン ルームに参加することはできません。
コラボレーターのいずれかがクリーン ルームを削除した場合は、中央クリーン ルームは無効になり、どのユーザーもクリーン ルーム タスクを実行できなくなります。
パブリック プレビュー期間中は、各クリーン ルームのコラボレーターは 2 名までに制限されます。
クリーン ルームの名前を変更することはできません。
クリーン ルームの名前はすべてのコラボレーターのメタストア内で一意である必要があります。これは、あいまいさをなくしてコラボレーター全員が同じクリーン ルームを参照できるようにするためです。
各コラボレーターのワークスペース内での、クリーン ルームのセキュリティ保護可能なリソースに関するコメントが他のコラボレーターに伝達されることはありません。
何が他のコラボレーターと共有されるのですか?
- クリーン ルームの名前。
- 中央クリーン ルームのクラウドとリージョン。
- 自分の組織名 (任意の名前を選択できます)。
- クリーン ルーム共有識別子 (グローバル メタストア ID + ワークスペース ID + ユーザーメール アドレス)。
- 共有テーブルまたはボリュームのエイリアス。
- 列のメタデータ (列名またはエイリアスと型)。
- ノートブック (読み取り専用)。
- クリーン ルーム イベント システム テーブル。
- 実行履歴。これには次のものが含まれます。
- 実行されているノートブックの名前
- ノートブックを実行したコラボレーター (ユーザーではありません)。
- ノートブック実行の状態。
- ノートブック実行の開始時刻。
何が中央クリーン ルームと共有されるのですか?
前のセクションのリストに示したものすべて。
読み取り専用のテーブル、ボリューム、ノートブック。
テーブルとボリュームは、指定されたエイリアス (ある場合) を使用して中央クリーン ルームのメタストアに登録されます。 テーブル、ボリューム、ノートブックは、クリーン ルームのライフサイクル全体で共有されます。
制限事項
パブリック プレビュー中は、次の制限事項が適用されます。
- 悪意のあるコードによってデータが外部の場所に流出するのを防ぐという目的でクリーン ルーム内でインターネットをオフにすることはサポートされません。
- 必要な Databricks Runtime バージョンには、サービス資格情報の Scala ライブラリは含まれていません。
リソース クォータ
Azure Databricks は、すべてのクリーン ルームのセキュリティ保護可能なオブジェクトにリソース クォータを実施します。 これらのクォータは、リソースの制限に記載されています。 これらのリソース制限を超えることが予想される場合は、Azure Databricks アカウント チームにお問い合わせください。
Unity Catalog リソース クォータ API を使用して、クォータの使用状況を監視できます。 「 Unity Catalog リソース クォータの使用状況の監視」を参照してください。