既存の Azure Databricks ワークスペースで DBFS ルートとマウントへのアクセスを無効にする

このページでは、既存の Azure Databricks ワークスペースで、従来の Databricks Filesystem (DBFS) ルートマウント へのアクセスを無効にする方法について説明します。 新しいワークスペースのアカウント レベルで DBFS ルートとマウントを無効にするには、[ 従来の機能アカウントを無効にする ] 設定を使用します。

ファイル ベースのワークフローを Unity カタログ ボリューム、外部の場所、またはワークスペース ファイルに移行した後、ユーザーが DBFS ルートおよび DBFS マウント内のデータをアップロード、変更、またはアクセスできないようにすることができます。 DBFS ルートとマウントを無効にすると、Unity カタログによって管理されていない共有ストレージへのアクセスが削除され、セキュリティ体制が強化されます。

DBFS ルートとマウントとは

DBFS は、 dbfs: URI スキームでアクセス可能で、クラウドベースのストレージとの対話に使用される Databricks ワークスペースの分散ファイル システムです。 dbfs: URI スキームは、次のようなワークスペース内のストレージのいくつかの領域にアクセスするために使用されます。

  • DBFS ルート: dbfs:/を入力した場合など、ファイル システムのルートのすぐ下にある領域にアクセスできます。 すべてのワークスペース ユーザーは、DBFS ルートのすぐ下に作成されたコンテンツにアクセスできます。ただし、以下のいずれかの予約済みプレフィックスの下にあるコンテンツを除き、各ユーザーは特別な条件に従います。 DBFS ルートを参照してください。
  • DBFS マウント: dbfs:/mnt/<mount_name>でアクセス可能な外部クラウド ストレージ アクセスを定義するための従来のアプローチ。 オブジェクト・ストレージのマウントを参照してください。
  • 予約済みの Azure Databricks プレフィックス: Unity カタログ ボリューム、およびその他の Azure Databricks システム パス ( dbfs:/databricks-datasets/ や MLflow アセット パスなど) で使用されるプレフィックス。 たとえば、dbfs:/Volumes/ のようにします。

すべてのパスには、POSIX スタイルのパスを使用してアクセスすることもできます。 「データにアクセスするための URI スキームを指定する必要がありますか?」を参照してください。

DBFS ルートとマウントを含む DBFS の詳細については、「DBFS とは」を参照してください。

無効になっているものは何ですか?

DBFS ルートとマウントを無効にした後:

  • 既存のワークスペース内の DBFS ルートとマウントへのすべてのアクセスは無効になり、すべてのインターフェイス (UI、API、CLI、FUSE) でブロックされます。
  • DBFS ルートからファイルの読み取りまたは書き込みを試行すると、マウントがエラーで失敗します。 たとえば、 パブリック DBFS ルートのエラー メッセージは無効になっています
  • DBFS ブラウザーと [DBFS にアップロード ] オプションに UI からアクセスできなくなりました。 DBFS ルートとマウントを参照するジョブ、ノートブック、またはスクリプトは、設定を元に戻さない限り失敗します。
  • DBFS オプションは、次のような一般的な機能からアクセスできなくなりました。
    • クラスター ライブラリ
    • クラスター ログの配信
    • MLflow 追跡/モデル レジストリ (UC 以外)
    • AutoML の実験
    • Lakeflow パイプライン
  • /filesを使用した静的ノートブック ファイルの埋め込みでは、500 エラーで失敗します。 「ノートブックに静的イメージを埋め込む」を参照してください。
  • マウント/マウント解除操作がブロックされます。
  • FileStore 操作はブロックされます。
  • ワークスペースで DBFS ルートとマウントを無効にすると、13.3 LTS より前 の Databricks Runtime バージョン も無効になります。

Note

DBFS が無効になっているワークスペースでは、 dbfs:/Workspace パスはワークスペース ファイルシステム内のファイルへのアクセスを提供します。 これには、Databricks Runtime 13.3 LTS 以降が必要です。

影響を受けないものは何ですか?

dbfs: URI スキームは Azure Databricks の中心であり、DBFS ルートマウントと DBFS マウントを無効にしても、dbfs: URI 自体は無効になりません。 次の機能は引き続き想定どおりに動作します。

Note

DBFS ルートとマウントの下の既存のデータは削除されません。 ワークスペース レベルの [DBFS ルートとマウントを無効にする] 設定を使用して DBFS ルートとマウント が再び有効になっている場合、データに再びアクセスできるようになります。

アクセス可能であり、DBFS ルートとマウントの無効化の影響を受けないようにするパスの例を次に示します。

Category Path Description
Unity Catalog ボリューム dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file_name> UC ボリューム用に予約されており、UC 固有の API を介してのみアクセスでき、UC ガバナンス 規則に従います。 詳細については、 ボリューム内のファイルにアクセスするためのパスを参照してください。
システム パス dbfs:/databricks/mlflow-registry dbfs:/databricks/mlflow-tracking ワークスペース システム データで Azure Databricks の内部 API によって書き込まれたコンテンツを指す読み取り専用パス。
システム パス dbfs:/databricks-datasets/ Azure Databricks ワークスペースに既定でマウントされるデータセットの読み取り専用コレクション。 DBFS にマウントされた Databricks データセットを参照するを確認してください。

dbfs: プレフィックス (URI スキーム) は省略可能であり、ほとんどの場合省略できます。 「データにアクセスするための URI スキームを指定する必要がありますか?」を参照してください。

DBFS ルートとマウントの代替

DBFS ルートとマウントを無効にする前に、それらに依存するファイル ベースのワークフローを Unity カタログ管理ストレージに移行します。 Unity Catalog は、従来の DBFS ユース ケースごとに管理された代替手段を提供し、DBFS ルートとマウントに不足しているアクセス制御、監査、系列を追加します。

次の表は、各従来の DBFS ユース ケースを推奨される代替方法にマップします。

従来の DBFS ユース ケース 推奨される代替手段 Description
表形式以外のデータ ファイルを DBFS ルートに格納する Unity のカタログボリューム ボリュームは、クラウド オブジェクト ストレージ内のファイルへのアクセスを制御し、管理されていない DBFS ルート ストレージを置き換えます。 「Unity カタログ ボリュームとは」を参照してください。
DBFS ルートにコード、ライブラリ、および小さなファイルを格納する ワークスペース ファイル ワークスペース ファイルには、ノートブック、ソース コード、および小さなデータ ファイルが他のワークスペース資産と共に格納されます。 「ワークスペース ファイルとは」を参照してください。
DBFS マウントを使用した外部クラウド ストレージへのアクセス Unity カタログの外部の場所 外部の場所は、クラウド ストレージ パスへのアクセスを制御し、DBFS マウントを置き換えます。 Unity カタログを使用したクラウド オブジェクト ストレージへの接続を参照してください。

マウントを通じて以前にアクセスしたクラウド ストレージの外部の場所を作成するには、「 Unity カタログを使用してクラウド オブジェクト ストレージに接続する」を参照してください。 既存のデータを外部の場所に追加するには、「既存の データを外部の場所に追加する」を参照してください。 Unity カタログへのワークスペースの移行に関するより広範なガイダンスについては、「 アカウントを UC 専用ワークスペースに移行する」を参照してください。

DBFS ルートとマウントを無効にできるタイミング

DBFS はいつでも無効にすることができます。 ただし、既存のワークフローがまだそれに依存している場合は、中断する可能性があります。 Databricks では、次の後でのみ、重要でない環境で DBFS ルートとマウントを無効にすることをお勧めします。

  • DBFS ルートまたはマウントに依存するすべてのワークフローを Unity カタログ ボリューム、外部の場所、またはワークスペース ファイルに移行しました。
  • すべてのジョブとクラスターを Databricks Runtime 13.3 LTS 以降にアップグレードしました。

Note

先に進む前に、 可観測性スクリプト を使用して残りの DBFS ルートをスキャンし、使用状況をマウントできます。

DBFS ルートとマウントを無効にする

既存のワークスペースと新しいワークスペースの両方で、DBFS ルートとマウントを無効にすることができます。

ワークスペース管理者として、次の手順に従って DBFS ルートとマウントを無効にします。

  1. Azure Databricks ワークスペースにログインします。

  2. 右上隅にあるユーザー プロファイル アイコンをクリックし、[ 設定] を選択します。

  3. ワークスペース管理者に移動し、[ セキュリティ] をクリックします。

  4. [DBFS ルートとマウントの無効化] を [無効] に設定します。DBFS ルートとマウントは使用できません

  5. 設定が有効になるまで最大 20 分待ちます。

  6. 実行中のすべてのクラスターを再起動します。

    • 伝達遅延: DBFS ルートとマウント無効化が完全に伝達されるまでに最大 20 分かかることがあります。
    • クラスターの再起動: 実行中の万能コンピューティングおよび SQL ウェアハウスは 手動で 再起動する必要があります。変更を有効にするには、20 分の伝達時間の後に行う必要があります。 再起動されない場合、このようなクラスターは引き続き DBFS ルートとマウントにアクセスできます。

    ノートブックの例: 実行時間の長いコンピューティングを検索 して、実行時間の長い汎用コンピューティングを識別して再起動する例」を参照してください。