このページでは、パッケージ化されたクリーン ルームについて説明します。これは、Azure Databricksクリーン ルームのプロバイダーとコンシューマーのコラボレーション モデルです。
パッケージ化されたクリーン ルームでは、1 人のコラボレーターが プロバイダー であり、1 つは コンシューマーです。
- プロバイダーは、ノートブックと JAR を作成し、データ資産を提供します。 プロバイダーのコードとデータ資産は、コンシューマーから非表示になります。
- コンシューマーは、独自のデータ資産を提供し、実行をトリガーし、実行出力を表示できます。 コンシューマーは、プロバイダーのノートブックまたは JAR コード、またはプロバイダーのデータ資産を表示できません。
どちらのコラボレーターも、他のデータ資産を表示できません。 プロバイダーまたはコンシューマーは、クリーン ルームを作成できます。作成したユーザーは誰でも、どのコラボレーターがパッケージ プロバイダーであるかを指定します。 「クリーン ルームの作成」および「招待されたコラボレーターとしてAzure Databricksクリーン ルームを操作する」を参照してください。
これは承認ベースのクリーン ルームとは異なり、すべてのコラボレーターは同じ権限を持ち、実行前にすべてのノートブックを確認できます。 「クリーン ルームで信頼できない環境を確保する方法」を参照してください。 パッケージ化されたクリーン ルームは、プロバイダーがプライベート ライブラリと同様にパッケージ化された分析を提供する場合に便利です。コンシューマーは、プロバイダーのコードを調べることなく、独自のデータに対して実行できます。
パッケージ化されたクリーン ルームと承認ベースのクリーン ルームの違い
次の表は、パッケージ化されたクリーン ルーム内の各コラボレーターの機能と、承認ベースのクリーン ルームの機能を比較しています。
| 能力 | 承認ベース | パッケージ版(一般消費者向け) | パッケージ版(提供元) |
|---|---|---|---|
| ノートブックと JAR を表示する | すべてのコードが表示される | 名前のみ、コードなし | 独自のノートブックとJARファイル |
| ノートブックと JAR を追加する | はい | いいえ | はい |
| データ資産を表示する | すべて表示 | 資産のみを所有する | 資産のみを所有する |
| データ資産を追加する | はい | はい | はい |
| 実行出力の表示 | はい | はい | いいえ |
| 出力テーブルにアクセスする | ランナーのみ | コンシューマー (ランナー) のみ | いいえ |
| 共有出力テーブルにアクセスする | はい | はい | はい |
| トリガーの実行 | はい | はい | いいえ |
| 自動承認ルール | はい | いいえ | いいえ |
セキュリティと信頼のモデル
コンシューマーはプロバイダーのノートブックまたは JAR コードを検査できないため、コンシューマーは、プライベート ライブラリの使用と同様に、プロバイダーのコードが説明どおりに動作することを信頼する必要があります。
クリーン ルームのエグレス ネットワーク ポリシーは、プロバイダーのコードがインターネットまたは特定の外部エンドポイントに到達できるかどうかを制御します。 エグレスが開いている場合、またはコンシューマーが快適ではないエンドポイントを許可している場合、プロバイダーのコードは、コンシューマーのデータをクリーン ルームの外に送信する可能性があります。
パッケージ化されたクリーン ルームに機密データを投稿する前に、そのエグレス ネットワーク ポリシーを確認します。 サーバーレス エグレス制御 を参照してください。.
始める前の準備
- パッケージ モードは、クリーン ルームの作成時に設定され、後で変更することはできません。
パッケージ化されたクリーン ルームを作成する
プロバイダーまたはコンシューマーは、パッケージ化されたクリーン ルームを作成できます。 手順は承認ベースのクリーン ルームの場合と同じですが、パッケージ化されたクリーン ルームの種類を選択し、パッケージ プロバイダーを指定する点が異なります。
- Azure Databricks ワークスペースで、
Catalog をクリックします。
- 右上にある [共有]、[>をクリックします。
- [クリーン ルームを作成する] をクリックします。
- [ クリーン ルームの種類] で、[ パッケージ 済みクリーン ルーム] を選択します。
- クリーン ルーム名を入力し、中央のクリーン ルームのリージョンを選択します。
- [ コラボレーターの詳細] で、他のコラボレーターの クリーン ルーム共有識別子 を入力し、[ コラボレーターの追加] をクリックします。
- [指定されたクリーン ルーム パッケージ プロバイダー] で、[You] または [Invited collaborator]\(招待されたコラボレーター\) を選択して、パッケージ プロバイダーであるコラボレーターを選択します。 パッケージ プロバイダーのアセットは、他のコラボレーターには表示されません。
- [ クリーン ルームの作成] をクリックします。
パッケージ モードは、クリーン ルームの作成時に設定され、後で変更することはできません。
プロバイダー タスク
プロバイダーとして、ノートブック、JAR、およびデータを提供し、コンシューマーがトリガーする実行を監視できます。
ノートブック、JAR、データ資産を追加する: 承認ベースのクリーン ルームと同じ方法で資産を追加します。 手順 3 を参照してください。データ資産とノートブックをクリーン ルームに追加します。 資産はユーザーにのみ表示され、コンシューマーのデータ資産は表示されません。
実行履歴の監視: コンシューマーは、ノートブックと JAR を使用する実行をトリガーします。 コンシューマーの実行は実行履歴で確認できますが、実行出力を表示することはできません。 クリーン ルーム ノートブックの実行の監視を参照してください。
コンシューマー タスク
コンシューマーは、独自のデータを提供し、プロバイダーのコードに対して実行をトリガーし、結果を表示します。
パッケージ化されたクリーン ルームを開きます。プロバイダーのノートブックと JAR の名前は表示されますが、ソース コードは表示されません。
データ資産を追加する: [ 入力データの追加 ] をクリックして、テーブル、ボリューム、またはモデルをクリーン ルームに追加します。 データはユーザーにのみ表示され、プロバイダーはデータを表示できません。
実行をトリガーする: プロバイダーのコードは、両方のコラボレーターが提供したデータ資産にアクセスして、クリーン ルームのセキュリティで保護された環境で実行されます。
実行出力を表示する: 実行の出力を表示できます。 他のユーザーが結果を使用できるように、プロバイダーのコードは、すべてのコラボレーターが読み取ることができる共有出力スキーマに書き込むこともできます。 「Databricks Clean Rooms で出力テーブルを作成して操作する」を参照してください。
制限事項
- パッケージ モードは、クリーン ルームの作成時に設定され、後で無効にすることはできません。
- 自動承認ルールは、プロバイダーを含むすべてのコラボレーターに対して無効になります。