コンテキストベースのイングレス制御

注

コンテキストベースの入力には プレミアムティアが必要です。

コンテキストベースの入力は一般に利用可能です(GA)が、関連する機能の一部は ベータ版にあります。

  • アカウントのコンテキストベースのイングレスポリシー:アカウントコンソール、アカウントレベルのGenie One、アカウントAPIにアクセスポリシーを適用します。 コンテキストベースのイングレス: アカウント ポリシーを有効にして始めましょう。
  • ネットワークソースとしてのパートナープラットフォーム:サードパーティアプリ(Power BI、Tableau Cloud、dbtプラットフォーム)がAzure Databricksに接続するために使用するIPアドレスを許可リストにしてください。 Azure Databricksは、これらの IP リストを自動的に管理および更新します。 アカウントコンソールのプレビューページからコンテキストベースのイングレス ベータ機能を有効にして始めましょう。
  • クロスワークスペースアクセス:サーバーレストラフィックを通じて、どのソースワークスペースがこのワークスペースにアクセスできるかを制御し、他のネットワークソースと同じアイデンティティと許可・拒否ルールを使用します。

このページでは、コンテキストベースのイングレス制御の概要、その基本的な概念、強制モード、監査、そして他のネットワーク制御との相互作用について解説しています。 ポリシーの設定については、「 コンテキストベースのイングレスポリシー管理」を参照してください。 サーバーレスエグレス制御については、「 サーバーレスエグレス制御とは」を参照してください。

コンテキストベースのイングレス制御の概要

コンテキストベースのイングレス制御は、IP アクセス リストおよびフロントエンドのプライベート接続と連携して機能し、アカウント管理者が、Azure Databricks で 誰 が、どこから 呼び出しているか、そして 何 にアクセスできるかを組み合わせた許可ルールと拒否ルールを設定できるようにします。 これにより、信頼できる ID、要求の種類、ネットワーク ソースの組み合わせのみがワークスペースに到達できるようになります。 コンテキストベースのイングレス制御は、アカウント レベルで構成されます。 1 つのポリシーで複数のワークスペースを管理できます。

コンテキストベースのイングレスを使用すると、次のことができます。

  • 資格情報に加えて、信頼されたネットワーク ソースである 2 番目の要素を要求して、信頼されていないネットワークからのアクセスを停止します。
  • IP 範囲の代わりに ID をキー設定することで、安定したエグレス IP なしで SaaS クライアントへのアクセスを許可します。
  • 信頼度の低いソースが、Azure Databricks API やワークスペース UI などの特定のスコープのみを使用できるようにすることで、アクセスを制限します。
  • 特権自動化の保護: 高価値のサービス プリンシパルを高信頼ネットワークのみに制限します。
  • 監査を効果的に行う: ブロックされた要求を監視するために、Unity カタログ システム テーブルで詳細な拒否ログをキャプチャします。

ワークスペースレベルとアカウントレベルのポリシー

コンテキストベースのイングレス制御は2種類のポリシーを使用します。 ワークスペースレベルのポリシーはワークスペースへのアクセスを管理します。 アカウントレベルのポリシーは、アカウントコンソールやアカウントレベルのGenie Oneなどのアカウントレベルのリソースへのアクセスを管理します。

Attribute ワークスペースレベルのポリシー アカウントレベルの方針
へのアクセスを制御します。 ワークスペース アカウントレベルのリソース(アカウントコンソール、アカウントレベルのGenie One、アカウントAPI)
アクセスの種類 Workspace UI、API、Apps runtime、Lakebase runtime アカウントUI、アカウントAPI
アイデンティティーズ すべてのユーザーとサービスプリンシパル、すべてのユーザー、すべてのサービスプリンシパル、または選択されたアイデンティティ すべてのユーザーとサービスプリンシパルのみ
ネットワーク ソース パブリック、プライベート、クロスワークスペース パブリックとプライベート
既定のポリシー デフォルトのワークスペースレベルのポリシーは、明示的な割り当てがないワークスペースに適用されます 単一の固定保険(account-policy)、自動で取り付けられ、取り外し不可です
拒否のログ記録 ログイン済み system.access.inbound_network 記録されていません(ベータ版)
Manage ワークスペースコンテキストベースのイングレスポリシーを管理 アカウントコンテキストベースのイングレスポリシーを管理する

アカウントレベルのポリシーはベータ版です。 まずは、 Context-Based Ingress: Account Policyを有効にしてください。

コンテキストベースのイングレス コントロールのコア概念

ネットワーク ソース

ネットワーク ソースは、要求の配信元を定義します。 サポートされる型には次のようなものがあります。

パブリック アクセス ポリシー:

  • すべてのパブリック IP: 任意のパブリック インターネット ソース。
  • 選択した IP: 特定の IPv4 アドレスまたは CIDR 範囲。
  • パートナープラットフォーム(ベータ):サードパーティアプリ(Power BI、Tableau Cloud、dbtプラットフォーム)がAzure Databricksに接続するために使用するIP。 Azure Databricksは、これらの IP リストを自動的に管理および更新します。

プライベート アクセス ポリシー:

  • すべての登録済みプライベート エンドポイント: アカウントに登録されているすべてのプライベート エンドポイント。
  • 選択したプライベート エンドポイント: アカウントに登録されている特定のプライベート エンドポイント。
  • Azure workspace Private Link: ワークスペース ポリシーの拒否ルールでのみ。 すべての databricks_ui_api エンドポイントへのアクセスを拒否します。
  • すべてのプライベートアクセス: ワークスペース ポリシーの拒否ルールでのみ。 すべての databricks_ui_api および登録済みエンドポイントへのアクセスを拒否します。

受信プライベート接続にコンテキストベースのイングレスポリシーを使用するには、アカウント管理者がアカウントコンソールのプレビューページからContext-Based Ingress: Workspace Private Access Policiesを有効にする必要があります。 アカウント レベルのプレビューの管理を参照してください。

クロスワークスペースアクセス (ベータ):どのソースワークスペースがサーバーレストラフィックを通じてこのワークスペースにアクセスできるかを制御し、他のネットワークソースと同じアイデンティティおよび許可・拒否ルールを使用します。

  • 選択されたワークスペース:リストしたIDを持つワークスペースのみです。

このポリシーを互換モードにしておけば、ワークスペース間の入力を制御せず、ワークスペースの既存のネットワーク制御が適用されます。 入口側と出口側の両方でクロスワークスペースアクセスを設定し、その制限を確認するには、「 クロスワークスペースアクセス」を参照してください。

アクセスの種類

規則は、さまざまな受信要求スコープに適用されます。 各スコープは、許可または拒否できる受信要求のカテゴリを表します。

ワークスペース レベルのポリシー アクセスの種類:

  • ワークスペース UI: ワークスペースへのブラウザー アクセス。
  • API: SQL エンドポイント (JDBC/ODBC) を含むAzure Databricks API を介したプログラムによるアクセス。 以下のいずれかをターゲットにできます:
    • すべてのAPI
    • 特定のAPIスコープで、 INを使います。 例えば、アプリ、ダッシュボード、モデルサービングを指定することができます。
    • 選択されたものを除くすべてのAPIスコープを NOT INで使用します。
  • アプリ ランタイム: Databricks Apps のデプロイへのアクセスを許可または拒否します。 Databricks アプリを参照してください。 このアクセスの種類では、[ すべてのユーザーとサービス プリンシパル の ID] オプションのみがサポートされています。
  • Lakebase ランタイム: Lakebase データベース インスタンスへの接続。 Lakebase を参照してください。 このアクセスの種類では、[ すべてのユーザーとサービス プリンシパル の ID] オプションのみがサポートされています。

アカウントレベルのポリシーアクセスタイプ (ベータ版):

  • アカウント UI: アカウント レベルのリソース (アカウント コンソールやアカウント レベルの Genie One など) へのブラウザー アクセス。
  • アカウント API: Azure Databricks アカウント API を介したプログラムによるアクセス。

アイデンティティーズ

ルールは、さまざまな ID の種類を対象にすることができます。 Apps ランタイムと Lakebase ランタイム アクセスの種類の場合、サポートされているオプションは[すべてのユーザーとサービス プリンシパル]のみです。

アカウント レベルのポリシーでサポートされているオプションは、 すべてのユーザーとサービス プリンシパルのみです。

  • すべてのユーザーとサービス プリンシパル: 人間のユーザーと自動化の両方。
  • すべてのユーザー: 人間のユーザーのみ。
  • すべてのサービス プリンシパル: オートメーション アイデンティティのみ。
  • 選択した ID: 特定のユーザーまたはサービス プリンシパル。

ルールの評価

  • 既定の拒否: 制限モードでは、明示的に許可されない限り、アクセスは拒否されます。
  • 許可前に拒否: 拒否ルールを使用すると、許可ルールの例外を定義できます。
  • 既定のワークスペース レベルのポリシー: 各アカウントには、明示的なポリシーの割り当てなしで、対象となるすべてのワークスペースに既定のワークスペース レベルのイングレス ポリシーが適用されます。

強制モード

コンテキストベースのイングレス ポリシーでは、次の 2 つのモードが有効になります。

  • すべての製品に対して強制適用: Azure Databricks はルールを積極的に適用し、ルールに違反する要求をブロックします。
  • すべての製品向けのドライ ラン モード: Azure Databricks は違反をログに記録しますが、リクエストはブロックしません。 このモードを使用して、適用する前にポリシーの影響を評価します。

注

ネットワーク ポリシーでは、一度に 1 つの強制モードのみがサポートされます。

Databricksは、ポリシーを強制に切り替える前に、まずは試運転モードで方針の影響を観察することを推奨しています。

Auditing

拒否された要求またはドライラン要求は、 system.access.inbound_network システム テーブルに記録されます。 システム テーブルにアクセスできない場合は、メタストア管理者がアクセス許可を付与できます。 システム テーブルへのアクセス権の付与を参照してください。

各ログ エントリには、次のものが含まれます。

  • イベント時間
  • ワークスペース ID
  • リクエストを拒否したルールのラベル
  • 要求の種類
  • アイデンティティ
  • ネットワーク ソース
  • アクセスの種類 (DENIED または DRY_RUN_DENIAL)

これらのログにクエリを実行して、ルールが期待どおりに動作することを確認し、予期しないアクセス試行をキャッチします。

他の管理法との関係

  • ワークスペース IP アクセス リスト: 論理 AND を使用してコンテキストベースのイングレス ポリシーと共に評価され、2 つの間に厳密なシーケンスはありません。 要求は、IP アクセス リストとイングレス ポリシーの両方で許可されている場合にのみ許可されます。 ワークスペースの IP アクセス リストは、アクセスをさらに絞り込むことができますが、拡大することはできません。
  • サーバーレス エグレス制御: サーバーレス コンピューティングからの送信ネットワーク トラフィックを制御することで、イングレス ポリシーを補完します。 ネットワーク ポリシーの管理を参照してください。
  • クロスワークスペースアクセス:サーバーレストラフィックを通じてどのソースワークスペースがワークスペースにアクセスできるかを制御し、このページのネットワークソースおよびアイデンティティコントロールに加えます。 ワークスペース間アクセスを参照してください。
  • OpenSharingの受信者IPアクセスリスト:コンテキストベースのイングレスはOpenSharingの受信者IPアクセスリストには適用されません。 これらは、プロバイダーが受信者ごとに設定するオープン受信者用の別のコントロールです。 IP アクセス リストを使用した OpenSharing 受信者アクセスの制限 (Databricks から Open への共有) を参照してください。

Tip

複雑さを軽減するために、Databricks では、IP アクセス リストも維持するのではなく、コンテキストベースのイングレス ポリシーを唯一のポリシー エンジンとして使用することをお勧めします。 もしワークスペースにすでにIPアクセスリストがある場合は、「 ワークスペースのIPアクセスリストをコンテキストベースの入力に移行する」を参照してください。

  • フロントエンドのプライベート接続: ワークスペース ポリシーと指定された登録済みエンドポイントについては、コンテキストベースの受信アクセスまたは databricks_ui_api プライベート エンドポイントのいずれかで許可されているエンドポイントが許可されます。 しかし、ワークスペースのコンテキストベースのイングレスポリシーにすべてのdatabricks_ui_apiエンドポイントを拒否する拒否ルールがある場合、どのdatabricks_ui_apiエンドポイントもAzure Databricksにアクセスできません。 ワークスペースのInbound Private Linkの設定を参照してください。
  • [パブリック ネットワーク アクセスの許可] トグル: [パブリック ネットワーク アクセスを許可する] が有効になっている場合、ワークスペースの IP アクセス リストが評価されます。 それ以外の場合、すべてのパブリック イングレスがブロックされ、ワークスペースのパブリック イングレス ポリシーは評価されません。

コンテキストベースの入力ポリシーを管理する

保護したいリソースに合ったレベルでポリシーを設定し、付け付けます:

Task 説明
ワークスペースコンテキストベースのイングレスポリシーを管理 ワークスペースレベルのポリシーを作成し、パブリック、プライベート、クロスワークスペースのルールを設定し、ワークスペースにアタッチします。
クロスワークスペースアクセス ワークスペース間のサーバーレスネットワークトラフィックをクロスワークスペースの入出力ルールで制御します。

アカウントレベルのリソースを保護するポリシーのパブリックおよびプライベートルールを設定するには、「 アカウントコンテキストベースのイングレスポリシー管理」を参照してください。

APIとTerraform

アカウントコンソールに加え、コンテキストベースの入力ポリシーをプログラム的に管理することもできます:

  • REST API:ネットワークポリシーを管理するためにAzure Databricks REST APIを使用してください。
  • Terraform:Azure Databricks Terraform providerを使って、Ingressポリシーをインフラストラクチャ・アズ・コードとして管理します。

ベスト プラクティス

  • ドライランモードから始め、アクセスを中断することなく影響を観察します。
  • IP をローテーションする SaaS クライアントでは、可能な限り ID ベースのルールを使用します。
  • まず、特権サービス プリンシパルに拒否規則を適用して、影響を受ける領域を制限します。
  • ポリシー名は明確で一貫性を保ちます。

在庫状況

注

コンテキストベースのイングレス制御は、Azure West Indiaリージョン、Azure Government、またはAzure Chinaリージョンでは利用できません。 代わりに IPアクセスリストを 使いましょう。