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

Unity Catalogボリューム リソースをDatabricksアプリに追加する

Unity Catalog ボリュームをDatabricks Apps リソースとして追加すると、ガバナンスとアクセス制御を使用して、アプリが Unity Catalog に保存されているファイルとディレクトリを読み書きできるようになります。ボリュームは、構成ファイル、モデルアーティファクト、ログ、アプリに必要なその他のファイルベースのデータなどの非構造化データのための永続的なストレージを提供します。

特権要件

Unity Catalogボリューム内のファイルにアクセスするには、アプリのサービスプリンシパルには、親カタログに対するUSE CATALOG権限、親スキーマに対するUSE SCHEMA権限、およびボリュームに対するREAD VOLUMEまたはWRITE VOLUME権限が必要です。 ボリューム リソースを追加すると、 Databricksこれらの権限をアプリのサービスプリンシパルに自動的に付与します。

この自動付与が成功するには、権限ごとに次のいずれかが当てはまる必要があります。

  • USE CATALOGの場合: すべてのアカウント ユーザーがカタログに対してUSE CATALOG権限を持っているか、カタログに対してMANAGE権限を持っています。
  • USE SCHEMAの場合: すべてのアカウント ユーザーがスキーマに対するUSE SCHEMA権限を持っているか、またはスキーマに対するMANAGE権限を持っています。
  • READ VOLUMEまたはWRITE VOLUMEの場合: すべてのアカウント ユーザーがボリュームに対するREAD VOLUMEまたはWRITE VOLUME権限を持っているか、またはボリュームに対するMANAGE権限を持っています。

Unity Catalog の特権とセキュリティ保護可能なオブジェクトを参照してください。

Unity Catalogボリューム リソースを追加する

ボリュームをアプリ リソースとして追加する前に、前提条件を満たしていることを確認してください。

  1. アプリを作成または編集するときに、 [アプリ リソース] セクションで [+ リソースの追加] をクリックします。

  2. リソース タイプとして UC ボリュームを 選択します。

  3. ワークスペースで使用可能なボリュームからUnity Catalogボリュームを選択します。 ボリュームはUnity Catalogにすでに存在している必要があります。

  4. アプリに適切な権限レベルを選択します。

    • 読み取り可能: ボリュームに保存されているファイルとディレクトリを読み取る権限をアプリに付与します。これは、データへのアクセスのみが必要なアプリに適しています。
    • 読み取りと書き込みが可能: ボリューム内のファイルとディレクトリを追加、削除、または変更する権限をアプリに付与します。出力やログの保存など、アプリでデータを書き込む必要がある場合は、この権限を選択します。
  5. (オプション) アプリ構成でボリュームを参照する方法であるカスタム リソース キーを指定します。デフォルトのキーはvolumeです。

環境変数

Unity Catalogボリューム リソースを使用してアプリをデプロイすると、 Databricks valueFromフィールドを使用して参照できる環境変数を通じてボリューム パスを公開します。

詳細については、 「環境変数を使用してリソースにアクセスする」を参照してください。

Unity Catalogボリューム リソースを削除する

アプリからUnity Catalogボリューム リソースを削除すると、アプリのサービスプリンシパルはボリュームにアクセスできなくなります。 ボリューム自体は変更されず、適切な権限を持つ他のユーザーやアプリケーションが引き続き利用できます。

ベストプラクティス

Unity Catalogボリューム リソースを使用するときは、次の点を考慮してください。

  • 最小限の権限を付与します。アプリがボリュームにデータを書き込む必要がない限り、 Can read権限を使用します。
  • ボリュームによりガバナンス、アクセス制御、クラウド ストレージとの互換性が向上するため、新しいアプリケーションではDatabricksファイル システムではなくUnity Catalogボリュームを使用します。
  • 明確なディレクトリ構造を使用してボリューム内のデータを整理し、権限とアクセス パターンの管理を容易にします。
  • 適切なアクセス制御を適用するには、異なるデータ タイプまたは機密レベルごとに個別のボリュームを使用します。