このページでは、既存の 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 Spark 宣言型パイプライン
-
/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 自体は無効になりません。 次の機能は引き続き想定どおりに動作します。
-
Unity カタログ ボリューム: ボリュームには、
dbfs:/Volumesプレフィックスと POSIX スタイルの/Volumesパスを使用して引き続きアクセスできます。 詳細については、「 データにアクセスするための URI スキームを指定する必要がありますか」 および「 Unity カタログ ボリュームとは」 を参照してください。 DBFS ルート外部ロケーションへの接続 (レガシ) を参照してください。 -
システム パス: 読み取り専用データには、
dbfs:/databricks-datasets/やその他の Azure Databricks システム パス (MLflow リソース パスなど) を使用して引き続きアクセスできます。 - 内部ワークスペース システム データ: これには、ノートブックのリビジョン、ジョブの実行の詳細、コマンドの結果、Spark ログなど、Azure Databricks によって自動的に生成されるコンテンツが含まれます。 ワークスペースストレージを参照してください。
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 はいつでも無効にすることができます。 ただし、既存のワークフローがまだそれに依存している場合は、中断する可能性があります。 Databricks では、次の後でのみ、重要でない環境で DBFS ルートとマウントを無効にすることをお勧めします。
- DBFS ルートまたはマウントに依存するすべてのワークフローを Unity カタログ ボリューム、外部の場所、またはワークスペース ファイルに移行しました。
- すべてのジョブとクラスターを Databricks Runtime 13.3 LTS 以降にアップグレードしました。
Note
先に進む前に、 可観測性スクリプト を使用して残りの DBFS ルートをスキャンし、使用状況をマウントできます。
DBFS ルートとマウントを無効にする
既存のワークスペースと新しいワークスペースの両方で、DBFS ルートとマウントを無効にすることができます。
ワークスペース管理者として、次の手順に従って DBFS ルートとマウントを無効にします。
Azure Databricks ワークスペースにログインします。
右上隅にあるユーザー プロファイル アイコンをクリックし、[ 設定] を選択します。
ワークスペース管理者に移動し、[ セキュリティ] をクリックします。
[DBFS ルートとマウントの無効化] を [無効] に設定します。DBFS ルートとマウントは使用できません。
設定が有効になるまで最大 20 分待ちます。
実行中のすべてのクラスターを再起動します。
- 伝達遅延: DBFS ルートとマウント無効化が完全に伝達されるまでに最大 20 分かかることがあります。
- クラスターの再起動: 実行中の万能コンピューティングおよび SQL ウェアハウスは 手動で 再起動する必要があります。変更を有効にするには、20 分の伝達時間の後に行う必要があります。 再起動されない場合、このようなクラスターは引き続き DBFS ルートとマウントにアクセスできます。
「 ノートブックの例: 実行時間の長いコンピューティングを検索 して、実行時間の長い汎用コンピューティングを識別して再起動する例」を参照してください。