はじめに
Databricksはワークスペース毎にIPで接続制限をかけることができる。 デフォルトでは無効になっており、有効化する手順をまとめる。 ※Premiumプランのみ利用可能 ※引用元: IP アクセス リスト - Azure Databricks | Microsoft Docs
IPアクセスリストAPIでできること
- IPブロックリストの設定
- IP許可リストの設定
IPアクセス制限時の接続フロー
まず接続IPアドレスがブロックリストに載っているか確認される。接続IPがブロックリストに載っている場合は接続を拒否される。
次に許可リストが設定されている場合は、接続IPアドレスが許可リストに記載されている場合のみ接続が許可される。
許可リストが設定されていない場合は、ブロックリストを除いた全てのIPからのワークスペースへのアクセスが許可される。
IPアクセス制限の有効化手順
1. Databricks APIの認証のためにトークンを取得
2. 各APIを叩いてIPアクセス制限を設定
- IPアクセス制限が有効になっているか確認する
$ export DATABRICKS_TOKEN=<取得したアクセストークン> $ curl -X GET --header "Authorization: Bearer $DATABRICKS_TOKEN" 'https://<DatabricksのURL>/api/2.0/workspace-conf?keys=enableIpAccessLists'
- IPアクセスリストを有効化する
$ export DATABRICKS_TOKEN=<取得したアクセストークン> $ curl -X PATCH --header "Authorization: Bearer $DATABRICKS_TOKEN" 'https://<DatabricksのURL>/api/2.0/workspace-conf' -d '{"enableIpAccessLists": "True"}'
- IPアクセスリストを追加する
$ export DATABRICKS_TOKEN=<取得したアクセストークン> $ curl -X POST --header "Authorization: Bearer $DATABRICKS_TOKEN" 'https://<DatabricksのURL>/api/2.0/ip-access-lists' -d '{ "label": "office", "list_type": "ALLOW", "ip_addresses": [ "1.1.1.1", "2.2.2.2/21" ] }'