データ セキュリティと暗号化
この記事では、データの保護に役立つデータ セキュリティ構成について説明します。
データへのアクセスのセキュリティ保護の詳細については、「Unity Catalog を使用したデータ ガバナンス」を参照してください。
データ セキュリティと暗号化の概要
Azure Databricks には、データの保護に役立つ暗号化機能が用意されています。 すべての価格レベルですべてのセキュリティ機能を使用できるわけではありません。 次の表には、機能の概要と各機能に対応する価格プランがまとめてあります。
機能 | 価格レベル |
---|---|
暗号化用のカスタマー マネージド キー | Premium |
クラスター ワーカー ノード間のトラフィックを暗号化する | Premium |
DBFS ルートの二重暗号化 | Premium |
クエリ、クエリ履歴、およびクエリ結果の暗号化 | Premium |
暗号化用のカスタマー マネージド キーを有効にする
Azure Databricks では、データへのアクセスを保護および制御するために、カスタマー マネージド キーの追加がサポートされています。 Azure Databricks では、Azure Key Vault コンテナーと Azure Key Vault Managed ハードウェア セキュリティ モジュール (HSM) からのカスタマー マネージド キーがサポートされています。 さまざまな種類のデータに対するカスタマー マネージド キーの機能が 3 つあります。
マネージド ディスクのカスタマー マネージド キー: コンピューティング プレーン内の Azure Databricks コンピューティング ワークロードは、Azure マネージド ディスクに一時データを保存します。 既定では、マネージド ディスクの格納データは、Microsoft のマネージド キーでサーバー側暗号化を使用して保存時に暗号化されます。 Azure Databricks ワークスペースに対して、マネージド ディスクの暗号化に使用する独自のキーを構成できます。 「Azure マネージド ディスク用のカスタマー マネージド キー」を参照してください。
マネージド サービスのカスタマー マネージド キー: Azure Databricks コントロール プレーン内のマネージド サービス データは、保存時に暗号化されます。 次の種類の暗号化されたデータへのアクセスを保護および制御するために、管理サービスのカスタマー マネージド キーを追加できます。
- コントロール プレーンに保存されるノートブック ソース ファイル。
- コントロール プレーンに保存されるノートブックのノートブック結果。
- シークレット マネージャー API によって格納されるシークレット。
- Databricks SQL クエリとクエリ履歴。
- Databricks Git フォルダーとの Git 統合の設定のために使用される個人用アクセス トークンまたはその他の資格情報。
「マネージド サービス用カスタマー マネージド キー」を参照してください。
DBFS ルートのカスタマー マネージド キー: 既定では、ストレージ アカウントは Microsoft マネージド キーを使用して暗号化されます。 ワークスペースのストレージ アカウント内のすべてのデータを暗号化する独自のキーを構成できます。 詳細については、「DBFS ルート用のカスタマー マネージド キー」を参照してください。
Azure Databricks のどのカスタマー マネージド キー機能が、どの種類のデータを保護するかの詳細については、「暗号化用のカスタマー マネージド キー」を参照してください。
DBFS に対する二重暗号化を有効にする
Databricks ファイル システム (DBFS) は、Azure Databricks ワークスペースにマウントされ、Azure Databricks クラスター上で使用できる分散ファイル システムです。 DBFS は、Azure Databricks ワークスペースの管理対象リソース グループのストレージ アカウントとして実装されます。 DBFS の既定の場所は、DBFS ルートと呼ばれます。
Azure Storage では、DBFS ルート ストレージを含め、ストレージ アカウント内のすべてのデータが自動的に暗号化されます。 必要に応じて、Azure Storage インフラストラクチャ レベルで暗号化を有効にできます。 インフラストラクチャ暗号化が有効な場合、ストレージ アカウントのデータは、2 つの異なる暗号化アルゴリズムと 2 つの異なるキーを使用して 2 回 (サービス レベルで 1 回とインフラストラクチャ レベルで 1 回) 暗号化されます。 インフラストラクチャ暗号化を使用したワークスペースのデプロイの詳細については、「DBFS ルート用に二重暗号化を構成する」を参照してください。
クエリ、クエリ履歴、クエリ結果の暗号化
Azure Key Vault の独自のキーを使用して、Azure Databricks のコントロール プレーンに格納されている Databricks SQL クエリとクエリ履歴を暗号化できます。 詳細については、「クエリ、Query History およびクエリの結果の暗号化」を参照してください。
クラスター ワーカー ノード間のトラフィックを暗号化する
ユーザー クエリと変換は、通常、暗号化されたチャンネルを使用してクラスターに送信されます。 ただし、既定では、クラスターのワーカー ノード間で交換されるデータは暗号化されません。 停止中でも転送中でも、ご使用の環境でデータを常時暗号化する必要がある場合は、TLS 1.2 接続で AES 128 ビット暗号化を使用して、ワーカー ノード間のトラフィックを暗号化するクラスターを構成する init スクリプトを作成できます。 詳しくは、「クラスター ワーカー ノード間のトラフィックを暗号化する」をご覧ください。
ワークスペースの設定を管理する
Azure Databricks ワークスペース管理者は、ノートブックをダウンロードしたり、ユーザー分離クラスター アクセス モードを適用したりする機能など、ワークスペースのセキュリティ設定を管理できます。 詳しくは、「ワークスペースを管理する」を参照してください。