クリーンルームの作成
この記事では、複数の関係者が互いのデータに直接アクセスすることなく、機密性の高い企業データに対して協力して作業できる、安全でプライバシー保護の環境であるクリーンルームを作成する方法について説明します。
始める前に
クリーンルームを利用するために必要な権限は、タスクによって異なります。
-
クリーンルームを作成するには、
CREATE CLEAN ROOM
権限を持っているか、メタストア管理者である必要があります。 作成者は、Unity Catalog メタストアのクリーンルームの所有者として自動的に割り当てられます。 -
共有されているクリーンルームへの参加を開始するには、メタストアの管理者である必要があります。
クリーンルームを共有すると、コラボレーター組織のメタストア管理者にクリーンルームの所有権が自動的に割り当てられます。 メタストア管理者は、メタストア管理者以外の人に所有権を再割り当てできます。 データガバナンスのベストプラクティスとして、 Databricks では、所有権をグループに割り当てることをお勧めします。
ワークスペースにメタストア管理者が割り当てられていない場合は、ロールを割り当てる必要があります。 「 メタストア管理者を割り当てる」 と「 Unity Catalog オブジェクトの所有権を管理する」を参照してください。
-
クリーンルームでデータアセットとノートブックを追加および削除するには、クリーンルームの所有者であるか、クリーンルームに対する
MODIFY CLEAN ROOM
権限を持っている必要があります。 さらに、あなたとクリーンルームの所有者 (所有者でない場合) は、追加するテーブルとビューにSELECT
を持ち、追加するボリュームにREAD VOLUME
する必要があります。
「クリーンルーム」と「クリーンルームでタスク (ノートブック) を実行する」の権限要件については、「 クリーンルームの管理 」および 「クリーンルームでの実行 ノートブック」を参照してください。
メタストアごとに最大5つのクリーンルームを作成できます。
ステップ1.コラボレーターの共有識別子を要求する
クリーンルームを作成する前に、協力する組織のクリーンルーム共有識別子が必要です。 共有識別子は、組織のグローバルメタストア ID + ワークスペース ID + 連絡先のユーザー名 (Eメール アドレス) で構成される文字列です。 コラボレーターは、任意のクラウドまたはリージョンに配置できます。
コラボレーターに連絡して、共有識別子をリクエストします。
コラボレーターは、「 共有識別子を検索する」の手順を使用して共有識別子を取得できます。
ステップ2.クリーンルームを作る
クリーンルームを作成するには、カタログエクスプローラーを使用する必要があります。
-
Databricks ワークスペースで、[
カタログ] をクリックします。
-
クイック アクセス ページで、 クリーン ルーム > ボタンをクリックします。
または、
カタログ ウィンドウの上部にある歯車アイコンをクリックし、[ クリーンルーム] を選択します。
-
Create Clean Room をクリックします。
-
Create Clean Room ページで、クリーン ルームのわかりやすい名前を入力します。
名前には、スペース、ピリオド、スラッシュ (/) を使用できません。
クリーンルーム名は、一度保存すると変更できません。 コラボレーターが便利で説明的だと感じる名前を使用してください。
-
中央クリーンルームを作成するクラウドプロバイダーとリージョンを選択します。
クラウド プロバイダーは現在のワークスペースと同じである必要がありますが、リージョンはそうではありません。 選択を行うときは、組織のデータ所在地またはその他のポリシーを考慮してください。
-
(オプション)コメントを追加します。
-
コラボレーターの クリーンルーム共有識別子 を入力します。
クリーンルームを完全にデプロイする前に、共有識別子または現在のメタストア内の別のユーザーの識別子を使用してテストできます。 これにより、現在のメタストアに2つのクリーンルームが作成されます。 たとえば、
test_clean_room
というタイトルのクリーンルームを作成すると、test_clean_room_collaborator
という名前の 2 つ目のクリーンルームも表示されます。 同じメタストア内のコラボレーターとのノートブックの実行は、外部コラボレーターの場合と同じように機能します。 クリーンルームの「実行 ノートブック」を参照してください。 -
自分(作成者)と共同作業者に割り当てられたカタログ名をメモします。
クリーンルームに追加されたすべてのデータアセットは、中央のクリーンルームのそのカタログの下に表示され、Unity Catalog の 3 レベル名前空間 (
<catalog>.<schema>.<table-etc>
) でそのカタログを使用して参照できます。 -
ネットワークアクセスポリシーの種類を選択します。 クリーンルーム作成後は変更できません。
-
フルアクセス :無制限のアウトバウンドインターネットアクセス。
-
制限付きアクセス : 指定したインターネットの宛先への送信アクセスを制限します。 Network ポリシー overviewおよびManaging network policy for serverレス egress controlを参照してください。
-
アクセスが制限されると 、アセットの可用性が最大 10 分遅れる可能性があり、Google Cloud の共同編集者はサポートされません。
クリーンルームを作成したら、[ セキュリティ ]タブでネットワークアクセスポリシーを表示できます。 10. Create Clean Room をクリックします。
現在のワークスペースが HIPPA コンプライアンス セキュリティ プロファイルに設定されている場合、クリーンルームを作成すると、その設定が中央のクリーンルームに適用されます。 共同作業者は、同じセキュリティプロファイルを持つワークスペースからクリーンルームにアクセスする必要があります。 コンプライアンス・セキュリティ・プロファイルを参照してください。
ステップ3.データ資産とノートブックをクリーンルームに追加
クリーンルーム内のどちらの関係者(作成者と共同作業者)も、テーブル、ボリューム、ビュー、ノートブックをクリーンルームに追加できます。
必要な権限 :
-
あなたは所有者であるか、クリーンルームの
MODIFY CLEAN ROOM
権限を持っている必要があります。 -
お客様とクリーンルームの所有者(お客様が所有者でない場合)は、追加する任意のテーブルまたはビューに
SELECT
、追加する任意のボリュームにREAD VOLUME
、親カタログとスキーマにUSE CATALOG
とUSE SCHEMA
を持っている必要があります。クリーンルームの所有者は、クリーンルームの寿命を通じてこれらの特権を維持する必要があります。
次の手順は、アセットを追加するためにすでに作成されたクリーンルームに戻ることを前提としています。 初めてクリーンルームを作成したばかりの場合は、ウィザードの指示に従ってデータアセットとノートブックを追加できます。 これらのアセットを追加するための実際の UI は、ウィザードにガイドされているかどうかに関係なく同じです。
アセットを追加するには:
-
Databricks ワークスペースで、[
カタログ] をクリックします。
-
クイック アクセス ページで、 クリーン ルーム > ボタンをクリックします。
または、
カタログ ウィンドウの上部にある歯車アイコンをクリックし、[ クリーンルーム] を選択します。
-
更新するクリーンルームの名前を見つけてクリックします。
-
+ データ資産の追加 をクリックして、テーブル、ボリューム、またはビューを追加します。
-
共有するデータアセットを選択し、 データアセットの追加 をクリックします。
テーブル、ボリューム、またはビューを共有する場合、オプションでエイリアスを追加できます。 エイリアス名は、クリーンルームで見える唯一の名前になります。
テーブルを共有する場合、オプションでパーティション句を追加して、テーブルの一部のみを共有できるようにすることができます。 パーティションを使用して共有する内容を制限する方法の詳細については、「 共有するテーブルパーティションの指定」を参照してください。
デフォルトのストレージを使用している場合、テーブルパーティションを共有することはできません。 サーバレス ワークスペースのデフォルト ストレージを参照してください。
フェデレーション テーブル共有のプライベート プレビューに参加するには、Databricks アカウント担当者にお問い合わせください。 「レイクハウスフェデレーションとは」を参照してください。
-
ノートブックを追加するには、 + ノートブックの追加 ボタンをクリックし、追加するノートブックを参照します。
オプションで、ノートブックに別の ノートブック名 を付けることができます。
クリーンルームで共有するノートブック クエリデータおよび、自分と他のコラボレーターがクリーンルームに追加したテーブル、ビュー、およびボリュームでデータ分析ワークロードを実行します。
ノートブックは暗黙の承認の原則に基づいて動作します:作成したノートブックを実行することはできません。 共同編集者が使用するノートブックはユーザーが作成し、ユーザーが使用するノートブックは共同編集者が作成します。
結果を含むノートブックを共有すると、その結果は共同作業者と共有されます。
ノートブックを使用して、ノートブックを実行するときにコラボレーターのメタストアに一時的に共有される 出力テーブル を作成できます。 「Databricks クリーンルームでの出力テーブルの作成と操作」を参照してください。
テスト データセットを使用するには、 サンプル ノートブックをダウンロードしてください。
クリーンルームに追加されたテーブル、ビュー、またはボリュームへのノートブック参照では、クリーンルームの作成時に割り当てられたカタログ名を使用する必要があります (クリーンルーム作成者によって追加されたデータアセットの場合は「creator」、招待されたコラボレーターによって追加されたデータアセットの場合は「collaborator」)。 たとえば、作成者が追加したテーブルに creator.sales.california
という名前を付けることができます。
同様に、ノートブックが、クリーンルーム内のデータ資産に割り当てられたエイリアスを使用していることを確認します。