ワークスペースIPアクセスリストをコンテキストベースのイングレスに移行する
ワークスペースのIPアクセスリストは、ソースIPアドレスのみに基づいてアクセスを制限します。コンテキストベースのイングレスコントロールにより、アカウント管理者は、ユーザーID、リクエストタイプ、ネットワークソースなどの複数の条件に基づいて、許可ルールと拒否ルールを作成できます。これにより、ワークスペースにアクセスできるユーザーとそのアクセス元をよりきめ細かく制御できます。
Databricksでは、ワークスペースのイングレスの主要な制御としてコンテキストベースのイングレスを使用することを推奨しています。コンテキストベースのイングレスがリクエストを評価する方法の概要については、 コンテキストベースのイングレス制御を参照してください。
Databricks Labs の migrate-ip-acls CLI ツールを使用して、既存のワークスペース IP アクセスリストをコンテキストベースのイングレスポリシーに移行できます。
始める前に
-
移行するワークスペースの ワークスペース管理者 である必要があります。ワークスペースの IP アクセス リストの読み取りには、ワークスペース管理者権限が必要です。
-
You must be an アカウント管理者 。ネットワークポリシーの作成とアタッチには、アカウント管理者権限が必要です。
-
コンテキストベースのイングレスには、Enterprise ティアが必要です。
すべてのワークスペースを移行できるわけではないため、開始する前に 移行ツールの制限事項 を確認してください。
ポリシーの変更が反映されるまで、通常10~15分かかります。この期間中は、変更の反映に伴い、適用状態が一貫しない場合があります。移行したポリシーに依存する前に、この遅延時間を考慮してください。
移行ツールの仕組み
移行ツールは次のステップを実行します。
-
ワークスペース管理者権限を使用して選択したワークスペースに対して認証を行い、アカウント管理者権限を使用してDatabricksアカウントに対して認証を行います。
-
ワークスペースを安全に移行できるかどうかを判断するために、移行前チェックを実行します。
-
生成されたネットワークポリシーのポリシー名を入力するように求められます。
-
ワークスペースで有効になっている IP アクセス リストを読み取ります。
- 有効な各 許可リスト は、生成されたネットワークポリシー内のコンテキストベースのイングレス 許可ルール に変換されます。
- 有効な各 ブロック リスト は、生成されたネットワーク ポリシー内のコンテキストベースのイングレスの 拒否ルール に変換されます。
- 既存のIPアクセスリストのラベルは保持されます。
- 無効化された個別のリストは移行されず、レビュー対象として報告されます。
- ワークスペースにブロック リストのみがある場合、ツールによって包括的な許可ルールが追加され、生成されたコンテキストベースのイングレス ポリシーによって既存の IP アクセス リストの動作が維持されます。
-
ワークスペースに現在アタッチされているネットワーク ポリシーからの出力構成を、生成されたネットワーク ポリシーにコピーします。ワークスペースに明示的に割り当てられたポリシーがない場合、ツールはアカウントのベースライン
default-policyを使用します。 -
確認用に生成されたネットワークポリシーが表示されます。
-
--exportで構成されている場合、ツールは提案されたポリシーの JSON および Terraform 表現を書き込みます。 -
--create-policyが有効な場合、ツールは新しいネットワークポリシーを作成します。 -
--auto-assignが有効な場合、ツールは生成されたポリシーを,選択したワークスペースにアタッチします。ワークスペースに割り当てられるネットワークポリシーは 1 つであるため、これによりワークスペースの以前のポリシー割り当てが置き換えられます。 -
--disable-existing-ip-aclsが指定されている場合、ツールは、新しく適用されたポリシーの作成とアタッチが正常に完了した後、ワークスペースのIPアクセスリストの適用を無効にします。既存のIPアクセスリストは保持されますが、適用されなくなります。
--auto-assign is enabled by default. --disable-existing-ip-acls は default で無効になっています。
ワークスペースのIPアクセスリストが有効なままである間、それらはコンテキストベースのイングレスとともに評価され続けます。リクエストは両方の制御を満たしている必要があります。

移行ツールを使用する
ワークスペースのIPアクセスリストからコンテキストベースのイングレスポリシーを生成し、必要に応じて作成およびアタッチするには、次のステップに従います。
生成されたポリシーは、セキュリティを強制するコントロールです。適用モードでは、ルールに一致しないリクエストはすべてブロックされます。移行ツールは、既存のワークスペースの IP アクセス リストのポリシーを保持します。ただし、必要に応じて、最初に移行ツールをドライランモードで実行してから (--policy-mode dry_run)、生成されたポリシーを適用モードに切り替える前に 拒否 Logs を確認することもできます。
移行ツールのクローン作成
Databricks Labs 移行ツールリポジトリのクローンを作成します。
git clone https://github.com/databrickslabs/migrate-ip-acls.git
cd migrate-ip-acls
ツールの依存関係をインストールします。
uv sync
ワークスペース管理者としてワークスペースに対して認証を行う
ワークスペースのIPアクセスリストの読み取りと変更には、ワークスペース管理者権限が必要です。
次のコマンドを実行して、ワークスペースに対して認証を行います。
databricks auth login \
--host https://dbc-<WORKSPACE_URL>.cloud.databricks.com/
認証コマンドにより、ワークスペース用の Databricks CLI プロファイルが作成されます。移行ツールを実行する際にこのプロファイルを使用します。
アカウント管理者としてアカウントに対して認証を行います
ネットワークポリシーを作成および割り当てるには、アカウント管理者権限が必要です。
次のコマンドを実行して、アカウントに対して認証を行います。
databricks auth login \
--host https://accounts.cloud.databricks.com \
--account-id <ACCOUNT_ID>
移行するワークスペースが含まれるアカウントを使用します。
移行ツールの起動
次のコマンドを実行して、移行ツールを起動します。
uv run dbx-migrate-ip-acls --profile <my-workspace-profile-name> --account-id <acct-id> --export .
入力パラメーター
パラメーター | 説明 | 有効な値 | デフォルト値 | 推奨またはオプション |
|---|---|---|---|---|
| 移行するワークスペース用の Databricks CLI ワークスペース プロファイル。 |
| N/A | 推奨 省略した場合はプロンプトが表示されます。 |
| 選択したワークスペースを含む Databricks アカウント ID。 | 有効な Databricks アカウント ID(選択したワークスペースに関連付けられている必要があります) | N/A | 推奨 省略した場合はプロンプトが表示されます。 |
| 生成されたポリシーの JSON および Terraform ファイルが書き込まれるファイル パス。 | 有効なファイルパス | N/A | [推奨] 省略した場合はファイルをエクスポートしません。 |
| 生成されたネットワークポリシーの名前。 | 名前は、アカウント内の他のネットワーク ポリシーで使用されていない必要があります。 | N/A | オプション 。省略した場合はプロンプトが表示されます。 |
| 生成されたコンテキストベースのイングレスポリシーが適用されるか、ドライランモードになるかを示します。 強制モード ではポリシーが強制されます。 Dry run mode はLogsのみ(イングレス拒否をLogsに記録し、強制はしない)です。 |
|
| オプション 。省略した場合はdefaultを使用します。 |
| 作成後に、生成されたポリシーを選択したワークスペースにアタッチするかどうかを制御します。新しいポリシーをアタッチすると、ワークスペースの以前のネットワークポリシーの割り当てが置き換えられます。 | N/A |
| オプション 。省略した場合はdefaultを使用します。 |
| 新しいネットワーク ポリシーを作成します。提案専用のランには | N/A |
| オプション 。省略した場合はdefaultを使用します。 |
| 強制ポリシーの作成とアタッチに成功した後、ワークスペースの IP アクセス リストの強制を無効にします。IP アクセス リストの設定自体は保持されます。 | N/A | 既存のIPアクセスリストは無効になりません | オプション 。省略した場合はdefaultを使用します。 |
移行後にワークスペースで異なるイングレスポリシーが適用される可能性のあるパラメーターの組み合わせは、ツールによって拒否されます。たとえば、ツールが 強制 ネットワークポリシーも 作成 および アタッチ しない限り、--disable-existing-ip-aclsを使用することはできません。また、--no-create-policy --auto-assignなどの無意味な組み合わせも拒否されます。
出力を調べて承認する
生成されたポリシーを作成、アタッチ、または適用する前に、ツールは検査および検証のために生成されたネットワークポリシーを出力します。承認すると、ツールは入力パラメーターに従ってこれらの変更を適用します。
生成された Terraform スクリプトを適用します
--exportを指定すると、ツールは生成されたポリシーのJSON表現と、対応するTerraform構成を作成します。
生成された Terraform を infrastructure-as-code 構成に追加するか、terraform apply を実行する前に確認します。Terraform の出力は、infrastructure as code で生成されたポリシーを管理するための出発点として使用することを目的としています。
移行の検証
ツールがポリシーを作成してアタッチした後は、依存する前に期待どおりに動作することを確認してください:
- アカウント コンソールで [ ワークスペース ] をクリックし、ワークスペースを選択して、生成されたポリシーが [ ネットワーク ポリシー ] の下に表示されていることを確認します。
- ドライランモードでポリシーを作成した場合は、通常のワークスペースのトラフィックを生成してから、拒否 Logs を確認して、変換されたルールが意図したアクセスと一致していることを確認します。ルールが正しい場合は、ポリシーを強制モードに切り替えます。ポリシー強制モードの設定を参照してください。
拒否Logsは、Unity Catalog の system.access.inbound_network テーブルに格納されます。ドライランの拒否は access_type 列に DRY_RUN_DENIAL 値として表示され、強制された拒否は DROP として表示されます。See Check denial Logs.
移行ツールの制限事項
移行ツールは、次の構成をサポートしていません。
-
既存の制限付きコンテキストベースのイングレスポリシーがすでにワークスペースに割り当てられています。 ツールが新しいポリシーを作成して割り当てるように構成されている場合、強制またはドライランのイングレスルールを含む割り当てられたポリシーがワークスペースにすでに存在すると、処理が中止されます。すべてを許可するベースラインポリシーでは、このチェックはTriggerされません。
-
インバウンド プライベート接続が構成されました。 アカウントに登録済みのインバウンド プライベート Endpoint がある場合、またはワークスペースにプライベート アクセス設定がアタッチされている場合、ツールは中断します。コンテキストベースのイングレスにおけるインバウンド PrivateLink がベータ版であるため、このツールではインバウンド PrivateLink 構成をコンテキストベースのイングレスに移行しません。
次のステップ
- 生成されたポリシーの調整、ルールの追加や編集、または適用モードの変更を行うには、 コンテキストベースのイングレスポリシーの管理を参照してください。
- コンテキストベースのイングレスがリクエストを評価する方法については、 コンテキストベースのイングレス制御を参照してください。