コンテキストベースのイングレスポリシーを管理する
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、アカウント管理者がネットワークポリシーの作成方法、イングレスルールの設定方法、ワークスペースへのワークスペースポリシーのアタッチ方法を説明します。コンテキストベースのイングレスの概要については、 コンテキストベースのイングレス制御を参照してください。
サーバレス出力制御については、 サーバレス出力制御とは何ですか?を参照してください。
要件
- アカウント管理者である必要があります。
- DatabricksアカウントはEnterprise層である必要があります。
コンテキストベースのイングレスを有効にする
アカウント管理者として、アカウントでコンテキストベースの Ingress プレビューを有効にします。
- アカウント管理者として、アカウントコンソールにログインします。
- プレビュー をクリックします。
- コンテキストベースのイングレス制御 トグルを オン に設定します。
アクセスネットワークポリシー
ネットワークポリシーを使用して、1つまたは複数のワークスペースに対する受信および送信ルールを定義します。アカウントのネットワークポリシーを管理するには:
- アカウント コンソールから、 [セキュリティ] をクリックします。
- [ネットワーク] タブをクリックします。
- [ポリシー] の下で、 [コンテキストベースのイングレスおよびエグレス制御] をクリックします。
アカウントレベルのリソースのポリシーはaccount-policyです。このポリシーは、名前を変更したり削除したりすることはできません。ワークスペースのポリシーは、**ワークスペースレベルのポリシー**で定義されています。
デフォルトのワークスペースポリシーは、別のネットワークポリシーがないワークスペースに適用されます。Databricks はイングレスルールを変更することを推奨していません。代わりに、新しいポリシーを作成し、特定のワークスペースにアタッチします。
ワークスペースのネットワークポリシーを作成する
- 新しいネットワーク ポリシーの作成 をクリックします。
- ポリシー名 を入力します。
- Ingress タブをクリックします。出力ルールを設定するには、 出力ルールの設定を参照してください。
- ネットワークアクセスモード(パブリックネットワークアクセスとプライベートネットワークアクセスの両方)を選択してください:
- すべてのソースからのアクセスを許可する : インターネット経由の無制限の受信アクセスを許可します。
- リクエストのコンテキストに基づいてアクセスを制限 :デフォルトでは受信アクセスを拒否し、明示的な 許可ルール を通じてのみアクセスを許可します。詳細については、コンテキストベースのイングレス制御を参照してください。

ネットワークポリシーを構成する
制限付きアクセス モードを使用する場合:
- ポリシーはデフォルトでアクセスを拒否します。
- ポリシーは、リクエストが明示的な 許可ルール に一致する場合にのみアクセスを許可します。
- 拒否ルール は 許可ルール の例外です。たとえば、広範囲のネットワーク範囲を許可しながら、その範囲内の特定の ID へのアクセスを拒否することができます。リクエストが許可ルールと拒否ルールの両方に一致する場合、リクエストは拒否されます。
次のステップは、アクセス制限モードのオプション設定の概要を示しています。
進入ルールを設定する
-
許可ルールまたは拒否ルールを構成するには、[ 許可ルール] または [拒否ルール] リストの上にある [ルールの追加] をクリックします。
-
アクセスタイプを選択します。
ワークスペースポリシーの場合:
-
ワークスペース UI : ワークスペース UI へのアクセスを許可します。
-
API :Databricks APIs へのアクセスを許可または拒否します。必要に応じて、特定のAPI スコープを選択して、ルールを絞り込みます。APIスコープは許可ルールでのみ指定でき、拒否ルールでは指定できません:
- すべてのAPIs :すべてのDatabricks API呼び出しに適用されます。
- アプリ : Databricks Apps APIエンドポイントに適用されます。
- ダッシュボード :DatabricksダッシュボードAPIエンドポイントに適用されます。
- モデルサービング: モデルサービング APIエンドポイントに適用されます。
-
Lakebase コンピュート : Lakebase データベース インスタンスへのアクセスを許可します。 データベース インスタンスの作成と管理を参照してください。
-
アプリ : Databricks アプリのデプロイメントへのアクセスを許可します。
account-policyの場合:- アカウントUI : アカウントレベルUI(例: アカウントコンソール)へのアクセスを許可します。
- アカウントAPI :DatabricksアカウントAPIへのアクセスを許可または拒否します。
-
-
アイデンティティの種類を選択してください:
- すべてのユーザーとサービスプリンシパル : ユーザーとサービスプリンシパルの両方にアクセスを許可します。
- すべてのユーザー : ワークスペース内のユーザーのみにアクセスを許可します。
- すべてのサービスプリンシパル :ワークスペース内のサービスプリンシパルのみにアクセスを許可します。
- 選択された ID : 特定のユーザーまたはサービスプリンシパルにのみアクセスを許可します。 サブジェクト リストから ID を選択します。
Lakebase コンピュート および アプリの アクセス タイプの場合、サポートされる ID タイプは すべてのユーザーとサービスプリンシパル のみです。 他の ID オプションは選択できません。
account-policyの場合、サポートされている唯一のIDタイプは**すべてのユーザーとサービスプリンシパル**です。
4. ネットワークソースを選択します。
パブリックネットワークアクセスの場合:
- すべてのパブリック IP : すべてのパブリック IP からのアクセスを許可します。
- 選択した IP : 特定の IP からのアクセスのみを許可します。IP をコンマで区切って入力します。
プライベートネットワークアクセスの場合:
- **すべての登録済みプライベートエンドポイント**:すべての登録済みプライベートエンドポイントからのアクセスを許可します。
- 選択された登録済みプライベートエンドポイント :特定の登録済みプライベートエンドポイントからのみアクセスを許可します。
選択した IP の 拒否ルール の場合は、次のいずれかを選択します。
- IN : 指定されたネットワーク ソース内の IP からのアクセスを拒否します。
- NOT IN : 指定されたネットワーク ソースに含まれない IP からのアクセスを拒否します。
- 保存 をクリックします。
複数の許可ルールと拒否ルールを定義して、クライアント ID、クライアント ネットワーク ソース、またはアクセス スコープ (アクセス タイプ) に基づいてアクセスを制御できます。
ポリシー適用モードを設定する
Dry-実行モードでは、アクセスをブロックすることなくポリシーをテストし、受信接続を監視できます。 dry-実行モードが有効な場合、ポリシーに違反するリクエストはログに記録されますが、ブロックされません。
- ポリシー施行モードを すべての製品に対して強制 または すべての製品に対してドライ実行モード に設定します。
- 作成 をクリックします。

account-policyをアカウントレベルのリソースにアタッチします
account-policyを**アカウント**レベルの**リソース**に**アタッチ**する必要はありません。デフォルトでアタッチされており、デタッチできません。
ワークスペースにネットワークポリシーをアタッチする
追加の構成でデフォルト ポリシーを更新した場合、既存のネットワーク ポリシーがないワークスペースにそれらのポリシーが自動的に適用されます。
ワークスペースを別のポリシーに関連付けるには、次のステップに従います。
- アカウント コンソールで、 [ワークスペース] をクリックします。
- ワークスペースを選択します。
- ネットワーク ポリシー で、 ネットワーク ポリシーの更新 をクリックします。
- リストから目的のネットワーク ポリシーを選択します。
- [ポリシーの適用] をクリックします。

APIまたはTerraformを使用して設定します。
アカウントコンソールに加えて、Databricks REST APIまたはTerraformを使用して、コンテキストベースのイングレスポリシーを設定することもできます。
- REST API: Databricks REST APIを使用して、ネットワークポリシーをプログラムで管理します。
- Terraform:Databricks Terraform プロバイダーを使用して、イングレスポリシーをインフラストラクチャアズコードとして管理します。
拒否ログを確認する
ベータプレビューの制限
account-policy 拒否はまだログに記録されていません。
拒否ログは Unity Catalog のsystem.access.inbound_networkテーブルに保存されます。これらのログは、受信ネットワーク要求が拒否されたタイミングを追跡します。拒否ログにアクセスするには、Unity Catalog メタストアでアクセス スキーマが有効になっていることを確認します。「システムテーブルを有効にする」を参照してください。
拒否イベントを表示するには、次の例のような SQL クエリを使用します。dry-実行 ログが有効な場合、クエリは拒否ログと dry-実行 ログの両方を返します。これらはaccess_type列を使用して区別できます。 拒否ログには DROP 値が含まれ、 dry-実行 ログには DRY_RUN_DENIAL が表示されます。
次の例では、過去 2 時間のログを取得します。
SELECT *
FROM system.access.inbound_network
WHERE event_time >= CURRENT_TIMESTAMP() - INTERVAL 2 HOUR
ORDER BY event_time DESC;
ログはすぐには表示されない場合があります。アクセスしてから拒否ログが表示されるまでに数分の遅延が生じる場合があります。