このページは、Azureでのネットワーク レベルのデータ流出保護の機能ごとの参照アーキテクチャです。 各セクションでは、ID、Unity カタログのガバナンス、ワークスペースの制限、監視、クラウド固有のネットワーク分離などの 1 つのコントロールと、その実装ガイドへのリンクについて説明します。 これらのコントロールの背後にある概念とセキュリティ層の優先順位については、 データ流出保護に関するページを参照してください。
- コントロールの完全なセットを 1 つのバンドルとしてデプロイするには、Isolated 環境 アーキテクチャをエンドツーエンドで実装するAzure Databricks セキュリティ参照アーキテクチャ Terraform モジュールを使用します。 Azure Security Reference Architecture Terraform モジュールを参照してください。
- コントロールを個別に構成するには、以下のガイドを使用します。
ID およびアクセス制御
ID ベースの制御は、データ流出に対する防御の最初の行です。 強力な認証と信頼されたアクセスがないと、脆弱な ID によってネットワーク レベルの制御が損なわれます。
SSO を使用した統合ログイン
統合ログインを使用して、Azure Databricks アカウント内のすべてのワークスペースにシングル サインオン (SSO) を適用します。 これにより、個人アカウントや SSO 以外の方法を使用するのではなく、企業 ID プロバイダーを介してユーザーが認証されるようになります。
追加の検証レイヤーのために、ID プロバイダー内で多要素認証 (MFA) を有効にします。
「認証とアクセス制御」を参照してください。
自動化された ID 管理
SCIM プロビジョニングを実装して、ユーザー ライフサイクル管理を自動化します。 これにより、元従業員が自動的にプロビジョニング解除され、出発後にワークスペースにアクセスできなくなります。
SCIM を使用して Microsoft Entra ID からユーザーとグループを同期するを参照してください。
ネットワーク アクセス制御
ワークスペースとアカウント コンソールのアクセスを信頼されたネットワークに制限する:
- アカウント レベルの IP アクセス リスト: アカウント コンソールへのアクセスを制御します。 「アカウント コンソール向けの IP アクセス リストを構成する」をご覧ください。
- ワークスペース レベルの IP アクセス リスト: 個々のワークスペースへのアクセスを制御します。 「ワークスペース向けの IP アクセス リストを構成する」をご覧ください。
- プライベート接続: ワークスペースへのパブリック アクセスを完全になくすには、インバウンド Private Link を使用します。 ワークスペースのInbound Private Linkの設定を参照してください。
データ ガバナンスコントロール
ネットワーク制御は、承認されていないエグレス パスを防ぎますが、データ ガバナンス制御により、承認されたコンピューティング リソースでも承認されたデータ宛先にのみアクセスできるようになります。 展開する ネットワーク セキュリティ アーキテクチャ に関係なく、これらのコントロールを適用します。
標準アクセス制御
Unity カタログ権限を使用して、各カタログ、スキーマ、テーブル、ボリュームを読み取り、書き込み、または変更できるユーザーを制限します。 各ロールとグループに必要な最小限の特権を付与します。
特権は階層的にフローします。カタログに対する許可は、その中のすべてのスキーマとテーブルに適用されます。 これを使用して、広範な既定値を適用し、機密データのアクセスを低いレベルで絞り込みます。
「Unity Catalog の特権の管理」を参照してください。
属性ベースのアクセス制御 (ABAC)
ABAC は、オブジェクト ID だけでなく、データ オブジェクトにアタッチされたタグに基づいてデータ アクセスを制御します。 ABAC を使用して、"ユーザーは、 pii=falseタグ付けされたテーブルにのみクエリを実行できます" や "EU グループ内のユーザーは、 region=USタグ付けされたテーブルを読み取ることができない" などのポリシーを適用します。
ABAC は、タグ付け規則が既に設定されている大規模な環境では、オブジェクトごとの GRANT よりもスケーリングが優れています。 また、行フィルターと列マスク (以下) とうまく組み合わせています。
Unity カタログの属性ベースのアクセス制御を参照してください。
行フィルターと列マスク
テーブル内でユーザーに表示される内容を制限する:
- 行フィルター: ユーザーがクエリを実行できる行を決定する SQL 関数を適用します。 たとえば、販売テーブルを制限して、各地域マネージャーが自分の地域の行のみを表示するようにします。
-
列マスク: ユーザーに戻る前に列の値を変換する SQL 関数を適用します。 たとえば、クレジット カード番号を、財務以外のユーザーの
XXXX-XXXX-XXXX-1234にマスクします。
行フィルターと列マスクはクエリ時に評価されるため、ユーザーは SELECT *でバイパスできません。
「行フィルターと列マスク」を参照してください。
Unity カタログの管理上の制限事項
データ アクセスセキュリティ保護可能なリソースの作成を管理者のみに制限します。
- ストレージ資格情報: 管理者のみがストレージ資格情報を作成できます。 資格情報ごとに最小特権のクラウド アクセス ポリシー (IAM ロール、マネージド ID) を適用します。 「ストレージの資格情報を管理する」を参照してください。
- 外部の場所: 管理者のみがクラウド ストレージ パスにマップする外部の場所を作成できます。 「外部の場所を管理する」を参照してください。
- データベース接続: 管理者のみが、Lakehouse フェデレーションを介して外部データベースへの接続を作成できます。 「 レイクハウスフェデレーションの管理接続」を参照してください。
- サービス資格情報: 管理者のみが外部クラウド サービスのサービス資格情報を作成できます。 「サービス資格情報の作成」を参照してください。
新しいセキュリティ保護可能なリソースを作成するのではなく、承認されたセキュリティ保護可能なリソースを使用するためのアクセス許可をユーザーに付与します。 これにより、ユーザーは信頼されていないストレージまたはエンドポイントでコンピューティングをポイントできなくなります。
カタログのワークスペース関連付け
Unity カタログ カタログを特定のワークスペースにバインドして、環境間のデータ アクセスを防ぎます。 たとえば、開発ワークスペースが運用データを読み取らないようにします。
ワークスペース カタログのバインドを参照してください。
ストレージ アカウント ポリシー
承認された送信元の宛先からのトラフィックのみを受け入れるように、ストレージ アカウントにファイアウォールまたはバケット ポリシーを実装します。
- 承認された VNet、プライベート エンドポイント、またはサービス エンドポイントからのアクセスのみを許可するように、Azure Storageファイアウォールを構成します。
- 最小特権ロールの割り当てでマネージド ID を使用します。
ワークスペースの制限
ワークスペース管理者設定は、Azure Databricks UI を使用してデータのダウンロードとエクスポートのパスを制御します。 ユーザーがワークスペース インターフェイスを介してデータを抽出できないようにするには、これらの設定を無効にします。
| Setting | リスク軽減 |
|---|---|
| ノートブックの結果のダウンロードを無効にする | ローカル コンピューターにクエリ結果をダウンロードするユーザー |
| ボリューム ファイルのダウンロードを無効にする | ボリューム ファイルをローカル コンピューターにダウンロードするユーザー |
| ノートブックとファイルのエクスポートを無効にする | ワークスペースからノートブックまたはファイルをエクスポートするユーザー |
| SQL 結果のダウンロードを無効にする | SQL クエリ結果をダウンロードするユーザー |
| MLflow 実行成果物のダウンロードを無効にする | MLflow 実験成果物をダウンロードしているユーザー |
| 結果テーブルのクリップボードを無効にする | 表形式のデータをクリップボードにコピーするユーザー |
これらの設定は、ワークスペース管理コンソールの [セキュリティ設定] で構成します。 「ワークスペースを管理する」を参照してください。
監視と検出
予防的な制御により、データ流出のリスクは軽減されますが、監視では、コントロールが失敗したとき、または攻撃者がそれらをバイパスしたときに検出されます。
監査監視用のシステム テーブル
Azure Databricks のシステム テーブルを使用したコストの監視を使用して、データ アクセス パターンを監視します。 監査ログ システム テーブル参照では、次のようなワークスペース イベントがキャプチャされます。
- ユーザー認証とアクセスの試行。
- データの読み取りと書き込みの操作。
- 管理構成の変更。
- 資格情報の使用と外部の場所へのアクセス。
異常なデータ ボリューム、予期しない場所からのアクセス、承認されていないリソースへのアクセスの試行など、疑わしいアクティビティのアラートを設定します。
クラウドネイティブ ログ統合
クラウド固有のログを取り込み、Azure Databricksシステム テーブルを補完します。
- Azure Monitorとアクティビティ ログを構成して、ストレージ アクセス イベント、マネージド ID の使用状況、ネットワーク フロー ログをキャプチャします。
クラウドネイティブ ログをAzure Databricks監査ログと関連付けて、環境全体のデータ移動を完全に可視化します。
Azure アーキテクチャ
Azure アーキテクチャでは、VNet インジェクション、Private Link、およびAzure Firewallを使用して、Azure Databricksワークロードを中心にセキュリティで保護されたネットワーク境界を作成します。
前提条件
| コンポーネント | 詳細情報 |
|---|---|
| バーチャルネットワーク | Azure 仮想ネットワークへの Azure Databricks のデプロイ (VNet インジェクション) を使用した Azure Databricks データ プレーン デプロイ用の顧客管理 VNet。 |
| サブネット | ホスト (パブリック)、コンテナー (プライベート)、プライベート エンドポイント サブネットの 3 つのサブネット。 |
| ファイアウォールまたは NVA | エグレス検査とポリシー適用のためのネットワーク仮想アプライアンス (Azure Firewallまたはサード パーティ)。 |
| プライベート DNS ゾーン | 仮想ネットワーク内のプライベート エンドポイントの DNS 解決。 |
| Azure Key Vault | DBFS、マネージド ディスク、およびマネージド サービス暗号化のカスタマー マネージド キーを格納します。 |
| ファイアウォールの許可一覧 | Azure Databricks に必要なエンドポイント。 ドメイン名ファイアウォール規則の構成に関するセクションを参照してください。 |
アーキテクチャ コンポーネント
このアーキテクチャには、ネットワーク分離、プライベート接続、エグレス制御、サーバーレス セキュリティの 4 つの主要な領域があります。
ネットワークの分離
セキュリティで保護されたクラスター接続 (SCC) を有効にしてAzure Databricksをデプロイするには、 Azure仮想ネットワーク (VNet インジェクション) でAzure Databricksをデプロイします。 一元化されたファイアウォールを備えた ハブ アンド スポーク トポロジ 、またはハブのない分離 (アイランド) ネットワーク トポロジを使用してデプロイできます。 この構成には、次の特性があります。
- クラスター ノード上のパブリック IP アドレスを削除します。
- ワークスペースごとに専用サブネット ペアが必要です (1 つのプライベート、1 つのパブリック)。
- ルートでは、プライベート エンドポイントを経由してコントロール プレーンのトラフィックを転送します。
Tip
アプリケーション データを DBFS ルート ストレージに格納しないでください。 既存の Azure Databricks ワークスペースで DBFS ルートとマウントへのアクセスを無効にし、代わりに Unity Catalog ボリュームとは を使用してください。
プライベート接続
専用サブネット内のカスタマー マネージド Azure ストレージ アカウントのPrivate Link エンドポイントを設定します。
- すべてのデータ アクセスは、Azure ネットワーク バックボーン経由で行われます。
- プライベート エンドポイントは、Azure Databricks VNet またはピアリングされた VNet にデプロイできます。
- カスタマー マネージド ストレージ アカウントの代わりに、クラシック コンピューティングからのストレージ アクセスAzure仮想ネットワーク サービス エンドポイント ポリシーの構成 (追加コストなし) を使用します。
Note
プライベート エンドポイントとサービス エンドポイント ポリシーは、カスタマー マネージド Azure ストレージ アカウントにのみ適用されます。 Azure Databricksマネージド リソース (アーティファクト ストレージ、ログ ストレージ、Event Hubs) をプライベート エンドポイントの背後に配置することはできません。
ワークスペースにInbound Private Linkを設定し、ユーザーアクセスとブラウザ認証(SSO)を行ってください。
エグレス 制御
Azure Firewall (またはサード パーティのネットワーク仮想アプライアンス) をハブ仮想ネットワークにデプロイします。
- アプリケーション規則: ファイアウォールを介してアクセスできる FQDN を定義します (クラシック コンピューティング プレーンのPrivate Linkが構成されていない場合は、コントロール プレーン、Web アプリ、SCC リレー)。
- ネットワーク ルール: FQDN を使用できないエンドポイントの IP アドレス、ポート、プロトコルを定義します。
-
ユーザー定義ルート (UDR): 既定のルート (
0.0.0.0/0) を使用して、Azure Databricks サブネットからファイアウォール経由でローカル以外のトラフィックをルーティングします。
Note
サービス エンドポイント ポリシーを使用する場合、サービス ストレージ アカウント (成果物、ログ記録、システム テーブル) Azure Databricksファイアウォール ネットワーク規則は必要ありません。
サービス エンドポイントは、Azure Databricksシステム ストレージのファイアウォールをバイパスし、データ転送コストを削減し、調整を回避します。 アーティファクト ストレージだけで、クラスター ノードごとに最大 11 GB のダウンロードを考慮できます。
サーバーレス セキュリティ
エグレス トラフィックを制御するために、 サーバーレスエグレス制御とは何かを 構成します。 サーバーレス コンピューティング プレーン ネットワーク を使用して、サーバーレス コンピューティング アカウントと Azure ストレージ アカウント (ADLS Gen2) の間にプライベート接続を確立します。
最適化戦略:
- セキュリティ要件が許容されるPrivate Linkではなく、サービス エンドポイントを使用します。
- Azure Databricksシステム ストレージのファイアウォールをバイパスするようにサービス エンドポイント ポリシーを構成します (データ転送コストが削減され、調整が回避されます)。
- 実際の要件に基づいて適切なサイズのAzure Firewallまたは NVA スループット。
- ファイアウォール アプライアンスを使用してデータ転送コストを監視します。
詳細なガイダンスについては、「 Databricks のネットワーク コストについて」 を参照してください。
こちらも参照ください
| 資源 | Description |
|---|---|
| ネットワーク参照アーキテクチャ | ネットワーク セキュリティ アーキテクチャ (マネージド、セキュリティ強化、分離)。 |
| セキュリティとコンプライアンス | ネットワーク以外のセキュリティとコンプライアンスの制御。 |