Allowlist ライブラリ and initスクリプト on コンピュート with standard access mode (formerly shared access mode)
Databricks Runtime 13.3 LTS 以降では、Unity Catalogのallowlist
にライブラリと initスクリプトを追加できます。これにより、ユーザーはこれらのアーティファクトを標準アクセスモードで構成されたコンピュートで活用できます。
ディレクトリやファイルパスは、そのディレクトリやファイルが存在する前にホワイトリストに登録できます。 「Unity Catalog ボリュームへのファイルのアップロード」を参照してください。
許可リストを変更するには、メタストアの管理者であるか、MANAGE ALLOWLIST
権限を持っている必要があります。 許可リストの管理を参照してください。
Unity Catalog 対応の標準コンピュートで JDBC ドライバーまたはカスタム Spark データソースとして使用されるライブラリには、ANY FILE
権限が必要です。
一部のインストール済みライブラリは、すべてのユーザーのデータを 1 つの共通の一時ディレクトリに格納します。 これらのライブラリは、ユーザーの分離を損なう可能性があります。
許可リストに項目を追加する方法
カタログ エクスプローラーまたは REST API を使用して、allowlist
にアイテムを追加できます。
カタログエクスプローラーで許可リストにアイテムを追加するためのダイアログを開くには、次の手順を実行します。
- Databricks ワークスペースで、[
カタログ] をクリックします。
クリックして、メタストアの詳細と権限のUIを開きます。
- 「許可されたJARs/initスクリプト 」を選択します。
- [ 追加 ] をクリックします。
このオプションは、十分な権限を持つユーザーに対してのみ表示されます。 許可リスト UI にアクセスできない場合は、メタストア管理者に問い合わせて、ライブラリと initスクリプトの許可リスト化についてサポートを受けてください。
initスクリプトを許可リストに追加する
許可リストダイアログで次の手順を実行して、initスクリプトを許可リストに追加します。
- [Type ] で [initスクリプト ] を選択します。
- [ソースタイプ ] で、[ ボリューム ] またはオブジェクトストレージプロトコルを選択します。
- 許可リストに追加するソースパスを指定します。 パスに対する権限は、許可リストでどのように適用されますか?を参照してください。
JAR を許可リストに追加する
許可リスト・ダイアログで以下のステップを実行して、JAR を許可リストに追加します。
- 「タイプ 」で「 JAR」 を選択します。
- [ソースタイプ ] で、[ ボリューム ] またはオブジェクトストレージプロトコルを選択します。
- 許可リストに追加するソースパスを指定します。 パスに対する権限は、許可リストでどのように適用されますか?を参照してください。
Maven 座標を許可リストに追加する
許可リスト・ダイアログで次のステップを実行して、Maven 座標を許可リストに追加します。
- [タイプ ] で [ Maven ] を選択します。
- [ソースタイプ ] で [ 座標 ] を選択します。
- 座標を次の形式で入力してください:
groudId:artifactId:version
.- ライブラリのすべてのバージョンを含めるには、次の形式を許可リストに登録します。
groudId:artifactId
. - すべてのアーティファクトをグループに含めるには、
groupId
の形式で許可リストに登録します。
- ライブラリのすべてのバージョンを含めるには、次の形式を許可リストに登録します。
パスの権限は許可リストでどのように適用されますか?
許可リストを使用して、 Unity Catalog ボリュームおよびオブジェクトストレージに格納されているJARまたはinitスクリプトへのアクセスを許可できます。 ファイルではなくディレクトリのパスを追加すると、許可リストのアクセス許可は含まれているファイルとディレクトリに反映されます。
接頭部の一致は、 Unity Catalog ボリュームまたはオブジェクトストレージに格納されているすべてのアーティファクトに使用されます。 特定のディレクトリレベルでプレフィックスが一致しないようにするには、末尾にスラッシュ (/
) を含めます。 たとえば、 /Volumes/prod-libraries/
は、プレフィックスが prod-libraries
が付いたファイルに対してプレフィックスの照合を実行しません。 代わりに、 /Volumes/prod-libraries/
内のすべてのファイルとディレクトリが許可リストに追加されます。
権限は、次のレベルで定義できます。
- ボリュームまたはストレージコンテナのベースパス。
- ベース パスから任意の深さでネストされたディレクトリ。
- 1つのファイル。
許可リストにパスを追加するということは、そのパスをinitスクリプトまたは JAR インストールに使用できることを意味します。 Databricks は、指定された場所のデータにアクセスするためのアクセス許可を引き続きチェックします。
使用するプリンシパルには、指定したボリュームに対する READ VOLUME
アクセス許可が必要です。 READ VOLUMEを参照してください。
専用アクセス・モード (旧称シングル・ユーザー・アクセス・モード) では、割り当てられたプリンシパル (ユーザーまたはグループ) の ID が使用されます。
標準アクセス モードまたは非分離共有アクセス モードでは、ライブラリ インストーラーの ID が使用されます。
分離なし共有アクセス モードはボリュームをサポートしませんが、標準アクセス モードと同じ ID 割り当てを使用します。
Databricks 、initスクリプトとライブラリに関連するすべてのオブジェクトストレージ権限を読み取り専用の権限で構成することをお勧めします。 これらの場所に対する書き込み権限を持つユーザーは、ライブラリファイルまたはinitスクリプトのコードを変更できる可能性があります。
Databricks Google Cloud サービス アカウントを使用して、 GCSに保存されている JAR または initスクリプトへのアクセスを管理することをお勧めします。 目的のバケットの Storage Object Viewer ロールを持つGoogle Cloudサービスアカウントを作成し、クラスターにアタッチします。 クラスターについては、Google Cloud サービスアカウントを使用してGCSバケットにアクセスするをご覧ください。
JARとinitスクリプトの許可リスト権限は別々に管理されます。 同じロケーションを使用して両方のタイプのオブジェクトを保存する場合は、それぞれの許可リストにロケーションを追加する必要があります。