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

標準アクセスモード (以前の共有アクセスモード)を用いたコンピュートにおけるライブラリとinitスクリプトの許可リスト

Databricks Runtime 13.3 LTS 以降では、Unity Catalogのallowlistにライブラリと initスクリプトを追加できます。これにより、ユーザーはこれらのアーティファクトを標準アクセスモードで構成されたコンピュートで活用できます。

ディレクトリやファイルパスは、そのディレクトリやファイルが存在する前にホワイトリストに登録できます。 Unity Catalog ボリュームへのファイルのアップロードを参照してください。

注記

許可リストを変更するには、メタストアの管理者であるか、MANAGE ALLOWLIST 権限を持っている必要があります。 MANAGE ALLOWLISTを参照してください。

important

Unity Catalog 対応の標準コンピュートで JDBC ドライバーまたはカスタム Spark データソースとして使用されるライブラリには、ANY FILE権限が必要です。

一部のインストール済みライブラリは、すべてのユーザーのデータを 1 つの共通の一時ディレクトリに格納します。 これらのライブラリは、ユーザーの分離を損なう可能性があります。

許可リストに項目を追加する方法

カタログ エクスプローラーまたは REST API を使用して、allowlistにアイテムを追加できます。

カタログエクスプローラーで許可リストにアイテムを追加するためのダイアログを開くには、次の手順を実行します。

  1. Databricks ワークスペースで、[カタログアイコン カタログ] をクリックします。
  2. 歯車アイコンクリックして、メタストアの詳細と権限のUIを開きます。
  3. 「許可されたJARs/initスクリプト 」を選択します。
  4. [ 追加 ] をクリックします。
important

このオプションは、十分な権限を持つユーザーに対してのみ表示されます。 許可リスト UI にアクセスできない場合は、メタストア管理者に問い合わせて、ライブラリと initスクリプトの許可リスト化についてサポートを受けてください。

initスクリプトを許可リストに追加する

許可リストダイアログで次の手順を実行して、initスクリプトを許可リストに追加します。

  1. タイプinitスクリプト を選択します。
  2. ソースタイプ で、 ボリューム またはオブジェクトストレージプロトコルを選択します。
  3. 許可リストに追加するソースパスを指定します。 パスに対する権限は、許可リストでどのように適用されますか?を参照してください。

JAR を許可リストに追加する

許可リスト・ダイアログで以下のステップを実行して、JAR を許可リストに追加します。

  1. タイプJAR を選択します。
  2. ソースタイプ で、 ボリューム またはオブジェクトストレージプロトコルを選択します。
  3. 許可リストに追加するソースパスを指定します。 パスに対する権限は、許可リストでどのように適用されますか?を参照してください。

Maven 座標を許可リストに追加する

important

Maven座標を許可リストに追加する前に、ライブラリをインストールするコンピュートにCan Attach To権限とCAN MANAGE権限が設定されている必要があります。「コンピュートの権限」を参照してください。

許可リスト・ダイアログで次のステップを実行して、Maven 座標を許可リストに追加します。

  1. タイプMaven を選択します。
  2. ソースタイプ座標 を選択します。
  3. 座標を次の形式で入力してください:groudId:artifactId:version.
    • ライブラリのすべてのバージョンを含めるには、次の形式を許可リストに登録します。 groudId:artifactId.
    • すべてのアーティファクトをグループに含めるには、 groupIdの形式で許可リストに登録します。

パスの権限は許可リストでどのように適用されますか?

許可リストを使用して、 Unity Catalog ボリュームおよびオブジェクトストレージに格納されているJARまたはinitスクリプトへのアクセスを許可できます。 ファイルではなくディレクトリのパスを追加すると、許可リストのアクセス許可は含まれているファイルとディレクトリに反映されます。

接頭部の一致は、 Unity Catalog ボリュームまたはオブジェクトストレージに格納されているすべてのアーティファクトに使用されます。 特定のディレクトリレベルでプレフィックスが一致しないようにするには、末尾にスラッシュ (/) を含めます。 たとえば、 /Volumes/prod-libraries/ は、プレフィックスが prod-librariesが付いたファイルに対してプレフィックスの照合を実行しません。 代わりに、 /Volumes/prod-libraries/ 内のすべてのファイルとディレクトリが許可リストに追加されます。

権限は、次のレベルで定義できます。

  1. ボリュームまたはストレージコンテナのベースパス。
  2. ベース パスから任意の深さでネストされたディレクトリ。
  3. 1つのファイル。

許可リストにパスを追加するということは、そのパスをinitスクリプトまたは JAR インストールに使用できることを意味します。 Databricks は、指定された場所のデータにアクセスするためのアクセス許可を引き続きチェックします。

使用するプリンシパルには、指定したボリュームに対する READ VOLUME アクセス許可が必要です。 READ VOLUMEを参照してください。

専用アクセス・モード (旧称シングル・ユーザー・アクセス・モード) では、割り当てられたプリンシパル (ユーザーまたはグループ) の ID が使用されます。

標準アクセスモードの場合:

  • ライブラリ インストーラーの ID を使用します。
  • initスクリプトは、クラスター所有者のIDを使用します。
注記

分離なし共有アクセス モードはボリュームをサポートしませんが、標準アクセス モードと同じ ID 割り当てを使用します。

Databricks 、initスクリプトとライブラリに関連するすべてのオブジェクトストレージ権限を読み取り専用の権限で構成することをお勧めします。 これらの場所に対する書き込み権限を持つユーザーは、ライブラリファイルまたはinitスクリプトのコードを変更できる可能性があります。

Databricksでは、インスタンスプロファイルを使用して S3に格納されたJARまたはinitスクリプトへのアクセスを管理することをお勧めします。 相互参照リンクにある次のドキュメントを使用して、この設定を完了します。

  1. 目的のバケットに対する読み取りおよび一覧表示権限を持つ IAMロールを作成します。 「 チュートリアル: インスタンスプロファイルを使用した S3 アクセスの設定」を参照してください。
  2. インスタンスプロファイルを使用してクラスターを起動します。 インスタンスプロファイルを参照してください。
注記

JARとinitスクリプトの許可リスト権限は別々に管理されます。 同じロケーションを使用して両方のタイプのオブジェクトを保存する場合は、それぞれの許可リストにロケーションを追加する必要があります。