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

Data Security Center:列の暗号化の概要

最終更新日:Nov 20, 2025

Data Security Center (DSC) の列暗号化機能は、データベース内の特定の列をストレージ用に暗号化することでデータを保護します。この機能は、RDS for MySQL、RDS for PostgreSQL、PolarDB for MySQL、PolarDB for PostgreSQL、PolarDB for PostgreSQL (Compatible with Oracle)、および PolarDB-X 2.0 などのデータベース内の機密データを保護します。これにより、権限のない担当者がクラウドプラットフォームソフトウェアやデータベース接続ツールを使用してプレーンテキストで機密データに直接アクセスすることを防ぎます。これにより、内外のセキュリティ脅威を軽減し、データセキュリティを確保できます。

機能紹介

Data Security Center の列暗号化機能には、暗号化設定アカウント権限管理の 2 つの主要な部分が含まれます。暗号化設定では、暗号化アルゴリズム、メソッド、およびデータベースインスタンス、データベース、テーブル、列などの範囲を定義します。アカウント権限管理は、どのデータベースアカウントが暗号化されたデータにアクセスできるか、およびその権限を制御します。

暗号化の原則

  • 暗号化アルゴリズム: 列暗号化では、SM4_128_GCMAES-128-GCMAES-256-GCM などの業界標準の暗号化アルゴリズムを使用して、指定された列のデータを暗号化します。

  • 暗号化メソッド: 列暗号化は、指定されたデータベースの暗号鍵を管理するための 2 つのメソッドをサポートしています

    • ローカルキー: ローカル環境で暗号鍵を生成して保存します。

    • KMS キー (推奨): Key Management Service (KMS) を使用して、指定されたデータベースの暗号鍵をホストします。DSC は、KMS で作成または管理するカスタマーマスターキーの使用をサポートしています。キータイプの詳細については、「キータイプ」をご参照ください。

  • アカウント権限:

    アカウントとは、DSC に承認されたデータベースからプルされたデータベースアカウントを指します。サポートされているデータベースには、RDS for MySQL、RDS for PostgreSQL、PolarDB for MySQL、PolarDB for PostgreSQL、PolarDB for PostgreSQL (Compatible with Oracle)、および PolarDB-X 2.0 が含まれます。

    権限は次のとおりです。

    権限

    説明

    暗号文権限 (JDBC 復号)

    デフォルトでは、アカウントは暗号化された列の暗号文にアクセスできます。アカウントは、SDK を介して always-confidential クライアントドライバー を使用し、ローカルキーまたは KMS キーでデータを復号してプレーンテキストを表示できます。

    暗号文権限 (復号権限なし)

    アカウントは、暗号化された列の暗号文にのみアクセスできます。いかなる手段でもデータを復号してプレーンテキストを表示することはできません。

    プレーンテキスト権限

    データベースの列暗号化を有効にした後、プレーンテキスト権限を持つアカウントは暗号化設定の影響を受けず、暗号化された列のプレーンテキストデータに直接アクセスできます。

データベースの暗号化制限

サポートされているデータベースの種類

サポートされているバージョン

サポートされている暗号化アルゴリズム

サポートされている暗号化メソッド

サポートされている権限

RDS for MySQL

メジャーバージョンは MySQL 5.7 または MySQL 8.0 で、マイナーエンジンバージョンは 20240731 以降です。

  • AES_128_GCM。

  • AES_256_GCM: マイナーエンジンバージョンが 20241231 以降の場合にのみサポートされます。

  • SM4_128_GCM: マイナーエンジンバージョンが 20241231 以降の場合にのみサポートされます。

説明

中国本土以外のリージョンでは、AES_128_GCM のみがサポートされています。

  • ローカルキー。

  • KMS キー: マイナーエンジンバージョンが 20241231 以降で、ストレージクラスがディスクの場合にのみサポートされます。

  • 暗号文権限 (復号権限なし): ローカルキーでのみサポートされます。これはデフォルトの権限です。

  • 暗号文権限 (JDBC 復号): KMS キーを使用する場合のデフォルトの権限です。

  • 平文権限。

RDS for PostgreSQL

メジャーバージョンは PostgreSQL 16 で、マイナーエンジンバージョンは 20241230 以降である必要があります。

AES_256_GCM。

ローカルキー。

  • 暗号文権限 (JDBC 復号) (デフォルトの権限)。

  • 平文権限。

PolarDB for MySQL

メジャーバージョンは MySQL 5.7 または MySQL 8.0 で、データベースプロキシのバージョンは 2.8.36 以降である必要があります。

重要

PolarDB for MySQL データベースに列暗号化ポリシーを設定する場合、データベースプロキシエンドポイント (読み書き分離モード) を使用してデータベースに接続する必要があります。プライマリエンドポイントを使用する場合、列暗号化ポリシーは有効になりません。詳細については、「データベースプロキシの設定」および「エンドポイントの管理」をご参照ください。

AES_128_GCM。

ローカルキー。

PolarDB for PostgreSQL

メジャーバージョンは PostgreSQL 14 で、データベースバージョンは 2.0.14.15.31.0 以降です。

AES_256_GCM。

ローカルキー。

PolarDB for PostgreSQL (Compatible with Oracle)

Oracle 構文互換性 2.0 のみがサポートされています。メジャーバージョンは PostgreSQL 14 で、データベースバージョンは 2.0.14.15.31.0 以降です。

AES-256-GCM。

ローカルキー。

PolarDB-X 2.0

データベースバージョンは polardb-2.5.0_5.4.20-20250714_xcluster8.4.20-20250703 以降です。

  • AES-128-GCM。

  • SM4-128-GCM。

ローカルキー。

課金

DSC は、1 つの列を暗号化するための無料クォータを提供します。より多くの列を暗号化するには、[列暗号化] サービスを有効にし、十分な [暗号化列数] を購入する必要があります。このサービスはサブスクリプションベースで課金されます。課金の詳細については、「課金の概要」をご参照ください。

列暗号化構成で [暗号化メソッド][KMS キー] に設定した場合、KMS はキーをホストするための料金を請求します。課金の詳細については、「プロダクトの課金」をご参照ください。

使用フロー

列暗号化の構成フロー

次の図は、ターゲットデータベースの列暗号化を構成するフローを示しています。詳細については、「データベースの列暗号化を構成する」をご参照ください。

暗号化された列データへのアクセス例

列暗号化を構成した後、暗号文権限を持つデータベースアカウントが暗号化された列をクエリすると、データベースはデータを暗号文で返します。クライアントでデータを復号してプレーンテキストを取得できます。これにより、クライアントとデータベース間の転送中にデータが暗号化されたままであることが保証されます。

クライアントの使用

Alibaba Cloud は、Java および Go 用の always-confidential クライアントドライバーを提供しています。暗号文権限 (JDBC 復号) を持つデータベースアカウントを使用して、ターゲットデータベースの暗号化された列のプレーンテキストデータを復号してアクセスできます。

プログラミング言語

サポートされているデータベースタイプ

参照

Java

  • RDS for MySQL

  • RDS for PostgreSQL

  • PolarDB for MySQL

  • PolarDB for PostgreSQL

  • PolarDB for PostgreSQL (Compatible with Oracle)

  • PolarDB-X 2.0

EncJDBC の統合 (ローカルキーと KMS キーを使用した復号をサポート)

Go

  • RDS for MySQL

  • PolarDB for MySQL

  • PolarDB-X 2.0

Go ドライバーの統合 (ローカルキーを使用した復号のみをサポート)