メインコンテンツまでスキップ

Databricksクリーンルームとは?

この記事では、Databricksの機能であるClean Roomsについて紹介します。Clean Roomsは、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 のリソース クォータの使用状況を監視する」を参照してください

はじめに