次の方法で共有


Azure Databricks Clean Rooms とは

この記事では、Azure Databricks の機能の 1 つである Clean Rooms を紹介します。この機能は Delta Sharing とサーバーレス コンピューティングを使用して安全でプライバシーが保護される環境を作るものであり、この環境では複数の関係者が、機密性の高いエンタープライズ データでの作業を共同で行うことができますが、互いのデータに直接アクセスすることはありません。

要件

クリーン ルームを使用するには、以下が必要です。

クリーン ルームのしくみは?

クリーン ルームを作成するときは、次のものを作成します。

  • 自分の Unity Catalog メタストア内の、セキュリティ保護可能なクリーン ルーム オブジェクト。
  • "中央" クリーン ルーム。これは分離されたエフェメラル環境であり、Databricks によって管理されます。
  • コラボレーターの Unity Catalog メタストア内の、セキュリティ保護可能なクリーン ルーム オブジェクト。

テーブル、ボリューム (表形式以外のデータ)、ビュー、ノートブックのうち、いずれかのコラボレーターがクリーン ルームで共有するノートブックは、デルタ共有を使用して中央のクリーン ルームとのみ共有されます。

コラボレーターは、他のコラボレーターのテーブル、ビュー、またはボリュームのデータを表示できませんが、列名と列の種類を表示でき、データ資産を操作する承認済みのノートブック コードを実行できます。 このノートブック コードは中央クリーン ルームで実行されます。 ノートブックでは、 出力テーブルを生成することもできます コラボレーターは読み取り専用の出力を一時的に Unity カタログ メタストアに保存して、ワークスペースで操作できるようにします。

クリーン ルームのシンプルなアーキテクチャとフロー(出力テーブル付き)

Clean Rooms はどのようにしてノートラスト環境を保証するのですか?

Databricks Clean Rooms モデルは "ノートラスト" (no-trust) です。 ノートラスト クリーン ルーム内のコラボレーター全員に同じ特権が付与され、これにはそのクリーン ルームの作成者も含まれます。 Clean Rooms は、未承認のコードの実行とデータの不正な共有を防止するように設計されています。 たとえば、ノートブックを実行するには、コラボレーター全員が事前に承認する必要があります。 この信頼は、ノートブックを作成したコラボレーター本人による実行を禁止するという形で暗黙的に適用されます。つまり、実行できるのは他のコラボレーターによって作成されたノートブックのみです。

追加のセーフガードまたは制限

前述の暗黙的なノートブック承認プロセスに加えて、次のセーフガードが設定されています。

  • クリーン ルームは作成後にロックダウンされるため、新しいコラボレーターがそのクリーン ルームに参加することはできません。

  • コラボレーターのいずれかがクリーン ルームを削除した場合は、中央クリーン ルームは無効になり、どのユーザーもクリーン ルーム タスクを実行できなくなります。

  • パブリック プレビュー期間中は、各クリーン ルームのコラボレーターは 2 名までに制限されます。

  • クリーン ルームの名前を変更することはできません。

    クリーン ルームの名前はすべてのコラボレーターのメタストア内で一意である必要があります。これは、あいまいさをなくしてコラボレーター全員が同じクリーン ルームを参照できるようにするためです。

  • 各コラボレーターのワークスペース内での、クリーン ルームのセキュリティ保護可能なリソースに関するコメントが他のコラボレーターに伝達されることはありません。

何が他のコラボレーターと共有されるのですか?

  • クリーン ルームの名前。
  • 中央クリーン ルームのクラウドとリージョン。
  • 自分の組織名 (任意の名前を選択できます)。
  • クリーン ルーム共有識別子 (グローバル メタストア ID + ワークスペース ID + ユーザーメール アドレス)。
  • 共有のテーブル、ビュー、またはボリュームのエイリアス。
  • 列のメタデータ (列名またはエイリアスと型)。
  • ノートブック (読み取り専用)。
  • 出力テーブル (読み取り専用、一時)。
  • クリーン ルーム イベント システム テーブル。
  • 実行履歴。これには次のものが含まれます。
    • 実行されているノートブックの名前
    • ノートブックを実行したコラボレーター (ユーザーではありません)。
    • ノートブック実行の状態。
    • ノートブック実行の開始時刻。

何が中央クリーン ルームと共有されるのですか?

  • 前のセクションのリストに示したものすべて。

  • 読み取り専用のテーブル、ボリューム、ビュー、ノートブック。

    テーブル、ビュー、ボリュームは、指定されたエイリアスを使用して中央のクリーン ルームのメタストアに登録されます。 データ資産は、クリーン ルームのライフサイクル全体で共有されます。

クリーン ルームに関する FAQ

クリーン ルームについてよく寄せられる質問を次に示します。

データはクリーン ルームでどのように管理されますか?

中央のクリーン ルームは、Azure Databricks によって管理されます。 中央のクリーン ルームで次の手順を実行します。

  • どちらのパーティにも管理者特権がありません。
  • メタデータのみがすべての関係者に表示されます。
  • 各パーティは、中央のクリーン ルームにデータを追加できます。
  • クリーン ルームでは Delta Sharing を使用して、参加者間ではなく、データをクリーン ルームに安全に共有します。 Delta Sharingとは何ですか?を参照してください。

データはどのようにプライベートに保持されますか?

中央のクリーン ルームは、クリーン ルーム作成者が選択したクラウド プロバイダー リージョンでホストされている、分離された Databricks で管理されるサーバーレス コンピューティング プレーンで実行されます。

クリーン ルームには次の情報が用意されています。

  • コードの承認: クリーン ルームの作成者とコラボレーターは、中央のクリーン ルームとテーブルとボリュームを共有できますが、他のユーザーがアップロードしたノートブックのみを実行できます。 承認する前に、相手が追加したコードを確認できます。 別のパーティによって追加されたノートブックを実行する場合は、コードを暗黙的に承認します。
  • バージョン管理: クリーン ルーム ノートブックにはバージョンコントロールがあり、すべての関係者が完全に承認されたノートブックのみを実行できるようにします。 最新バージョンのノートブックのみを実行できます。 クリーン ルーム システム テーブルを使用して、実行されたノートブックのバージョンを確認し、行われた変更を監視できます。
  • 制限付きアクセス: クリーン ルームを作成するときに、サーバーレスエグレス制御を使用して送信ネットワーク接続を管理できます。 クリーン ルームからのアクセスを制限すると、承認されていないストレージへのアクセスがブロックされます。 サーバーレス エグレス制御 を参照してください。.

セキュリティとサーバーレス コンピューティング プレーンの詳細については、「サーバーレス コンピューティング プレーン ネットワーク」を参照してください。

アクションはどのように記録されますか?

自分またはコラボレーターによって実行されたクリーン ルームのアクションは、クリーン ルーム イベント システム テーブルに記録されます。 これらのレコードには、実行された特定のアクションに関する詳細なメタデータが含まれます。 「クリーン ルーム イベントシステムテーブルリファレンスを参照してください。

クリーン ルームのアクションは、サービス clean-roomのアカウントの監査ログにも記録されます。 監査ログ システム テーブルリファレンスを参照してください。

制限事項

パブリック プレビュー中は、次の制限事項が適用されます。

  • 必要な Databricks Runtime バージョンには、サービス資格情報の Scala ライブラリは含まれていません。

リソース クォータ

Azure Databricks は、すべてのクリーン ルームのセキュリティ保護可能なオブジェクトにリソース クォータを実施します。 これらのクォータは、リソースの制限に記載されています。 これらのリソース制限を超えることが予想される場合は、Azure Databricks アカウント チームにお問い合わせください。

Unity Catalog リソース クォータ API を使用して、クォータの使用状況を監視できます。 「 Unity Catalog リソース クォータの使用状況の監視」を参照してください。

作業の開始