すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:概要

最終更新日:Jun 12, 2024

AnalyticDB for MySQLのSpark機密エンジンは、製品のパフォーマンスとセキュリティ機能の面で中国情報通信技術アカデミー (CAICT) による信頼できる実行環境 (TEE) 認定を受けた製品の最初のバッチの1つです。 このトピックでは、セキュリティとコンプライアンスの分野でのSpark機密エンジンのシナリオと利点について説明します。 このトピックでは、Basic EditionとHigh-performance Edition Sparkの機密エンジンの機能の違いについても説明します。

シナリオ

AnalyticDB for MySQL Data Lakehouse Edition (V3.0) のSpark機密エンジンは、機密データを暗号化してデータ漏洩を防ぎ、機密データのコンプライアンス要件を満たすことができます。ほとんどの場合、Spark機密エンジンは、データストレージとコンピューティングセキュリティ、機密データコンプライアンス、安全なデータ共有などのシナリオでデータセキュリティの問題を解決するために使用されます。

  • データストレージとコンピューティングセキュリティ: サードパーティのプラットフォームなどの信頼できない環境では、Spark機密エンジンは、投資分析や財務分析などの主要なデータ分析アプリケーションのデータ保護を提供します。 これにより、ユーザーデータの保存およびコンピューティング中の安全性が確保され、平文データの漏洩のリスクが軽減されます。

  • 機密データコンプライアンス: サードパーティのプラットフォームなどの信頼できない環境では、Spark機密エンジンはアプリケーションサービスのセキュリティ保護を提供し、エンドユーザーの機密データを安全に保護します。たとえば、個人を特定できる情報 (PII) や遺伝子などの機密データは、サードパーティの管理下でのエンドツーエンド暗号化のコンプライアンス要件を満たす必要があります。

  • 安全なデータ共有: キーの所有権を管理して、データの使用許可とアクセス頻度を管理できます。 これにより、データ共有が安全になり、データリークが防止されます。次の図は、安全なデータ共有のシナリオを示しています。

    image

エディション

Spark機密エンジンは、次のエディションで使用できます。

  • Basic Edition: Basic Edition Spark機密エンジンは、機密データを暗号文で送信および保存します。 キー所有者のみがデータを復号化できます。 これにより、データリークを防ぎます。 クライアントツールを使用してデータを暗号化および復号化する必要があります。 これにより、平文データが暗号文データに変換され、データの可用性が確保されます。

  • High-performance Edition (推奨): High-performance Edition Spark機密エンジンは、Basic Edition Spark機密エンジンのデータ暗号化機能をサポートし、GlutenとVeloxを使用してベクターコンピューティングを提供します。 これにより、安全なデータ送信と保存が保証され、データ処理効率が向上します。

次の表に、Basic EditionとHigh-performance Edition Sparkの機密エンジンの機能の違いを示します。

エディション

機密データ形式

パフォーマンス (Apache Sparkと比較)

互換性 (Apache Sparkと比較)

ツールの依存関係

キーメカニズム

基本版

EncBlocksSource形式

0.5回

  • SQL構文: compatible

  • データ形式: 互換性がない

Sparkクライアントツールを使用してデータを暗号化および復号化する必要があります。

マスター暗号化キー (MEK) とデータ暗号化キー (DEK) 。 詳細については、このトピックの「キーとキーの処理メカニズム」を参照してください。

ハイパフォーマンス版

Parquetモジュラー暗号化形式

1.9回

  • SQL構文: compatible

  • データ形式: 互换性がある

ツールの依存関係がありません。 Parquetモジュラー暗号化をサポートするツールを使用して、データを暗号化および復号できます。

マスター暗号化キー (MEK) 、キー暗号化キー (KEK) 、およびデータ暗号化キー (DEK) 。 詳細については、このトピックの「キーとキーの処理メカニズム」を参照してください。

メリット

さまざまな使いやすい機能

  • Spark機密エンジンは、標準SQL構文のすべての演算子をサポートしており、SQLを変更することなく簡単な設定後に使用できます。

  • Sparkの機密エンジンは、Apache Sparkと同じ方法で使用できます。

  • High-performance Edition Spark機密エンジンは、結合された平文テーブル、結合された平文テーブルと暗号文テーブル、結合された暗号文テーブルなど、さまざまなプライバシーレベルでのデータのハイブリッド処理をサポートします。

  • Spark機密エンジンは暗号化されたコンピューティング結果をサポートし、データセキュリティをさらに確保します。

データ制御権限

  • Spark機密エンジンはBring Your Own Key (BYOK) をサポートしており、ユーザーはキーに対する包括的な制御権限を持つことができます。 High-performance Edition Spark機密エンジンは、Parquetモジュラー暗号化形式を使用して、ユーザーが独自のキーに基づいてデータを暗号化および復号化できるようにします。 詳細については、このトピックの「キー」セクションを参照してください。

  • High-performance Edition Sparkの機密エンジンにより、アプリケーションは暗号化キーを管理できます。 デフォルトでは、アプリケーションはコンピューティング中にInMemoryKMSクラスにキーを保存し、コンピューティング後にキーを破棄します。

ハイパフォーマンス

  • High-performance Edition Spark機密エンジンのパフォーマンスは、Basic Edition Spark機密エンジンの4倍、Apache Spark 3.2.0の1.9倍です。

  • Spark機密エンジンを使用すると、データファイル内の1つの列を暗号化して、不要なI/Oオーバーヘッドを減らすことができます。

キーとキー処理メカニズム

キー

MEK

MEKは、システムまたはデータのセットのための他のキーを暗号化および保護するために使用され得る高レベル暗号化キーである。 MEKは、多層鍵管理構造の最上層に位置する。 MEKは、ルーチンの暗号化動作の代わりに、補助KEKおよびDEKを暗号化および復号化するために使用される。 この構造により、キー管理が簡単になり、キーストレージのセキュリティが向上します。

MEKは、OpenSSLなどの一般的なツールによってランダムに生成されます。 Basic Edition Spark機密エンジンは、16バイトの16進符号化のみを含むMEKをサポートしています。 High-performance Edition Sparkエンジンは、16、24、または32バイトのBase64エンコーディングを含むMEKをサポートします。 次のコマンドを使用して、OpenSSLツールに基づいてMEKを生成できます。

#16進符号化で16バイトのMEKを生成する。
$openssl rand -hex 16
# Base64エンコーディングで24バイトのMEKを生成します。
$opensslランド-base64 24 
警告

MEKは、暗号化されたデータにアクセスするために使用できるルート資格情報です。 MEKを失うと、既存のデータにアクセスできなくなります。 MEKを秘密にしてください。

KEK

KEKは、システムによってランダムに生成されるか、またはMEKから誘導され、MEKによって保護される。 KEKを使用できますDEKを暗号化および復号してキーのセキュリティを向上させます。

DEK

DEKは、システムによってランダムに生成されるか、またはMEKから誘導され、MEKによって保護される。 DEKを使用して、ファイルデータを暗号化および復号できます。

データの暗号化と復号化

Basic Edition Spark機密エンジンのキー処理メカニズム

データ暗号化

データの暗号化中に、Basic Edition Spark機密エンジンはアプリケーション設定からMEKを取得し、一連のデータに対してランダムなDEKを生成します。 DEKはファイルデータを暗号化するために使用され、MEKはDEKを暗号化するために使用される。

データ解読

データの復号化中に、Basic Edition Spark機密エンジンは、アプリケーション構成からMEKを取得し、ファイルメタデータからDEKを抽出します。 DEKはMEKによって解読される。 MEKがアプリケーションによって管理される場合、DEKはオンプレミス装置上で復号化される。

High-performance Edition Spark機密エンジンの主な処理メカニズム

データ暗号化

データの暗号化中に、High-performance Edition Spark機密エンジンは、アプリケーション設定からMEKを取得し、各列またはファイルに対してランダムなKEKとランダムなDEKを生成します。 KEKはDEKを暗号化するために使用され、DEKはファイルデータを暗号化するために使用される。 各KEKは、16バイトを含む一意の識別子を有する。 暗号化されたKEKおよびDEKは、ファイルメタデータに格納される。

データ解読

データの復号化中に、High-performance Edition Spark機密エンジンはアプリケーション設定からMEKを取得し、ファイルメタデータからKEKとDEKを抽出します。 KEKはMEKによって解読される。 MEKがアプリケーションによって管理される場合、KEKはオンプレミスデバイス上で復号化される。

使用上の注意

  • BYOKを使用してキーを管理する場合は、キーを秘密にしておく必要があります。 キーを紛失した場合、データを復号化できません。

  • 異なるSpark機密エンジンは、異なる精度レベルでデータを処理します。 ご不明な点がございましたら、チケットを起票してください。

関連ドキュメント