強化された接続
強化された接続性は、マネージドセキュリティを基盤として、コンテキストベースのイングレス (CBI)、VPCエンドポイント、サーバレス出力制御、オプションの外部ファイアウォールといった階層化されたイングレスおよび出力制御を追加します。ワークスペースアクセスはパブリックインターネット上で維持され、CBIによってゲートされます。
このアーキテクチャには、
- コンテキストベースのワークスペースイングレス: ユーザーはインターネット経由でサインインし、CBIポリシーはネットワークソース、ID、認証メカニズム、アクセス範囲に基づいてワークスペースアクセスを制限します。これはVPNゲート型アーキテクチャに比べて、シンプルさのトレードオフです。
- プライベートクラウドサービスアクセス :VPCエンドポイント (AWS) またはサービスエンドポイント (Azure) は、クラウドサービストラフィックを公共インターネットから遮断します。
- サーバレス送信制御 :ネットワークポリシーおよびNCC プライベートエンドポイントは、サーバレスコンピュートからの送信トラフィックを管理します。
- オプションのエグレス検査 : 外部ファイアウォールをデプロイして、従来のコンピュートエグレスを検査およびログに記録します。
- VPN不要 :企業ネットワークに依存しない、シンプルなユーザーアクセス
このアーキテクチャを使用する場合:
- データセキュリティが最優先事項であり、ワークスペースアクセスコントロールではありません。
- VPNの複雑さは、ユーザーの生産性の障壁となります。
- IPベースのアクセス制御はコンプライアンスに十分です。
- 貴社の組織はクラウドファーストのアクセスパターンを優先します。
前提条件
-
Databricks のエンタープライズプラン。
-
ワークスペースへのアクセス制御に使用するIPアドレス範囲の一覧。
アーキテクチャの概要
強化された接続アーキテクチャ:ネットワークトラフィックを保護し、ユーザーアクセスを簡素化します。
トラフィックタイプ | パス |
|---|---|
ユーザーアクセス | ユーザー → インターネット → CBI ポリシー → ワークスペース |
クラシックコンピュート → コントロール | コンピュート → クラシック PrivateLink → Databricks コントロールプレーン |
クラシックコンピュートからクラウド | コンピュート → VPCエンドポイント → AWSサービス (S3、STS、Kinesis) |
サーバレス → お客様のリソース | サーバレスコンピュート → NCC プライベートエンドポイント → S3 バケットまたは VPC |
クラシック コンピュート → イーグレス | コンピュート → 外部ファイアウォール (オプション) → 検査済みインターネット |
このアーキテクチャでは、ワークスペースのアクセスはプライベートではありません。CBIポリシーにより、ユーザーはパブリックインターネット経由での接続が制限されます。組織でプライベートワークスペースアクセスが必要な場合は、分離された環境アーキテクチャを使用してください。
必須コンポーネント
インバウンド
インバウンドPrivateLinkはありません。公開インターネットアクセスは、コンテキストベースのイングレスポリシーおよびオプションでIPアクセスリストによって制限されます。認証には標準のIAMに準拠してください。「認証とアクセス制御」を参照してください。
ワークスペースのイングレス制御
推奨されるイングレス ポリシー フレームワークであるコンテキストベースのイングレス(CBI)を使用して、ワークスペースのイングレスを構成します。CBIルールは、ネットワーク ソース(IP範囲)、ID、認証メカニズム、アクセス スコープを1つの許可/拒否モデルに組み合わせます。そのため、ネットワーク ソース属性はスタンドアロンのIPアクセスリスト機能と同じジョブを実行し、さらに多くの機能も提供します。
IP アクセス リストは引き続きサポートされており、CBI とともに構成できます。両方が設定されている場合、両方のコントロールでリクエストが許可される必要があります。
設定レベル:
- アカウントレベルのCBIポリシー :アカウント内のすべてのワークスペースに適用されます。コンテキストベースのイングレス ポリシーの管理を参照してください。
- ワークスペースレベルのIPアクセスリスト :単一のワークスペースに適用されます。ワークスペースの IP アクセス リストの構成を参照してください。
- アカウントレベルのIPアクセスリスト :アカウントコンソールに適用されます。アカウントコンソールのIPアクセスリストの設定を参照してください。
ベストプラクティス:
- まずは幅広く開始し、実際の使用量に基づいて絞り込んでください。
- IP範囲の目的と有効期限を記載します。
- 既知の安全なIP範囲を介して管理者アクセスを維持してください。
- 四半期ごとに確認のうえ、廃止された範囲を削除してください。
Ingress policies and IP access lists can lock you out of your workspace if misconfigured. Always maintain administrator access through a known-good IP range.
OpenSharingの受信者のアクセス制御
OpenSharing は、受信者オブジェクトで構成された独自の IP アクセス リストを使用します。これは、コンテキストベースのイングレスおよびワークスペースIPアクセスリストとは異なります。Databricks-to-Open共有(Databricks以外の受信者)にのみ適用されます。
IPアクセスリストを使用してOpenSharing受信者のアクセスを制限する(Databricks-to-Open sharing)を参照してください。
アウトバウンド
サーバレスのエグレスは、ネットワークポリシーと NCC プライベートエンドポイントによって管理されます。アウトバウンドデータアクセスに対するデータガバナンスのために Unity Catalog を使用します。Unity Catalog とは?を参照してください。
サーバレス エグレス制御
サーバレスコンピュートのアウトバウンドトラフィックを制御するネットワークポリシーを構成します。IP範囲またはFQDNを使用して、許可された宛先を定義します。
サーバレス PrivateLink (NCC private endpoints)
PrivateLink を介して、サーバレスコンピュートからお客様のリソースへのプライベートな接続を提供します。サーバレス データトラフィックは、パブリックインターネットを通過しません。
S3 バケットへのプライベート接続についてはAWS マネージド型リソースへのプライベート接続を構成するを、VPC 内のリソースへのプライベート接続についてはVPC 内のリソースへのプライベート接続を構成するを参照してください。
クラシック コンピュート ベースライン
クラシックコンピュートのベースラインは、マネージドセキュリティから継承されます。追加のベースラインコンポーネントは必要ありませんが、オプションで外部ファイアウォールを追加してクラシックコンピュートのエグレスを検査できます。
ベースラインには、顧客管理VPC、セキュリティで保護されたクラスター接続 (SCC)、および従来のPrivateLinkが含まれています。
このアーキテクチャはインバウンドPrivateLinkを使用していません。ユーザーは、CBIポリシーによって制御されている公開インターネット経由でワークスペースにアクセスします。組織がプライベートワークスペースアクセスを必要とする場合は、インバウンドPrivateLinkまたはVPNゲートアクセスを追加する分離された環境アーキテクチャを参照してください。
クラシックコンピュートプレーンPrivateLink
VPC と Databricks コントロールプレーン間のプライベート接続を提供します。REST API と SCC リレー トラフィックは、クラスターとコントロール プレーン間でパブリック インターネットを使用するのではなく、プライベートに保たれます。
「Databricks への従来のプライベート接続を構成する」を参照してください。
VPCエンドポイント
クラウドサービスへのアクセスにおけるルーティングを設定することで、トラフィックのプライバシーを保護し、コストを削減できます。S3ゲートウェイVPCエンドポイントは、パブリックインターネットを経由することなく、同一リージョンのストレージへのアクセスを提供します。
S3 (ゲートウェイ)、STS、Kinesis 用の VPC Endpoint を作成します。他の AWS サービス用の VPC Endpoint を追加するを参照してください。
VPCエンドポイントポリシー
VPCエンドポイントがアクセスできるS3バケットを制限します。ポリシーがない場合、S3ゲートウェイエンドポイントは、外部または攻撃者によって制御されるバケットを含む、任意のAWSアカウント内の任意のS3バケットへの接続を許可します。VPCエンドポイントポリシーは、エンドポイントを承認済みのバケットのみに制限することで、主要なS3データ流出経路をブロックします。
動作ポリシーの例と必要なDatabricksバケットアクセスについては、顧客管理VPCの構成を参照してください。
S3バケットポリシー
ソースVPCまたはVPCエンドポイントを使用して、Databricks S3 バケットへのアクセスを制限するためにバケットポリシーを適用してください。これにより、認証情報が侵害された場合でも、承認されたネットワークパスの外部からのデータへのアクセスを防止します。
要件、動作するポリシーの例、およびバケットポリシーとVPCエンドポイントポリシーをペアリングする際のガイダンスについては、顧客管理VPCの構成を参照してください。
Classic コンピュートの外部ファイアウォール (オプション)
従来のコンピュートのエグレスを、検査、ログ記録、およびポリシーの強制適用のため、外部ファイアウォール経由でルーティングします。隔離環境では必須。ここでは任意。
選択肢には、AWS Network Firewall(マネージドサービス、AWSルーティングと統合)、またはGateway Load Balancerと統合されたPalo Altoのようなサードパーティ製アプライアンスがあります。
Databricks control plane and SCC relay connections use TLS with certificate pinning. Do not enable TLS inspection (decrypt and re-encrypt) on traffic between your clusters and the Databricks control plane. Doing so causes cluster failures. See IP addresses and domains for Databricks services and assets for required endpoints.
実装
デプロイ済みのマネージドセキュリティベースラインから開始します。以下のフェーズでは、このアーキテクチャを定義するイングレスおよびエグレス制御を追加します。
フェーズ1:インバウンドアクセス制御
- アカウントレベルのコンテキストベースイングレス(CBI)ポリシーを設定して、ネットワークソース、ID、認証メカニズム、およびアクセス範囲に基づいてワークスペースへのアクセスを制限します。コンテキストベースのイングレス制御およびコンテキストベースのイングレス ポリシーの管理については、コンテキストベースのイングレス制御とコンテキストベースのイングレス ポリシーの管理を参照してください。
- 必要に応じて、下位互換性またはワークスペースごとのオーバーライドのために、CBI と併せてワークスペースレベルの IP アクセス リストを構成してください。両方が設定されている場合、両方がリクエストを許可する必要があります。ワークスペースの IP アクセス リストの構成を参照してください。
- アカウントコンソールへのアクセスを制御するために、アカウントレベルのIPアクセスリストを構成します。アカウントコンソールのIPアクセスリストの設定を参照してください。
- OpenSharing Databricks-to-Open sharingをご利用の場合は、各共有受信者で受信者レベルのIPアクセスリストを設定してください。IPアクセスリストを使用してOpenSharing受信者のアクセスを制限する(Databricks-to-Open sharing)を参照してください。
- 設定された各IPアドレス範囲について、所有者、目的、およびレビュー/有効期限を記載して、変更管理システムまたは文書管理システムに記録してください。
- 許可されたIPアドレスとブロックされたIPアドレスの両方からアクセスをテストし(例:オフィス、VPN、ホームネットワーク)、イングレスポリシーが期待どおりに動作することを確認します。
フェーズ2:クラウドサービスエンドポイント
- S3 用のゲートウェイ VPC Endpointと、STS および Kinesis 用のインターフェイス VPC Endpointを作成します。これにより、これらのサービスへのクラスタートラフィックが AWS ネットワーク内に留まります。他の AWS サービス用の VPC Endpoint を追加するを参照してください。
- ゲートウェイエンドポイントが到達できるS3バケットを制限するために、VPCエンドポイントポリシーを適用します。顧客管理VPCの設定を参照してください。
- ソース VPC または VPC エンドポイントによって Databricks S3 バケットへのアクセスを制限するために、S3 バケットポリシーを適用します。
フェーズ 3:サーバレス エグレス制御
- サーバレスコンピュートのアウトバウンドトラフィックを、IP範囲またはFQDNを使用して承認済み宛先に制限するように、サーバレスネットワークポリシーを構成します。サーバレス エグレス制御とは何ですか? を参照してください。
- サーバレス コンピュートからVPC内のS3バケットおよびリソースへのプライベート接続のために、NCCプライベートエンドポイントを設定します。AWS マネージドリソースへのプライベート接続の構成およびVPC内のリソースへのプライベート接続の構成を参照してください。
- サーバレスワークロードが承認済み宛先に到達でき、未承認の宛先からはブロックされることを確認します。
フェーズ 4 (オプション):クラシックコンピュートの外部ファイアウォール
- AWS Network Firewall またはサードパーティ製アプライアンスをデプロイし、ワークスペースVPCと統合します。
- VPCエンドポイントとPrivateLinkトラフィックは直接ルートを維持しつつ、
0.0.0.0/0をファイアウォールに送信するようにルートテーブルを設定します。 - コントロールプレーンおよびSCCリレートラフィックにおけるTLSインターセプトなしで、必要なDatabricksエンドポイントを許可するようにファイアウォールルールを構成します (Databricks のサービスと資産の IP アドレスとドメインを参照してください)。
The Databricks Terraform SRA provides Infrastructure-as-Code templates that automate this deployment.
検証
アーキテクチャをデプロイした後、以下のチェックを実行して、従来のコンピュートプレーンのトラフィックがプライベートのままであること、および、IPアクセスリストが設定どおりにワークスペースアクセスを制限していることを確認してください。
チェック | 期待結果 |
|---|---|
許可されたIPからアクセス可能なワークスペース | はい |
ワークスペースは不正なIPアドレスからブロックされています。 | はい |
クラスターはSCCで起動します。 | はい、パブリックIPはありません。 |
プライベート接続によるデータアクセス | はい |
プライベートアーティファクトリポジトリからのパッケージインストール | はい |
トラブルシューティング
検証チェックに失敗したり、ワークロードが予期せず動作したりした場合、一般的な問題を診断するには、以下の表を使用してください。
問題 | 原因 | 解決方法 |
|---|---|---|
ワークスペースにアクセスできません | IPはアクセスリストに含まれていません。 | IPをワークスペースリストに追加する |
クラスターの起動に失敗します | ルーティングまたはエンドポイントの設定ミス | ルートテーブルおよびプライベートエンドポイントの接続性を確認する |
S3/ADLS アクセスが失敗します | VPCエンドポイントまたはルーティングの問題 | エンドポイントの構成およびセキュリティグループを確認します。 |
パッケージのインストールに失敗しました | プライベート アーティファクト リポジトリに到達できません | アーティファクトリポジトリのVPCエンドポイント設定とDNS解決を確認してください。 |
断続的なアクセス問題 | 動的IPアドレス | 静的出力IPを持つVPNを利用するか、またはIP範囲を拡大してください。 |
継続的なメンテナンス
- IPアクセスリストの管理 : 毎月確認、新規ロケーションの追加、不要な範囲の削除。
- エンドポイントのモニタリング : プライベートエンドポイントの正常性とデータ転送コストを追跡する。
- アーティファクト リポジトリ管理 :プライベートパッケージミラーの維持と可用性の監視
- ユーザーサポート :IPアクセスに関する問題への対応プロセスを維持する。
前のステップと次のステップ
-
- 管理されたセキュリティ
- 前のステップ IPベースのアクセス制御、VPCエンドポイント、およびサーバレスエグレス制御がワークロードの要件を超える場合ベースラインには、顧客管理VPCとSCCが含まれ、オプションでクラシックPrivateLinkも利用できます。
-
- 隔離された環境
- 次のステップ IPベースのアクセス制御が不十分な場合、規制によりプライベートワークスペースへのアクセスが必要な場合、またはコンプライアンスによりデータ流出防止が必要な場合。