IP アクセス リストとは
Databricks の IP アクセス リストはワークスペースへのアクセスを IP で制限する機能です。
Azure Databricks ではワークスペースのパブリック アクセスを禁止し、プライベート エンドポイントからのアクセスのみを許可することが可能ですが、パブリック アクセスを必要とし尚且つ IP 制限をしたい場合に IP アクセス リストが役立ちます。
設定方法
IP アクセス リストの設定方法について説明していきます。
1. アクセス トークンの発行
Databricks ワークスペースのユーザー設定画面にて [Generate new token] をクリックします。
[Comment] に任意の値を入力し [Generate] をクリックします。
発行されたトークンをコピーしておきます。
2. 機能の有効化
以下のコマンドで IP アクセス リストを有効化します。
$ export TOKEN="<手順1で発行したトークン>"
$ curl -X PATCH -H "Authorization: Bearer $TOKEN" \
https://adb-XXXXX.XX.azuredatabricks.net/api/2.0/workspace-conf \
-d '{
"enableIpAccessLists": "true"
}'
以下のコマンドで有効化を確認できます。
$ curl -H "Authorization: Bearer $TOKEN" \
https://adb-XXXXX.XX.azuredatabricks.net/api/2.0/workspace-conf?keys=enableIpAccessLists
レスポンスは以下となります。
{"enableIpAccessLists":"true"}
3. IP 制限の実施
以下のコマンドで IP 制限を設定します。
$ curl -X POST -H "Authorization: Bearer $TOKEN" \
https://adb-XXXXX.XX.azuredatabricks.net/api/2.0/ip-access-lists \
-d '{
"label": "home",
"list_type": "BLOCK",
"ip_addresses": [
"1.1.1.1/32"
]
}'
成功すると以下のレスポンスが返ってきます。
{
"ip_access_list": {
"list_id": "dff68424-e34e-40ba-8e64-27cf2ad03755",
"label": "home",
"ip_addresses": [
"1.1.1.1/32"
],
"address_count": 1,
"list_type": "BLOCK",
"created_at": 1664458864990,
"created_by": 379975931503837,
"updated_at": 1664458864990,
"updated_by": 379975931503837,
"enabled": true
}
}
なお、制限対象に自分の IP アドレスが含まれると失敗し、以下のレスポンスが返ってきます。逆に、許可対象に自分の IP アドレスが含まれていない場合でも失敗します。
{
"error_code": "INVALID_STATE",
"message": "Your current IP 1.1.1.1 will not be allowed to access the workspace under current configuration"
}
4. 動作確認
制限された IP で Databricks ワークスペースにログインを試みると、以下のエラー画面となり失敗します。
参考