PolarDB for PostgreSQL は、TDE (透過的データ暗号化) を提供します。TDE は、データファイルの I/O をリアルタイムで暗号化および復号します。データはディスクに書き込まれる前に暗号化され、メモリに読み込まれるときに復号されます。TDE によってデータファイルのサイズが増加することはありません。アプリケーションを変更することなく TDE 機能を使用できます。
適用範囲
KMS が有効化されていること。詳細については、「専用 KMS インスタンスの購入」をご参照ください。
PolarDB に KMS へのアクセス権限が付与されていること。詳細については、「PolarDB への KMS アクセス権限の付与」をご参照ください。
ご利用の PolarDB for PostgreSQL クラスターは、次の要件を満たす必要があります。
マイナーエンジンバージョン:
PostgreSQL 14 (マイナーエンジンバージョン 2.0.14.12.23.1 以降)
PostgreSQL 16 (マイナーエンジンバージョン 2.0.16.9.6.0 以降)
PostgreSQL 17 (マイナーエンジンバージョン 2.0.17.6.4.0 以降)
PostgreSQL 18 (マイナーエンジンバージョン 2.0.18.0.1.0 以降)
PolarDB for PostgreSQL 分散版クラスターはサポートされていません。
コンソールでマイナーエンジンバージョンを確認するか、SHOW polardb_version; 文を実行してバージョンを確認できます。クラスターがマイナーエンジンバージョンの要件を満たしていない場合は、マイナーエンジンバージョンをアップグレードする必要があります。
背景情報
TDE は、データベースレイヤーで保存データの暗号化を実行します。これにより、攻撃者がデータベースをバイパスしてストレージから機密情報を読み取ることを防ぎます。認証されたアプリケーションとユーザーは、アプリケーションのコードや構成を変更することなく、透過的にアプリケーションデータにアクセスできます。ただし、表領域ファイルから機密データを読み取ろうとする OS ユーザーや、ディスクやバックアップからデータを読み取ろうとする権限のない第三者は、プレーンテキストデータにアクセスできません。
PolarDB for PostgreSQL および での TDE 暗号化に使用されるキーは、Key Management Service (KMS) によって生成および管理されます。PolarDB は、暗号化に必要なキーと証明書を提供しません。Alibaba Cloud によって自動的に生成されたキーを使用することも、独自のキーマテリアルを使用してデータキーを生成し、PolarDB にその使用を許可することもできます。
注意事項
TDE 機能を有効にすると、無効にすることはできません。
I/O 負荷の高いシナリオでは、TDE を有効にするとデータベースのパフォーマンスに影響する可能性があります。
操作手順
クラスター作成時に TDE を有効にする方法については、「データベースクラスターの作成」または「」をご参照ください。以下の手順では、既存の PolarDB クラスターで TDE 機能を有効にする方法について説明します。
TDE を有効にすると、PolarDB クラスターが再起動します。操作は慎重に行ってください。
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックして詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。
TDE 設定 タブで、TDE ステータス スイッチをオンにします。

ダイアログボックスで、KMS のデフォルトキーを使用 または 既存カスタムキーの使用 を選択します。
KMS のデフォルトキーを使用 を選択した場合は、OK をクリックして TDE を有効にします。

既存カスタムキーの使用 を選択した場合は、ドロップダウンリストから Key Management Service (KMS) キーを選択し、OK をクリックして TDE を有効にします。

サポートされているキータイプは Aliyun_AES_256 のみです。
既存のカスタムキーを使用する場合、次の条件を満たす必要があります。
Alibaba Cloud アカウント、または AliyunSTSAssumeRoleAccess 権限を持つアカウントを使用する必要があります。
キーを無効にする、キーの削除をスケジュールする、またはキーマテリアルを削除すると、キーは使用できなくなります。
権限を取り消してから PolarDB クラスターを再起動すると、クラスターは使用できなくなります。
カスタムキーがない場合は、カスタムキーの作成 をクリックして KMS コンソールに移動し、キーを作成してキーマテリアルをインポートできます。詳細については、「キーの作成」をご参照ください。
TDE の有効化には約 10 分かかります。
TDE ステータスの表示
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックして詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。
TDE 設定 タブで、TDE ステータス スイッチを確認します。
カスタムキーへの切り替え
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックして詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。
TDE 設定 タブで、TDE ステータス スイッチをクリックします。

ダイアログボックスで 既存カスタムキーの使用 を選択し、ドロップダウンリストから Key Management Service (KMS) キーを選択して、OK をクリックします。
説明カスタムキーの使用に関する詳細については、「操作手順」セクションの注意事項をご参照ください。
詳細オプション
TDE キーの自動ローテーションは、既存のカスタムキーを使用する場合にのみサポートされます。
PolarDB は、カスタムキーのマスターキーバージョンを更新しません。キーバージョンを手動で更新するか、キーローテーションポリシーを変更できます。詳細については、「キーローテーション」をご参照ください。
PolarDB がカスタムキーのマスターキーバージョンが更新されたことを検出すると、次回のメンテナンス期間中に TDE キーをローテーションします。このプロセス中に PolarDB クラスターが再起動します。
TDE キーの自動ローテーションは、次の 2 つの方法のいずれかで有効にできます。
カスタムキーで TDE を有効にする際に、TDE の設定 ダイアログボックスの 詳細設定 で TDE キーの自動ローテーション を有効にできます。

カスタムキーで TDE を有効にした後、TDE の設定 タブの 詳細設定 で TDE キーの自動ローテーション をオンにします。

よくある質問
TDE を有効にした後でも、Navicat などの一般的なデータベースツールを使用できますか?
A: はい、使用できます。
暗号化を有効にした後、データを表示するとプレーンテキストで表示されるのはなぜですか?
A: データをクエリすると、データは復号されてメモリに読み込まれます。そのため、プレーンテキストで表示されます。TDE を有効にすると、保存データは暗号化されます。
関連 API
API | 説明 |
PolarDB クラスターの TDE 機能を有効にするか、暗号化方式を変更します。 | |
PolarDB クラスターの TDE 設定をクエリします。 | |
PolarDB クラスターを作成し、TDE (透過的データ暗号化) を有効にします。 説明 DBType パラメーターは PostgreSQL または に設定する必要があります。 |