メインコンテンツまでスキップ

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

注記

コンテキストベースのイングレスにはEnterpriseティアが必要です。

コンテキストベースのイングレスは一般提供(GA)されていますが、関連するいくつかの機能は ベータ版です。

  • インバウンドプライベート接続のコンテキストベースのイングレスポリシー :登録済みのプライベートEndpointにコンテキストベースのアクセスポリシーを適用します。開始するには、 コンテキストベースのイングレス:ワークスペースのプライベートアクセス ポリシー を有効にします。

  • アカウントのコンテキストベースのイングレスポリシー :アカウントコンソール、アカウントレベルのGenie One、およびアカウントAPIにアクセスポリシーを適用します。 Context-Based Ingress: アカウント ポリシー を有効にして起動します。

  • ネットワークソースとしてのパートナープラットフォーム :サードパーティアプリ(Power BI、Tableau Cloud、dbt プラットフォーム)がDatabricksへの接続に使用するIPアドレスを許可リストに追加します。Databricksは、これらのIPリストを自動的に管理および更新します。開始するには、アカウントコンソールの プレビュー ページでコンテキストベースのイングレスのベータ機能を有効にします。

  • クロスワークスペースアクセス :Serverless通信を介してどのソースワークスペースがこのワークスペースに到達できるかを制御します。他のネットワークソースと同じID、許可ルール、拒否ルールを使用します。

このページでは、コアコンセプト、適用モード、監査、および他のネットワーク制御との連携方法を含め、コンテキストベースのイングレス制御の概要について説明します。ポリシーを構成するには、 コンテキストベースのイングレスポリシーの管理を参照してください。Serverlessエグレス制御については、 Serverlessエグレス制御とはを参照してください。

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

コンテキストベースのイングレス制御は、IPアクセスリストおよびフロントエンドのプライベート接続と連携して動作し、アカウント管理者が、発信 者 、発信 元 、およびDatabricks内でアクセス可能な もの を組み合わせた許可ルールと拒否ルールを設定できるようにします。これにより、信頼できるID、リクエストタイプ、ネットワークソースの組み合わせのみがワークスペースにアクセスできるようになります。コンテキストベースのイングレス制御は、アカウントレベルで設定されます。1つのポリシーで複数のワークスペースを管理できます。

コンテキストベースのイングレスを使用すると、次のことが可能になります。

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

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

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

属性

ワークスペースレベルのポリシー

アカウントレベルのポリシー

次へのアクセスを制御します

ワークスペース

アカウントレベルのリソース(アカウントコンソール、アカウントレベルの Genie One、アカウント API)

アクセスタイプ

ワークスペースUI、API、アプリランタイム、Lakebaseランタイム

アカウントUI、アカウントAPI

ID

すべてのユーザーとService Principal、すべてのユーザー、すべてのService Principal、または選択したID

すべてのユーザーとService Principalのみ

ネットワークソース

パブリック、プライベート、およびクロスワークスペース

パブリックとプライベート

デフォルトポリシー

defaultのワークスペースレベルのポリシーは、明示的な割り当てがないワークスペースに適用されます。

単一の固定ポリシー(account-policy)で、自動的にアタッチされ、デタッチできません。

拒否ログ記録

ログイン済み system.access.inbound_network

未ログイン(ベータ版)

管理

ワークスペースのコンテキストベースのイングレス ポリシーを管理する

アカウントのコンテキストベースのイングレスポリシーを管理する

属性

ワークスペースレベルのポリシー

アカウントレベルのポリシー

次へのアクセスを制御します

ワークスペース

アカウントレベルのリソース(アカウントコンソール、アカウントレベルの Genie One、アカウント API)

アクセスタイプ

ワークスペースUI、API、アプリランタイム、Lakebaseランタイム

アカウントUI、アカウントAPI

ID

すべてのユーザーとService Principal、すべてのユーザー、すべてのService Principal、または選択したID

すべてのユーザーとService Principalのみ

ネットワークソース

パブリック、プライベート、およびクロスワークスペース

パブリックとプライベート

デフォルトポリシー

defaultのワークスペースレベルのポリシーは、明示的な割り当てがないワークスペースに適用されます。

単一の固定ポリシー(account-policy)で、自動的にアタッチされ、デタッチできません。

拒否ログ記録

ログイン済み system.access.inbound_network

未ログイン(ベータ版)

管理

ワークスペースのコンテキストベースのイングレス ポリシーを管理する

アカウントのコンテキストベースのイングレスポリシーを管理する

アカウントレベルのポリシーはベータ版です。起動するには、 コンテキストベースのイングレス:アカウントポリシー を有効にします。

コンテキストベースのイングレス制御のコアコンセプト​

ネットワークソース​

ネットワーク ソースは、リクエストの送信元を定義します。サポートされているタイプは次のとおりです:

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

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

プライベートアクセス・ポリシー (ベータ版):

  • **登録済みのすべてのプライベートエンドポイント**:アカウント内の登録済みプライベートエンドポイントすべて。
  • **選択されたプライベートエンドポイント**:アカウント内の特定の登録済みプライベートエンドポイント。

Cross-workspace access (ベータ):他のネットワークソースと同じID、許可ルール、拒否ルールを使用して、Serverlessトラフィック経由でどのソースワークスペースがこのワークスペースにアクセスできるかを制御します。

  • 選択されたワークスペース :リストしたIDのワークスペースのみ。

このポリシーを互換性モードのままにすることもできます。その場合、クロスワークスペースのイングレスは管理されず、ワークスペースの既存のネットワーク制御が適用されます。イングレス側とエグレス側の両方でクロスワークスペースアクセスを構成し、その制限事項を確認するには、クロスワークスペースアクセスを参照してください。

アクセスタイプ​

ルールは、受信リクエストの範囲によって異なります。各スコープは、許可または拒否できる受信リクエストのカテゴリを表します。

ワークスペースレベルのポリシーのアクセスタイプ:

  • ワークスペース UI : ブラウザからワークスペースにアクセスします。

  • API :Databricks APIs を介したプログラムによるアクセス(SQL Endpoint、JDBC/ODBC を含む)。次のいずれかをターゲットに指定できます。

    • すべてのAPI。
    • IN を使用した特定のAPIスコープ。たとえば、アプリ、ダッシュボード、またはモデルサービングを指定できます。
    • 選択されたスコープを除くすべてのAPIスコープ( NOT IN を使用)。
  • アプリ ランタイム :Databricks Apps のデプロイメントへのアクセスを許可または拒否します。See Databricks Apps.このアクセスタイプでは、 すべてのユーザーおよびサービスプリンシパル アイデンティティオプションのみがサポートされています。

  • Lakebase ランタイム : Lakebase データベース インスタンスへの接続。See Lakebase.このアクセス タイプでは、 すべてのユーザーおよびService Principal アイデンティティオプションのみがサポートされています。

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

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

アイデンティティ​

ルールは異なるIDタイプをターゲットにできます。 「**アプリのランタイム**」と「**Lakebaseランタイム**」のアクセスタイプでは、唯一サポートされているオプションは「**すべてのユーザーとService Principal**」です。

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

  • すべてのユーザーとDatabricksプリンシパル : 人間のユーザーとオートメーションの両方。
  • すべてのユーザー : 人間のユーザーのみ。
  • すべてのDatabricksサービスプリンシパル : オートメーション ID のみ。
  • 選択されたID : 特定のユーザーまたはDatabricks Service Principal。

ルール評価​

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

強制モード​

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

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

ネットワークポリシーは、一度に1つの適用モードのみをサポートします。

Databricksでは、ポリシーを適用(enforced)に切り替える前に、ドライランモードで開始してポリシーの影響を確認することをお勧めします。

監査​

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

各ログエントリに含まれる内容:

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

これらのログを照会して、ルールが期待どおりに機能していることを確認し、予期しないアクセス試行を検出してください。

他のコントロールとの関係​

  • **ワークスペースIPアクセスリスト**: コンテキストベースのイングレスポリシーと論理ANDを使用して評価され、両者の間に厳密な順序はありません。リクエストは、IPアクセスリストとイングレスポリシーの両方が許可する場合にのみ許可されます。ワークスペースIPアクセスリストはアクセスをさらに絞り込むことはできますが、広げることはできません。
  • サーバレス出力制御 : サーバレス コンピュートからの送信ネットワーク トラフィックを制御することで、入力ポリシーを補完します。 「ネットワーク ポリシーの管理」を参照してください。
  • クロスワークスペースアクセス : このページのネットワークソースおよびID制御に加え、どのソースワークスペースがServerlessトラフィック経由でワークスペースに到達できるかを制御します。クロスワークスペースアクセスを参照してください。
  • OpenSharing受信者のIPアクセスリスト :コンテキストベースのイングレスは、OpenSharing受信者のIPアクセスリストには適用されません。これらは、プロバイダーが受信者ごとに構成するオープン受信者向けの個別の制御です。IPアクセスリストを使用したOpenSharing受信者のアクセス制限(Databricks-to-Open sharing)を参照してください。
ヒント

複雑さを軽減するため、Databricks では、IP アクセス リストも維持するのではなく、コンテキストベースのイングレスポリシーを唯一のポリシーエンジンとして使用することをお勧めします。If your ワークスペース already have IP access lists, see Migrate ワークスペース IP access lists to context-based ingress.

  • **アカウントIPアクセスリスト**: コンテキストベースのイングレスアカウントレベルポリシーと論理ANDを使用して一緒に評価され、両者の間に厳密な順序はありません。リクエストは、IP アクセスリストとアカウントレベルのポリシーの両方が許可する場合にのみ許可されます。アカウントIPアクセスリストはアクセスをさらに絞り込むことができますが、広げることはできません。
  • プライベートアクセス設定のパブリックアクセストグル : パブリックアクセスが有効になっています が True の場合に、イングレスポリシーと併せて適用されます。 パブリックアクセスが有効になっています が False の場合、すべてのパブリックイングレスはブロックされ、イングレスポリシーは評価されません。プライベートアクセス設定の管理を参照してください。
  • フロントエンドのプライベート接続 :
    • トラフィックが許可されるためには、プライベートアクセス設定とコンテキストベースのイングレスの両方がエンドポイントを許可している必要があります。デフォルトでは、コンテキストベースのイングレスは すべてのプライベートエンドポイントからのアクセスを許可 に設定されており、アクセス決定はワークスペースのプライベートアクセス設定に委ねられます。コンテキストベースのプライベートアクセスポリシーを構成したい場合は、登録されているすべてのプライベートエンドポイントが許可されたプライベートアクセス設定がワークスペースにアタッチされていることを確認してください(詳細は以下を参照)。これにより、アクセス決定はワークスペースのコンテキストベースのイングレスポリシーに委ねられます。
    • アカウントレベルのポリシーでは、コンテキストベースのイングレスがプライベートアクセスポリシーにとって唯一の信頼できる情報源です。

コンテキストベースのイングレス ポリシーの管理​

保護するリソースに一致するレベルでポリシーを設定してアタッチします。

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

API と Terraform​

アカウント コンソールのほか、プログラムでコンテキストベースのイングレス ポリシーを管理することもできます。

  • REST API :Databricks REST API を使用してネットワーク ポリシーを管理します。
  • Terraform : Databricks Terraform プロバイダーを使用して、イングレスポリシーをコードとしてのインフラストラクチャとして管理します。

ベストプラクティス​

  • アクセスを中断することなく影響を監視するには、ドライランモードから開始してください。
  • IPがローテーションするSaaSクライアントには、可能な限りIDベースのルールを使用してください。
  • 影響を受ける領域を制限するために、最初に特権のあるDatabricksサービスプリンシパルに拒否ルールを適用します。
  • ポリシー名は明確かつ一貫したものにしてください。

可用性​

注記

コンテキストベースのイングレス制御は、AWS GovCloud では利用できません。代わりに IPアクセスリストを使用してください。