1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricks共有クラスターにおけるライブラリとinitスクリプトの許可

Posted at

Allowlisting libraries and init scripts on shared compute | Databricks on AWS [2023/8/23時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Databricksランタイム13.3以降では、Unity Catalogのallowlistにライブラリとinitスクリプトを追加することができます。これによって、共有アクセスモードに設定されたクラスターでこれらのアーティファクトを活用できるようになります。

ディレクトリやファイルが作成される前に、ディレクトリやファイルパスを許可リストに追加することができます。Unity Catalog ボリュームへのファイルのアップロードをご覧ください。

注意
許可リストを変更するにはメタストア管理者である必要があります。

許可リストへのアイテムの追加方法

データエクスプローラあるいはREST APIを用いて、allowlistにアイテムを追加することができます。

データエクスプローラで許可リストにアイテムを追加するダイアログを表示するには、以下を行います:

  1. DatabricksワークスペースでDataをクリックします。
  2. メタストアの詳細と権限のUIを開くためにをクリックします。
  3. Allowed JARs/Init Scriptsを選択します。
  4. Addをクリックします。

重要!
このオプションは十分な権限を持つユーザーに対してのみ表示されます。許可リストのUIにアクセスできない場合には、ライブラリやinitスクリプトを許可するためにメタストア管理者にコンタクトしてください。

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

許可リストにinitスクリプトを追加するには、以下のステップを完了します:

  1. TypeInit Scriptを選択します。
  2. Source TypeVolumeかオブジェクトストレージのプロトコルを選択します。
  3. 許可リストに追加するソースパスを指定します。許可リストで強制されるパスの権限はどうなっているのか?をご覧ください。

許可リストにJARを追加

許可リストにJARを追加するには、以下のステップを完了します:

  1. TypeJARを選択します。
  2. Source TypeVolumeかオブジェクトストレージのプロトコルを選択します。
  3. 許可リストに追加するソースパスを指定します。許可リストで強制されるパスの権限はどうなっているのか?をご覧ください。

許可リストにMavenコーディネートを追加

許可リストにMavenコーディネートを追加するには、以下のステップを完了します:

  1. TypeMavenを選択します。
  2. Source TypeCoordinatesを選択します。
  3. フォーマットgroudId:artifactId:versionでコーディネートを入力します。
    • フォーマットgroudId:artifactIdを許可することで、あるライブラリのすべてのバージョンを含めることができます。
    • フォーマットgroudIdを許可することで、あるグループにあるすべてのアーティファクトを含めることができます。

許可リストで強制されるパスの権限はどうなっているのか?

Unity Catalogのボリュームやオブジェクトストレージに格納されているJARやinitスクリプトへのアクセスを許可するために、許可リストを活用することができます。ファイルではなくディレクトリへのパスを追加する場合、許可リストの権限は格納されるファイルやディレクトリにも伝播します。

Unity Catalogのボリュームやオブジェクトストレージに格納されているすべてのアーティファクトでプレフィックスのマッチングが使用されます。特定のディレクトリレベルでプレフィックスのマッチングを行わないようにするには、/Volumes/prod-libraries/のように、末尾にスラッシュ(/)を含めます。

以下のレベルで権限を定義することができます:

  1. ボリュームやストレージコンテナのベースパス。
  2. ベースパスから任意の深さにネストされているディレクトリ。
  3. 単体のファイル。

許可リストにパスを追加することは、initスクリプトやJARのインストールで使用することができるパスであるということのみを意味します。依然として、Databricksは指定された場所にあるデータへのアクセス権があるかどうかをチェックします。

使用されるプリンシパルは、指定されたボリュームに対するREAD VOLUME権限を持っている必要があります。READ VOLUMEをご覧ください。

アサインアクセスモードでは、割り当てられているプリンシパル(ユーザーあるいはサービスプリンシパル)のアイデンティティが使用されます。

共有アクセスモードでは:

  • ライブラリは、ライブラリをインストールしたアイデンティティを使用します。
  • Initスクリプトは、クラスター所有者のアイデンティティを使用します。

注意
分離なし共有アクセスモードはボリュームをサポートしていませんが、共有アクセスモードで同じアイデンティを使用します。

initスクリプトやライブラリに関連するすべてのストレージ権限を読み取り専用に設定することをお勧めします。これらのロケーションに対する書き込み権限を持つユーザーが誤ってライブラリファイルやinitスクリプトを変更してしまう可能性があります。

S3に格納されているJARやinitスクリプトへのアクセスの管理にはインスタンスプロファイルを使用することをお勧めします。このセットアップを完了するには以下のドキュメントを参照ください:

  1. 使用するバケットに対する読み込み、一覧権限を持つIAMロールの作成。インスタンスプロファイルを使用してS3に対するアクセス権を設定するをご覧ください。
  2. 作成したインスタンスプロファイルを用いてクラスターを起動します。インスタンスプロファイルを使用したコンピュートリソースの起動をご覧ください。

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

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?