Databricksワークスペースはデフォルトでインターネット上のどのIPアドレスからでもログイン画面にアクセスできます。 企業環境では「社内VPNからのみアクセスを許可したい」「特定の拠点IPだけに制限したい」という要件が必ず出てきます。IP Access Listsは、ワークスペースにアクセスできるIPアドレスの範囲をCIDR単位で制御する機能です。
この記事では、IP Access Listsの仕組み、Allow ListとBlock Listの動作の違い、REST APIによる設定手順、 CIDR表記の基礎、そしてVPNやPrivate Linkとの使い分けを整理します。
IP Access Listsはワークスペースレベルのネットワークアクセス制御です。 有効にすると、ワークスペースへのすべてのリクエスト(UIログイン・REST API呼び出し・JDBC/ODBC接続)に対して送信元IPアドレスのチェックが行われます。 許可されていないIPからのリクエストは403 Forbiddenで拒否されます。
IP Access Listsには2つの種類があり、それぞれ役割が異なります。
| 種類 | 役割 | 典型的な用途 |
|---|---|---|
| Allow List | 指定CIDRからのアクセスのみ許可 | 社内VPN・拠点IPの許可 |
| Block List | 指定CIDRからのアクセスを明示的に拒否 | Allow List内の特定サブネットの除外 |
評価順序はBlock List → Allow Listです。 Block Listに一致すればAllow Listに含まれていても拒否されます。 Allow Listが1つ以上定義されている場合、どのAllow Listにも一致しないIPは暗黙的に拒否されます。
IP Access Listsの設定ではCIDR(Classless Inter-Domain Routing)表記を使います。 ネットワーク管理に馴染みのないデータエンジニア向けに基本を整理します。
| CIDR表記 | IPアドレス範囲 | アドレス数 | 用途例 |
|---|---|---|---|
| 203.0.113.10/32 | 203.0.113.10のみ | 1 | 個人のグローバルIP |
| 10.0.0.0/24 | 10.0.0.0〜10.0.0.255 | 256 | オフィスのサブネット |
| 10.0.0.0/16 | 10.0.0.0〜10.0.255.255 | 65,536 | 社内ネットワーク全体 |
| 0.0.0.0/0 | すべてのIPv4アドレス | 全IP | Block Listに入れると全拒否 |
スラッシュの後の数字はネットワークプレフィックス長です。値が大きいほど範囲が狭くなります。 /32は1つのIPアドレス、/0は全IPアドレスです。
IP Access Listsが有効な場合のリクエスト処理フローは以下の通りです。
Allow Listが0件でBlock Listのみが定義されている場合、Block List以外のすべてのIPが許可されます。 ただし実務ではAllow Listを主体にし、Block Listは例外除外用に使うのが推奨パターンです。
IP Access Listsの設定はUIからも行えますが、IaC管理や自動化にはREST APIを使います。 以下はAllow Listを作成するcurlコマンドの例です。
# Allow Listを作成(社内VPNのCIDR)
curl -X POST \
"https://<workspace-url>/api/2.0/ip-access-lists" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"label": "Corporate VPN",
"list_type": "ALLOW",
"ip_addresses": [
"10.0.0.0/16",
"172.16.0.0/12"
]
}'Block Listを追加する場合はlist_typeを"BLOCK"に変更します。
# Block Listを追加(特定サブネットを除外)
curl -X POST \
"https://<workspace-url>/api/2.0/ip-access-lists" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"label": "Exclude Guest Network",
"list_type": "BLOCK",
"ip_addresses": [
"10.0.99.0/24"
]
}'IP Access Lists機能自体の有効化・無効化は、ワークスペース設定APIで行います。
# IP Access List機能を有効化
curl -X PATCH \
"https://<workspace-url>/api/2.0/workspace-conf" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"enableIpAccessLists": "true"
}'Databricksのネットワークセキュリティ機能は複数あり、試験でも混同しやすいポイントです。 それぞれの守る範囲と特性を比較します。
| 方式 | 通信経路 | 保護対象 | 導入コスト | クラウド依存 |
|---|---|---|---|---|
| IP Access List | インターネット経由(送信元IP制限) | ワークスペースUI・API | 低(設定のみ) | なし(全クラウド共通) |
| VPN + IP Access List | VPN経由 → 固定IP → インターネット | ワークスペースUI・API | 中(VPN基盤が必要) | VPN製品依存 |
| Private Link | クラウドバックボーン(インターネット不通過) | コントロールプレーン・データプレーン | 高(VNet/VPC設定が必要) | AWS/Azure固有 |
| VNet Injection | 顧客VNet内でクラスタを起動 | データプレーン(クラスタ通信) | 高(ネットワーク設計が必要) | AWS/Azure固有 |
IP Access Listは最も導入が簡単で即座に効果を発揮します。一方、通信自体はインターネットを経由するため、 「データが社外ネットワークを一切通過しないこと」が要件の場合はPrivate Linkが必要です。 多くの企業ではIP Access Listで初期導入し、コンプライアンス要件の厳格化に応じてPrivate Linkへ移行する段階的アプローチを取ります。
IP Access ListをIaCで管理する場合、Databricks Terraform Providerのdatabricks_ip_access_listリソースを使います。
resource "databricks_ip_access_list" "corporate_vpn" {
label = "Corporate VPN"
list_type = "ALLOW"
ip_addresses = [
"10.0.0.0/16",
"172.16.0.0/12",
]
}
resource "databricks_ip_access_list" "guest_block" {
label = "Block Guest Network"
list_type = "BLOCK"
ip_addresses = [
"10.0.99.0/24",
]
}
resource "databricks_workspace_conf" "ip_access" {
custom_config = {
"enableIpAccessLists" = "true"
}
}Terraformで管理すると、IP変更のレビュープロセス(PR → approve → apply)を強制でき、 「誰がいつどのIPを変更したか」の監査ログも自然に残ります。
Security & Governance
問題 1
セキュリティチームから「Databricksワークスペースへのアクセスを社内VPN(出口IP: 203.0.113.0/24)からのみに制限し、ただしゲスト用Wi-Fi(203.0.113.128/25)からのアクセスは拒否せよ」という要件を受けた。最も適切な構成はどれか。
正解: A
Allow Listで社内VPN全体を許可し、Block Listでゲスト用サブネットを除外する構成が要件に一致します。Block Listは評価順でAllow Listより優先されるため、ゲストWi-FiのIPはAllow List範囲内であっても拒否されます。選択肢Bは正しいCIDR計算をすれば同等ですが、Allow Listだけで除外する設計は可読性が低く運用上推奨されません。Private Linkはネットワーク経路そのものを変える機能でIPフィルタリングとは異なり、Unity Catalogはデータアクセス制御でネットワーク制御ではありません。
IP Access Listを有効化すると既存のセッションは即座に切断されますか?
いいえ。IP Access Listの有効化はワークスペース設定レベルで行いますが、既存の認証済みセッションには即座に影響しません。ただし次回のAPIリクエストやUI操作時にIPチェックが走るため、許可リストに含まれないIPからのアクセスは短時間でブロックされます。設定ミスで管理者自身がロックアウトされるリスクがあるため、有効化前に必ず自身のIPまたはVPN CIDRが許可リストに入っていることを確認してください。ロックアウト時はAccount Console(IP Access Listの影響を受けない)からリストを修正できます。
Allow ListとBlock Listの両方に同じIPが含まれる場合はどうなりますか?
Block Listが優先されます。DatabricksのIP Access ListはまずBlock Listで拒否判定を行い、次にAllow Listで許可判定を行う「deny-first」モデルです。つまり、Allow Listに広いCIDR(例: 10.0.0.0/8)を入れていても、Block Listに10.0.1.0/24を追加すると、そのサブネットからのアクセスは拒否されます。この仕組みを利用して「社内ネットワーク全体を許可し、特定の部署のネットワークだけ除外する」構成が可能です。
IP Access Listの設定はDatabricks認定試験でどう出題されますか?
Data Engineer AssociateおよびProfessionalの「セキュリティとガバナンス」ドメインで出題されます。典型的な問われ方は「ワークスペースへのアクセスを特定のネットワークに制限する方法」「VPNと組み合わせたアクセス制御」「Private Linkとの違い」です。REST APIの具体的なエンドポイント名を書かせる問題は稀で、IP Access ListとPrivate Link/VNet Injectionの使い分けの理解が重視されます。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Databricks資格一覧|全7試験・難易度・勉強法
Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...
Databricks試験の難易度ランキング|全7資格を徹底比較
Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...
Databricks資格の勉強方法|最短合格ルートと学習時間の目安
Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...
Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略
Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...
Databricks Data Engineer Professional完全解説|上級試験の攻略法
Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...