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

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

注記

コンテキストベースのイングレスには Enterprise プランが必要です。コンテキストベースのイングレスは一般公開(GA)されています。

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

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

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

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

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

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

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

Google Cloud では、コンテキストベースのイングレス制御はワークスペースレベルのポリシーのみを提供します。アカウントレベルのポリシーは利用できません。ワークスペースレベルのポリシーを管理するには、 ワークスペースのコンテキストベースのイングレスポリシーの管理を参照してください。

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

ネットワークソース​

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

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

  • すべてのパブリック 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 アイデンティティオプションのみがサポートされています。

アイデンティティ​

ルールは異なる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.

  • プライベートアクセス設定のパブリックアクセストグル : パブリックアクセスが有効になっています が True の場合に、イングレスポリシーと併せて適用されます。 パブリックアクセスが有効になっています が False の場合、すべてのパブリックイングレスはブロックされ、イングレスポリシーは評価されません。プライベートアクセス設定の管理を参照してください。
  • フロントエンドのプライベート接続 :トラフィックを許可するには、プライベートアクセス設定とコンテキストベースのイングレスの両方でEndpointを許可する必要があります。defaultでは、コンテキストベースのイングレスは [すべてのプライベートEndpointからのアクセスを許可] に設定されており、アクセス決定はワークスペースのプライベートアクセス設定に延期されます。コンテキストベースのプライベートアクセス ポリシーを構成するには、すべての登録済みプライベート Endpointを許可するプライベート アクセス設定をワークスペースにアタッチします。これにより、アクセス決定はワークスペースのコンテキストベースのイングレスポリシーに延期されます。プライベートアクセス ポリシーの構成を参照してください。

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

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

API と Terraform​

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

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

ベストプラクティス​

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

可用性​

注記

コンテキストベースのイングレス制御は、GCP 中東中央 2 リージョンでは利用できません。