Databricks アプリのネットワークを構成する
Databricks Apps は、きめ細かなネットワーク制御をサポートしており、アプリがインターネットや内部リソースと通信する方法をセキュリティで保護し、管理するのに役立ちます。入力(受信)トラフィック ルールと出力(送信)トラフィック ルールの両方を設定するには、IP アクセス制御、フロントエンドのプライベート接続、およびネットワーク ポリシーを組み合わせて使用します。
イングレスコントロール
次の機能を使用して、パブリック インターネットから Databricks ワークスペースとアプリへのアクセスを制限します。
-
IP アクセス リスト – ワークスペース レベルで IP アクセス リストを有効にすることで、ワークスペースとアプリのアクセスを既知の信頼できる IP 範囲に制限します。設定された IP 範囲からのトラフィックのみが許可されます。詳細については、「 ワークスペースの IP アクセス リストの構成」を参照してください。
-
フロントエンドのプライベート接続 – イングレス トラフィックを、パブリック インターネットではなく、独自の VPC インターフェイス エンドポイント経由でルーティングします。この設定により、ワークスペースで実行されているアプリへのプライベート接続が提供されます。詳細については、「 Databricks へのプライベート接続を構成する」を参照してください。
エグレス制御
アプリからの送信トラフィックを制御するには、ネットワーク接続構成 (NCC) を作成し、アプリをホストしているワークスペースにネットワーク ポリシーを適用します。
ネットワーク接続の構成
ネットワーク接続構成を使用して、安定したエグレス IP を割り当て、アプリが外部サービスに接続する方法を制御します。NCC は、外部システムの Databricks トラフィックを許可リストに登録するために使用できる固定パブリック IP アドレスを提供します。
S3 バケットやネットワークロードバランサー (NLB) などのプライベートな送信先へのエグレスを制限するには、NCC セットアップの一部として PrivateLink 接続を設定できます。
ネットワークポリシー
network ポリシー を使用して、Databricks アプリケーションやその他のサーバレス ワークロードに出力制限を適用します。これは、送信接続を制御するための組織要件またはコンプライアンス要件を満たす必要がある場合に便利です。
ネットワーク ポリシーは、Enterprise レベルでのみ使用できます。
アプリが次の場合にネットワーク ポリシーを適用する
- 特定の承認済み外部ドメインのセットへのアクセスを制限する必要があります
- 偶発的なデータ流出を防ぐ必要がある
- 送信インターネットトラフィックを制限するセキュリティまたはコンプライアンス基準に準拠する必要があります
ネットワークポリシーの設定に関するベストプラクティス
次のガイドラインに従って、意図しない中断を回避し、アプリが必要なリソースにアクセスできるようにします。
-
必要な目的地のみを許可します。アプリに必要なパブリックまたはプライベートリソースの完全修飾ドメイン名 (FQDN) を追加します。
-
必要に応じてパッケージリポジトリを含めます。アプリがパブリック Python または Node.js パッケージをインストールする場合は、Python の
pypi.org
や Node のregistry.npmjs.org
などのドメインを許可できます。アプリケーションでは、特定の依存関係に応じて、追加のドメインまたは異なるドメインが必要になる場合があります。これらのリポジトリがないと、requirements.txt
やpackage.json
に依存するアプリのビルドが失敗する可能性があります。 -
dry-run モードを使用して、ネットワーク ポリシーを検証します。 このモードは、トラフィックをブロックせずにポリシーの適用をシミュレートします。
-
system.access.outbound_network
テーブルを使用して、拒否された接続試行を確認します。これにより、許可する必要がある可能性のあるドメインを特定できます。「拒否ログを確認する」を参照してください。 -
信頼されたAPIs AWSS3や や STS などの サービス エンドポイントなど、必要な外部ドメインを追加します。