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

AnalyticDB:概要

最終更新日:Jan 17, 2026

Apache Spark を搭載した AnalyticDB for MySQL の機密エンジンは、信頼できる実行環境 (TEE) におけるパフォーマンスとセキュリティについて、中国情報通信研究院 (CAICT) によって認定された最初のプロダクトの 1 つです。このエンジンは機密データを暗号化してデータ漏洩を防ぎ、プライバシー保護コンピューティングに最適です。このトピックでは、Apache Spark 機密エンジンの利用シーンとメリットについて説明し、Basic Edition と High-performance Edition の機能を比較します。

利用シーン

AnalyticDB for MySQL (Enterprise Edition、Basic Edition、Data Lakehouse Edition) の Apache Spark を搭載した機密エンジンは、機密データを暗号化してデータ漏洩を防ぎ、コンプライアンス要件を満たします。Apache Spark の機密エンジンは、安全なデータストレージとコンピューティング、機密データのコンプライアンス、安全なデータ共有などのシナリオにおけるデータセキュリティの問題を解決するためによく使用されます。一般的な利用シーンは次のとおりです。

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

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

  • 安全なデータ共有:キーの所有権をコントロールして、データの使用権とアクセス頻度を管理できます。これにより、安全なデータ共有が可能になり、データ漏洩を防ぎます。次の図にこのシナリオを示します。

    image

エディション

Apache Spark 機密エンジンには、Basic Edition と High-performance Edition の 2 つのエディションがあります。違いは次のとおりです。

  • Basic Edition:Apache Spark 機密エンジンの Basic Edition は、機密データを暗号文として転送および保存します。キーのオーナーのみがデータを復号できるため、データ漏洩を防ぎます。データをプレーンテキストと暗号文の間で変換するには、暗号化と復号のためにクライアントツールを使用する必要があります。

  • High-performance Edition (推奨):Apache Spark 機密エンジンの High-performance Edition は、Basic Edition のデータ暗号化機能を基盤として、Apache Gluten と Velox を統合してベクトル化を提供します。これにより、安全なデータ転送とストレージを確保しながら、データ処理効率を向上させます。

以下は、常時機密の Apache Spark コンピュートエンジンの Basic Edition と High-performance Edition の比較です。

エディション

機密データ形式

パフォーマンス (オープンソースの Apache Spark との比較)

互換性 (オープンソースの Apache Spark との比較)

ツールの依存関係

主要なメカニズム

Basic Edition

EncBlocksSource フォーマット

0.5 倍

  • SQL 構文互換

  • データ形式非互換

データの暗号化と復号のために、Apache Spark が提供するクライアントツールに依存します。

マスター暗号化キー (MEK) とデータキー (DK) の 2 種類のキーをサポートします。詳細については、「キーと暗号化」をご参照ください。

High-performance Edition

Parquet モジュラー暗号化フォーマット

1.9 倍

  • SQL 構文互換

  • データ形式互換

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

マスター暗号化キー (MEK)、キー暗号化キー (KEK)、データキー (DK) の 3 種類のキーをサポートします。詳細については、「キーと暗号化」をご参照ください。

メリット

豊富な機能と使いやすさ

  • すべての標準 SQL オペレーターをサポートします。機密コンピューティングアプリケーションは、簡単な構成で使用でき、SQL の変更は不要です。

  • 使用方法はオープンソースの Apache Spark と同じです。

  • High-performance Edition は、プレーンテキストテーブル、プレーンテキストテーブルと暗号文テーブル、および暗号文テーブルでの混合結合計算など、異なるプライバシーレベルのデータのハイブリッド処理をサポートします。

  • 計算結果を暗号化して出力し、データセキュリティを強化できます。

データコントロール

  • キー管理は Bring Your Own Key (BYOK) をサポートしており、キーを完全に制御できます。高性能エディションでは Parquet モジュラー暗号化フォーマットが導入されており、独自のキーを使用してデータを暗号化および復号化することで、データを完全に制御できます。詳細については、「キー」をご参照ください。

  • High-performance Edition では、暗号鍵はアプリケーションによって管理されます。計算中、キーはデフォルトアプリケーションの `InMemoryKMS` クラスによって保持され、計算完了後に破棄されます。

高いパフォーマンス

  • Apache Spark 機密エンジンの High-performance Edition は、Basic Edition の 4 倍、オープンソースの Apache Spark 3.2.0 の 1.9 倍高速です。

  • 柔軟な暗号化メソッドにより、データファイル内の個々のデータ列を暗号化でき、不要なデータ I/O オーバーヘッドを削減します。

キーと暗号化

キー

マスター暗号化キー (MEK)

マスター暗号化キー (MEK) は、システムまたはデータセット内の他のキーを暗号化および保護するために使用される高レベルの暗号鍵です。階層的なキー管理構造では、MEK は最上位に位置します。日常的な暗号化操作には使用されず、代わりにキー暗号化キー (KEK) やデータキー (DK) などの下位レベルのキーを暗号化および復号するために使用されます。この階層的なアプローチにより、キー管理が簡素化され、キーのストレージのセキュリティが向上します。

MEK は、OpenSSL などの一般的なツールによってランダムに生成されます。Apache Spark 機密エンジンの Basic Edition は、マスターキーとして 16 バイトの文字列 (16 進数エンコード) のみをサポートします。High-performance Edition は、マスターキーとして 16、24、または 32 バイトの文字列 (Base64 エンコード) をサポートします。次の OpenSSL コマンドを使用して、マスターキーをランダムに生成します。

# 16バイト長の16進数エンコードされたキーをランダムに生成
$openssl rand -hex 16
# 24バイト長のBase64エンコードされたキーをランダムに生成
$openssl rand -base64 24
警告

MEK は、暗号化されたデータにアクセスするためのルート認証情報です。キーを紛失した場合、既存のデータにアクセスできなくなります。MEK は安全に保管してください。

キー暗号化キー (KEK)

キー暗号化キー (KEK) は、システムによってランダムに生成されるか、MEK から派生し、上位レベルのキーによって保護されます。KEK は、データキー (DK) を暗号化または復号して、キーのセキュリティを向上させることができます。

データ暗号化キー (DEK)

データキー (DK) は、通常、システムによって生成されるか、マスター暗号化キー (MEK) から派生し、上位レベルのキーによって保護されます。DK は、ファイル内のデータを暗号化または復号するために使用されます。

暗号化と復号

Basic Edition

データ暗号化

データ暗号化中、Apache Spark 機密エンジンの Basic Edition は、アプリケーション構成から MEK を取得し、データセットに対してランダムな DK を自動的に生成します。DK はファイル内のデータを暗号化するために使用され、MEK は DK を暗号化するために使用されます。

データ復号

データ復号中、Apache Spark 機密エンジンの Basic Edition は、アプリケーション構成から MEK を取得し、次にファイルのメタデータから DK を抽出します。DK は MEK を使用して復号されます。MEK がアプリケーションによって管理されている場合、復号はローカルで行われます。

High-performance Edition

データ暗号化

データ暗号化中、Apache Spark 機密エンジンの High-performance Edition は、アプリケーション構成から MEK を取得し、各列またはファイルに対してランダムに KEK と DK を生成します。KEK は DK を暗号化するために使用され、DK はファイル内のデータを暗号化するために使用されます。各 KEK には一意の 16 バイトの識別子があります。KEK と DK の両方が、暗号化後にファイルのメタデータに保存されます。

データ復号

データ復号中、Apache Spark 機密エンジンの High-performance Edition は、アプリケーション構成から MEK を取得し、次にファイルのメタデータから KEK と DK を抽出します。KEK は MEK を使用して復号されます。MEK がアプリケーションによって管理されている場合、復号はローカルで行われます。

注意事項

  • BYOK キー管理メソッドを使用する場合、キーを安全に保管する必要があります。キーを紛失した場合、データは復号できません。

  • コンピュートエンジンが異なると、データの処理精度が異なる場合があります。Apache Spark 機密エンジンの使用中に問題が発生した場合は、チケットを送信してください。

関連ドキュメント