Databricksクリーンルームとは?
この記事では、Databricksの機能であるClean Roomsについて紹介します。Clean Roomsは、Delta Sharingとサーバーレスコンピューティングを使用して、複数の関係者がお互いのデータに直接アクセスすることなく、機密性の高い企業データについて共同で作業できる安全でプライバシー保護された環境を提供します。
必要条件
クリーンルームを利用するには、以下のものが必要です。
- サーバレス コンピュートに対して有効になっているアカウント。 Enable サーバレス コンピュートを参照してください。
- Unity Catalog に対して有効になっているワークスペース。 「Unity Catalog のワークスペースを有効にする」を参照してください。
- Delta Sharing が Unity Catalog メタストアで有効になっています。 「メタストアでDelta Sharingを有効にする」を参照してください。
クリーンルームはどのように機能しますか?
クリーンルームを作成するときは、次のものを作成します。
- Unity Catalogメタストア内のセキュアブルなクリーンルームオブジェクト。
- Databricksが管理する隔離されたエフェメラル環境である「中央」クリーンルーム。
- 共同作業者の Unity Catalog メタストアにあるセキュリティ保護可能なクリーンルームオブジェクト。
いずれかの共同作業者がクリーンルームで共有するテーブル、ボリューム (表形式以外のデータ)、ビュー、およびノートブックは、Delta Sharing を使用して中央のクリーンルームとのみ共有されます。
コラボレーターは、他のコラボレーターのテーブル、ビュー、またはボリュームのデータを表示することはできませんが、列名と列の種類を表示でき、データ資産を操作する承認済みのノートブック コードを実行できます。 ノートブックのコードは、中央のクリーンルームで実行されます。 ノートブックでは、共同作業者が読み取り専用の出力を Unity Catalog メタストアに一時的に保存して、ワークスペースで作業できるようにする 出力テーブル を生成することもできます。
クリーンルームはどのようにして信頼できない環境を確保しますか?
Databricksクリーンルームモデルは「no-trust」です。トラストなしのクリーンルームのすべての協力者は、クリーンルームの作成者を含め、同等の特権を持っています。 クリーンルームは、不正なコードの実行やデータの不正な共有を防ぐように設計されています。 たとえば、ノートブックを実行する前に、すべての共同作業者がノートブックを承認する必要があります。 この信頼は、コラボレーターが自分で作成したノートブックを実行できないようにすることで暗黙的に適用されます。つまり、他のコラボレーターが作成したノートブックのみを実行できます。
追加の保護措置または制限
上記の暗黙的なノートブック承認プロセスに加えて、次の保護措置が講じられています。
-
クリーンルームが作成されると、新しい共同作業者がクリーンルームに参加できないようにロックダウンされます。
-
共同作業者がクリーンルームを削除すると、中央クリーンルームは無効となり、どのユーザーもクリーンルームタスクを実行できなくなります。
-
各クリーンルームは2人の協力者に制限されています。
-
クリーンルームの名前を変更することはできません。
クリーンルーム名は、すべてのコラボレーターが同じクリーンルームを明確に参照できるように、すべてのコラボレーターのメタストアで一意である必要があります。
-
各共同作業者のワークスペースでセキュリティ保護可能なクリーンルームに関するコメントは、他の共同作業者には反映されません。
他の共同作業者と共有する内容
- クリーンルーム名
- 中央クリーンルームのクラウドとリージョン
- 組織名 (任意の名前を選択できます)
- お客様のクリーンルーム共有識別子(グローバルメタストアID+ワークスペースID+ユーザーEメールアドレス)。
- 共有テーブル、ビュー、またはボリュームのエイリアス。
- 列メタデータ (列の名前またはエイリアスと型)
- ノートブック (読み取り専用)
- 出力テーブル (読み取り専用、一時テーブル)。
- クリーンルーム イベントシステムテーブル
- 以下のような実行履歴:
- 実行中のノートブックの名前
- ノートブックを実行したコラボレーター (ユーザーではありません)。
- ノートブックの実行の状態。
- ノートブックの実行の開始時刻。
中央クリーンルームとは何を共有していますか?
-
前のセクションに記載されているすべてのもの
-
読み取り専用のテーブル、ボリューム、ビュー、ノートブック。
テーブル、ビュー、およびボリュームは、指定されたエイリアスとともに中央のクリーンルームのメタストアに登録されます。 データ資産は、クリーンルームのライフサイクル全体で共有されます。
クリーンルームFAQ
クリーンルームに関するよくあるご質問をご紹介いたします。
クリーンルームではデータはどのように管理されますか?
中央のクリーンルームはDatabricksによって管理されています。 中央クリーンルームで:
- どちらの当事者も管理者権限を持っていません。
- メタデータのみがすべての関係者に表示されます。
- 各関係者は、中央のクリーンルームにデータを追加できます。
- クリーンルームは、 Delta Sharing を使用してクリーンルームと安全にデータを共有しますが、参加者間では共有しません。 「Delta Sharing とは」を参照してください。
私のデータはどのように非公開にされますか?
Central クリーンルーム は、クリーンルーム作成者が選択したクラウド プロバイダー リージョンでホストされている、 Databricks管理されたサーバレス コンピュート プレーンで実行されます。
クリーンルームは以下を提供します。
- コードの承認: クリーンルームの作成者と共同作業者は、中央のクリーンルームとテーブルとボリュームを共有できますが、実行できるのは相手がアップロードしたノートブックのみです。 承認する前に、相手が追加したコードを確認できます。 別のパーティによって追加されたノートブックを実行すると、そのコードは暗黙的に承認されます。
- バージョン管理: クリーンルームノートブックには、すべての関係者が完全に承認されたノートブックのみを実行できるようにするためのバージョン管理があります。 最新バージョンのノートブックのみを実行できます。 クリーンルームシステムテーブルを使用して、実行されたノートブックのバージョンを確認し、行われた変更を監視できます。
- 制限付きアクセス: クリーンルームを作成すると、サーバレス egress control を使用してアウトバウンドネットワーク接続を管理できます。 クリーンルームからのアクセスを制限すると、不正なストレージへのアクセスがブロックされます。 サーバレス出力制御とはを参照してください。
セキュリティとサーバレス コンピュート プレーンの詳細については、 サーバレス コンピュート プレーン ネットワーキングを参照してください。
アクションはどのように記録されますか?
あなたまたはあなたの協力者が行ったクリーンルームのアクションは、クリーンルームイベントシステムテーブルに記録されます。 これらのレコードには、実行された特定のアクションに関する詳細なメタデータが含まれています。 クリーンルーム events システムテーブル リファレンス を参照してください。
クリーンルームのアクションは、サービス clean-room
のアカウントの監査ログにも記録されます。 Audit log システムテーブルリファレンスを参照してください。
請求はどのように行われますか?
Databricks クリーンルームの価格については、リンク先をご覧ください。
制限
次の制限が適用されます:
- 必要な Databricks Runtime バージョンにサービス資格情報 Scala ライブラリは含まれていません。
Databricks-managed デフォルトストレージをクリーンルームに追加されたテーブルに使用する場合:
- 最大 5 つのクリーンルームを作成、結合、または追加でき、AWS 以外のリージョンでは 2 つのクリーンルームに制限されています。
- テーブルパーティションは使用できません。
テーブルは、高速セットアップを使用してアカウントを作成した場合、デフォルトのストレージを使用します。
リソースクォータ
Databricks は、すべてのクリーンルーム セキュリティ保護可能なオブジェクトにリソース クォータを適用します。 これらのクォータは、「 リソース制限」に記載されています。 これらのリソース制限を超えることが予想される場合は、Databricks アカウント チームにお問い合わせください。
クォータの使用状況は、 Unity Catalog リソース クォータ APIsを使用して監視できます。 「Unity Catalog のリソース クォータの使用状況を監視する」を参照してください。