IP アクセス リストIP access lists

注意

この機能には Azure Databricks Premium プランが必要です。This feature requires the Azure Databricks Premium Plan.

クラウド SaaS アプリケーションを使用するセキュリティを意識する企業は、自分の従業員にアクセスを制限する必要があります。Security-conscious enterprises that use cloud SaaS applications need to restrict access to their own employees. 認証は、ユーザーの身元を証明するのに役立ちますが、ユーザーのネットワークの場所は強制されません。Authentication helps to prove user identity, but that does not enforce network location of the users. セキュリティで保護されていないネットワークからクラウドサービスにアクセスすると、特にユーザーが機密データや個人データへのアクセスを承認されている場合に、企業にセキュリティ上のリスクが生じる可能性があります。Accessing a cloud service from an unsecured network can pose security risks to an enterprise, especially when the user may have authorized access to sensitive or personal data. エンタープライズネットワーク境界は、セキュリティポリシーを適用し、外部サービス (ファイアウォール、プロキシ、DLP、ログなど) へのアクセスを制限するため、これらのコントロールを超えたアクセスは信頼されていないと見なされます。Enterprise network perimeters apply security policies and limit access to external services (for example, firewalls, proxies, DLP, and logging), so access beyond these controls are assumed to be untrusted.

たとえば、病院の従業員が Azure Databricks ワークスペースにアクセスするとします。For example, suppose a hospital employee accesses an Azure Databricks workspace. 従業員がオフィスからコーヒーショップにいる場合、web アプリケーションと REST API にアクセスするための適切な資格情報を持っている場合でも、病院は Azure Databricks ワークスペースへの接続をブロックできます。If the employee walks from the office to a coffee shop, the hospital can block connections to the Azure Databricks workspace even if the customer has correct credentials to access the web application and the REST API.

Azure Databricks ワークスペースは、従業員がセキュリティで保護された境界を持つ既存の企業ネットワークを介してのみサービスに接続できるように構成できます。Azure Databricks workspaces can be configured so that employees connect to the service only through existing corporate networks with a secure perimeter. Azure Databricks のお客様は、IP アクセスリスト機能を使用して、承認された IP アドレスのセットを定義できます。Azure Databricks customers can use the IP access lists feature to define a set of approved IP addresses. Web アプリケーションと REST Api へのすべての受信アクセスには、承認済み IP アドレスからのユーザー接続が必要です。All incoming access to the Web application and REST APIs requires the user connect from an authorized IP address.

リモートまたは出張中の従業員は、VPN を使用して企業ネットワークに接続し、さらにそのワークスペースにアクセスできるようにします。For employees who are remote or travelling, employees could use VPN to connect to the corporate network, which in turn enables access to the workspace. 前の例を使用すると、病院は、従業員がコーヒーショップからの VPN を使用して、Azure Databricks ワークスペースにアクセスできるようにすることができます。Using the previous example, the hospital could allow an employee to use a VPN from the coffee shop to access the Azure Databricks workspace.

IP アクセスリストの概要図IP access lists overview diagram

柔軟な構成Flexible configuration

IP アクセスリスト機能は柔軟です。The IP access lists feature is flexible:

  • 独自のワークスペース管理者が、アクセスを許可されているパブリックインターネット上の IP アドレスのセットを制御します。Your own workspace administrators control the set of IP addresses on the public Internet that are allowed access. これを許可一覧と呼びます。This is known as the allow list. 複数の IP アドレスを明示的に、またはサブネット全体として許可します (216.58.195.78/28 など)。Allow multiple IP addresses explicitly or as entire subnets (for example 216.58.195.78/28).
  • ワークスペースの管理者は、許可リストに含まれている場合でも、ブロックする IP アドレスまたはサブネットをオプションで指定できます。Workspace administrators can optionally specify IP addresses or subnets to block even if they are included in the allow list. これは、ブロック一覧と呼ばれます。This is known as the block list. 許可される IP アドレス範囲に、実際にセキュリティで保護されたネットワーク境界の外部にある、より狭い範囲のインフラストラクチャ IP アドレスが含まれている場合は、この機能を使用することがあります。You might use this feature if an allowed IP address range includes a smaller range of infrastructure IP addresses that in practice are outside the actual secure network perimeter.
  • ワークスペース管理者は、REST Api を使用して、許可される IP アドレスとブロックする IP アドレスおよびサブネットの一覧を更新します。Workspace administrators use REST APIs to update the list of allowed and blocked IP addresses and subnets.

機能の詳細 Feature details

IP アクセスリスト API を使用すると、Azure Databricks 管理者は、ワークスペースの IP 許可リストとブロックリストを構成できます。The IP Access List API enables Azure Databricks admins to configure IP allow lists and block lists for a workspace. ワークスペースの機能が無効になっている場合は、すべてのアクセスが許可されます。If the feature is disabled for a workspace, all access is allowed. 許可リスト (包含) とブロックリスト (除外) はサポートされています。There is support for allow lists (inclusion) and block lists (exclusion).

接続が試行されたとき:When a connection is attempted:

  1. 最初のすべてのブロックリストがチェックされます。First all block lists are checked. 接続 IP アドレスが任意のブロック一覧と一致する場合、接続は拒否されます。If the connection IP address matches any block list, the connection is rejected.

  2. 接続がブロックリストによって拒否 されなかった場合、IP アドレスは許可リストと比較されます。If the connection was not rejected by block lists, the IP address is compared with the allow lists. ワークスペースの許可リストが少なくとも1つある場合は、IP アドレスが許可一覧と一致する場合にのみ接続が許可されます。If there is at least one allow list for the workspace, the connection is allowed only if the IP address matches an allow list. ワークスペースに許可リストがない場合は、すべての IP アドレスが許可されます。If there are no allow lists for the workspace, all IP addresses are allowed.

すべての許可リストとブロックリストの組み合わせについて、ワークスペースは最大1000の IP/CIDR 値をサポートします。1つの CIDR は単一の値としてカウントされます。For all allow lists and block lists combined, the workspace supports a maximum of 1000 IP/CIDR values, where one CIDR counts as a single value.

IP アクセスリスト機能を変更した後は、変更が有効になるまでに数分かかることがあります。After changes to the IP access list feature, it can take a few minutes for changes to take effect.

IP アクセスリストのフローダイアグラムIP access list flow diagram

IP アクセスリスト API の使用方法How to use the IP access list API

この記事では、API を使用して実行できる最も一般的なタスクについて説明します。This article discusses the most common tasks you can perform with the API. 完全な REST API リファレンスについては、 openapi 仕様 をダウンロードして直接表示するか、openapi 3.0 を読み取るアプリケーションを使用して参照してください。For the complete REST API reference, download the OpenAPI spec and view it directly or using an application that reads OpenAPI 3.0.

Azure Databricks Api の認証については、「 Azure Databricks 個人用アクセストークンを使用した認証」を参照してください。To learn about authenticating to Azure Databricks APIs, see Authentication using Azure Databricks personal access tokens.

この記事で説明するエンドポイントの基本パスはです https://<databricks-instance>/api/2.0 。ここで、 <databricks-instance>adb-<workspace-id>.<random-number>.azuredatabricks.net Azure Databricks デプロイのドメイン名です。The base path for the endpoints described in this article is https://<databricks-instance>/api/2.0, where <databricks-instance> is the adb-<workspace-id>.<random-number>.azuredatabricks.net domain name of your Azure Databricks deployment.

ワークスペースで IP アクセスリスト機能が有効になっているかどうかを確認するCheck if your workspace has the IP access list feature enabled

ワークスペースで IP アクセスリスト機能が有効になっているかどうかを確認するには、 get feature STATUS API () を呼び出し GET /workspace-conf ます。To check if your workspace has the IP access list feature enabled, call the get feature status API (GET /workspace-conf). keys=enableIpAccessLists要求に引数としてを渡します。Pass keys=enableIpAccessLists as arguments to the request.

応答で enableIpAccessLists は、フィールドはまたはのいずれかを指定し true false ます。In the response, the enableIpAccessLists field specifies either true or false.

次に例を示します。For example:

curl -X -n \
 https://<databricks-instance>/api/2.0/workspace-conf?keys=enableIpAccessLists

応答の例:Example response:

{
  "enableIpAccessLists": "true",
}

ワークスペースの IP アクセスリスト機能を有効または無効にするEnable or disable the IP access list feature for a workspace

ワークスペースの IP アクセスリスト機能を有効または無効にするには、[ ip アクセスリスト API を有効または無効 にする] () を呼び出し PATCH /workspace-conf ます。To enable or disable the IP access list feature for a workspace, call the enable or disable the IP access list API (PATCH /workspace-conf).

JSON 要求本文で、 enableIpAccessLists as true (有効) または false (無効) を指定します。In a JSON request body, specify enableIpAccessLists as true (enabled) or false (disabled).

たとえば、この機能を有効にするには、次のようにします。For example, to enable the feature:

curl -X PATCH -n \
  https://<databricks-instance>/api/2.0/workspace-conf \
  -d '{
    "enableIpAccessLists": "true"
    }'

応答の例:Example response:

{
  "enableIpAccessLists": "true"
}

IP アクセスリストを追加するAdd an IP access list

IP アクセスリストを追加するには、 ip アクセスリストの追加 API ( POST /ip-access-lists ) を呼び出します。To add an IP access list, call the add an IP access list API (POST /ip-access-lists).

JSON 要求本文で、次のように指定します。In the JSON request body, specify:

  • label —この一覧のラベル。label — Label for this list.
  • list_typeALLOW (許可リスト) または BLOCK (許可リストにある場合でも除外するブロックリスト) のいずれかを指定します。list_type — Either ALLOW (allow list) or BLOCK (a block list, which means exclude even if in allow list).
  • ip_addresses -文字列値としての、IP アドレスと CIDR 範囲の JSON 配列。ip_addresses — A JSON array of IP addresses and CIDR ranges, as String values.

応答は、渡されたオブジェクトのコピーですが、いくつかのフィールドが追加されています。最も重要なのは list_id フィールドです。The response is a copy of the object that you passed in, but with some additional fields, most importantly the list_id field. 後で一覧を更新または削除できるように、その値を保存することもできます。You may want to save that value so you can update or delete the list later. 保存しない場合でも、後で ID を取得するには、エンドポイントへの要求ですべての IP アクセスリストを照会し GET /ip-access-lists ます。If you do not save it, you are still able to get the ID later by querying the full set of IP access lists with a GET request to the /ip-access-lists endpoint.

たとえば、許可リストを追加するには、次のようにします。For example, to add an allow list:

curl -X POST -n \
  https://<databricks-instance>/api/2.0/ip-access-lists
  -d '{
    "label": "office",
    "list_type": "ALLOW",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
      ]
    }'

応答の例:Example response:

{
  "ip_access_list": {
    "list_id": "<list-id>",
    "label": "office",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
    ],
    "address_count": 2,
    "list_type": "ALLOW",
    "created_at": 1578423494457,
    "created_by": 6476783916686816,
    "updated_at": 1578423494457,
    "updated_by": 6476783916686816,
    "enabled": true
  }
}

ブロック一覧を追加するには、をに設定して、同じ操作を行い list_type BLOCK ます。To add a block list, do the same thing but with list_type set to BLOCK.

IP アクセスリストを更新するUpdate an IP access list

IP アクセスリストを更新するには、「 ip アクセスリスト API を更新 する」 () を呼び出し PUT /ip-access-lists/<list-id> ます。To update an IP access list, call the update an IP access list API (PUT /ip-access-lists/<list-id>).

JSON 要求本文で、次のように指定します。In the JSON request body, specify:

  • label —この一覧のラベル。label — Label for this list.
  • list_typeALLOW (許可リスト) または BLOCK (ブロックリストの場合は、許可リスト内でも除外することを意味します)。list_type — Either ALLOW (allow list) or BLOCK (block list, which means exclude even if in allow list).
  • ip_addresses -文字列値としての、IP アドレスと CIDR 範囲の JSON 配列。ip_addresses — A JSON array of IP addresses and CIDR ranges, as String values.
  • enabled —このリストを有効にするかどうかを指定します。enabled — Specifies whether this list is enabled. trueまたは false を渡します。Pass true or false.

応答は、ID および変更日の追加フィールドと共に渡されたオブジェクトのコピーです。The response is a copy of the object that you passed in with additional fields for the ID and modification dates.

たとえば、許可リストを更新して無効にするには、次のようにします。For example, to update an allow list to disable it:

curl -X PUT -n \
  https://<databricks-instance>/api/2.0/ip-access-lists/<list-id>
  -d '{
    "label": "office",
    "list_type": "ALLOW",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
      ],
    "enabled": "false"
    }'

IP アクセスリストを削除するDelete an IP access list

IP アクセスリストを削除するには、 ip アクセスリストの削除 API ( DELETE /ip-access-lists/<list-id> ) を呼び出します。To delete an IP access list, call the delete an IP access list API (DELETE /ip-access-lists/<list-id>). 要求の本文はありません。There is no request body.

curl -X DELETE -n \
  https://<databricks-instance>/api/2.0/ip-access-lists/<list-id>