Databricks

Databricks IP Access Listsでワークスペースを守る

2026-03-26
更新: 2026-03-27
NicheeLab編集部

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の仕組み

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は暗黙的に拒否されます。

CIDR表記の基本

IP Access Listsの設定ではCIDR(Classless Inter-Domain Routing)表記を使います。 ネットワーク管理に馴染みのないデータエンジニア向けに基本を整理します。

CIDR表記IPアドレス範囲アドレス数用途例
203.0.113.10/32203.0.113.10のみ1個人のグローバルIP
10.0.0.0/2410.0.0.0〜10.0.0.255256オフィスのサブネット
10.0.0.0/1610.0.0.0〜10.0.255.25565,536社内ネットワーク全体
0.0.0.0/0すべてのIPv4アドレス全IPBlock Listに入れると全拒否

スラッシュの後の数字はネットワークプレフィックス長です。値が大きいほど範囲が狭くなります。 /32は1つのIPアドレス、/0は全IPアドレスです。

Allow List × Block Listの評価フロー

IP Access Listsが有効な場合のリクエスト処理フローは以下の通りです。

  1. リクエスト送信元のIPアドレスを取得
  2. Block Listとの照合: いずれかのBlock ListのCIDRに一致 → 即座に403拒否
  3. Allow Listとの照合: いずれかのAllow ListのCIDRに一致 → 許可(通常の認証処理へ進む)
  4. どのAllow Listにも不一致 → 暗黙拒否(403)

Allow Listが0件でBlock Listのみが定義されている場合、Block List以外のすべてのIPが許可されます。 ただし実務ではAllow Listを主体にし、Block Listは例外除外用に使うのが推奨パターンです。

REST APIによるIP Access 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"
  }'

VPN / Private Link / IP Access Listの比較

Databricksのネットワークセキュリティ機能は複数あり、試験でも混同しやすいポイントです。 それぞれの守る範囲と特性を比較します。

方式通信経路保護対象導入コストクラウド依存
IP Access Listインターネット経由(送信元IP制限)ワークスペースUI・API低(設定のみ)なし(全クラウド共通)
VPN + IP Access ListVPN経由 → 固定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運用のベストプラクティス

  • Allow Listは最小限に保つ: 社内ネットワーク全体(/8や/16)ではなく、 VPN出口IP(/32)やオフィスサブネット(/24)を指定して攻撃面を小さく保つ
  • 自動化パイプラインのIPを忘れない: GitHub ActionsやJenkinsなどCI/CDランナーのIPレンジも Allow Listに含めないとデプロイが失敗する
  • ラベルで管理する: 各リストに意味のあるラベル("Tokyo Office", "CI/CD Runners"等)を付けて 後から何のために作ったリストか判別できるようにする
  • 有効化前にテストする: Allow Listを作成してから有効化する順序を守る。 先に有効化すると「許可リストが空 → 全員ブロック」の事故が起きる
  • Account Consoleは影響を受けない: ワークスペースからロックアウトされても Account Console経由でリストを修正できることを把握しておく

Terraformでの管理

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を変更したか」の監査ログも自然に残ります。

試験で問われるポイント

  • 「ワークスペースへのアクセスを特定IPに制限するには」→ IP Access List
  • 「インターネットを経由させずにワークスペースに接続するには」→ Private Link(IP Access Listではない)
  • 「Block ListとAllow Listの優先順位は」→ Block Listが優先
  • 「IP Access ListはどのレベルでScopingされるか」→ ワークスペースレベル
  • 「CI/CDパイプラインがIP制限でブロックされた場合の対処」→ ランナーIPをAllow Listに追加

問題で確認

Security & Governance

問題 1

セキュリティチームから「Databricksワークスペースへのアクセスを社内VPN(出口IP: 203.0.113.0/24)からのみに制限し、ただしゲスト用Wi-Fi(203.0.113.128/25)からのアクセスは拒否せよ」という要件を受けた。最も適切な構成はどれか。

  1. Allow Listに203.0.113.0/24を追加し、Block Listに203.0.113.128/25を追加する
  2. Allow Listに203.0.113.0/25のみ追加して有効化する
  3. Private Linkを構成してVPN経由のアクセスのみ許可する
  4. Unity Catalogでネットワークポリシーを定義し、テーブルへのアクセスを制限する

正解: 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の使い分けの理解が重視されます。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Databricks

Databricks資格一覧|全7試験・難易度・勉強法

Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...

Databricks

Databricks試験の難易度ランキング|全7資格を徹底比較

Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...

Databricks

Databricks資格の勉強方法|最短合格ルートと学習時間の目安

Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...

Databricks

Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略

Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...

Databricks

Databricks Data Engineer Professional完全解説|上級試験の攻略法

Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...

Databricksの記事一覧 (105件)
© 2026 NicheeLab All rights reserved.