Data Security Center (DSC) が提供する列の暗号化機能により、ApsaraDB RDS for PostgreSQL の機密性の高い列データへの暗号化アクセスが可能になり、権限のない担当者がクラウドプラットフォームソフトウェアまたはデータベース接続ツールを介して機密データにプレーンテキストで直接アクセスすることを防ぎます。 この機能により、列データはデータベースで使用可能ですが、非表示になります。 クラウドプラットフォームの内部および外部のソースからのセキュリティ脅威から効果的に防御し、クラウドデータをユーザーにとって真に非公開の資産にします。
前提条件
インスタンスは、マイナーエンジンバージョン 20250228 以降の RDS PostgreSQL 16 を実行しています。
インスタンスは、次のいずれかのリージョンにあります。
リージョンタイプ
リージョン名
中国本土
中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (広州)、中国 (成都)。
中国本土以外
中国 (香港)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト)。
機能紹介
RDS PostgreSQL の列の暗号化機能は、Data Security Center (DSC) によって提供されます。 AES-256-GCM 暗号化アルゴリズムとローカルキー暗号化方式を使用して、データベース内の機密データ列の暗号化を構成します。 これにより、機密データが暗号化された形式で保存され、承認されたユーザーは、復号後に常時機密クライアントを介してプレーンテキストデータにアクセスできます。 暗号化する RDS PostgreSQL インスタンス、データベース、テーブル、および列の範囲を選択および変更できます。
準備
列の暗号化機能を有効にする前に、DSC サービスのアクティブ化またはアップグレード、クラウド リソースへの DSC アクセスの承認、データベース資産の承認、データベースへの接続、機密データ識別タスクの実行という手順を順番に完了する必要があります。
1. DSC サービスのアクティブ化またはアップグレード
2. クラウド リソースにアクセスするように DSC を承認する
3. データベース資産を承認する
4. データベースに接続して、機密データ識別タスクを実行する
列の暗号化を有効にする
Data Security Center コンソール にログインします。左側のナビゲーション ウィンドウで、 を選択します。
重要対応するデータベースの列の暗号化を有効にして構成するには、[暗号化チェック] 列に [成功] と表示されている必要があります。 [失敗] と表示されている場合、データベースのメジャーバージョンまたはマイナーエンジンバージョンが列の暗号化機能をサポートしていない可能性があります。 詳細については、このトピックの FAQ をご参照ください。
データベースインスタンスリストの上にある Rapid Encryption をクリックして、暗号化されていないすべての列の列の暗号化を構成します。
または、ターゲットデータベースインスタンスの Actions 列にある Rapid Encryption をクリックして、ターゲットデータベースインスタンスの列の暗号化を構成することもできます。

Encryption Configuration パネルで、Asset Type、Instance name、Plaintext Permission Accounts、および列の暗号化を構成するターゲット Databases、Table、Column を選択し、OK をクリックします。 次の点に注意してください。
RDS PostgreSQL は、
AES-256-GCM暗号化アルゴリズムと ローカル暗号化方式のみをサポートしています。暗号化構成が完了すると、RDS PostgreSQL データベースアカウントのデフォルトの権限は Ciphertext Permission (JDBC Decryption) になります。これは、デフォルトで暗号化された列の暗号文データへのアクセスを許可し、クライアントコードを介したローカルキーを使用した復号後に元のプレーンテキストデータを表示することをサポートします。
プレーンテキストデータに直接アクセスする必要がある場合は、[プレーンテキスト権限アカウント] セクションに対応するデータベースアカウントを追加できます。 このアカウントにはプレーンテキスト権限があり、暗号化された列のプレーンテキストデータに直接アクセスできます。
重要データベースの最新のデータを分類および格付けする必要がある場合は、認証情報として設定されたデータベースアカウント (DSC を RDS PostgreSQL インスタンスに接続するために使用されるデータベースアカウント) に プレーンテキスト権限が必要です。
列の暗号化構成を変更する
暗号化された列のスコープを変更する
列の暗号化を有効にした後、必要に応じて、データベースインスタンス内の特定の列に対して列の暗号化機能を個別に有効または無効にして、暗号化された列のスコープを変更できます。
Data Security Center コンソール にログオンします。左側のナビゲーションウィンドウで、 を選択します。
インスタンスリストで、ターゲットインスタンスを展開します。 データベースリストで、ターゲット Databases、Table、Column 名を見つけます。 Enable Encryption または Disable Encryption をクリックして、単一の列の暗号化を構成します。

データベースアカウントの権限を変更する
Plaintext Permissions に設定されているアカウントを除き、データベースインスタンス内の他のすべてのアカウントには Ciphertext Permission (JDBC Decryption) があります。 ビジネス要件に基づいて、アカウント権限を Plaintext Permissions または Ciphertext Permission (JDBC Decryption) に変更できます。
データセキュリティセンターコンソール にログオンします。
ページで、Accounts を Permission Settings セクションでクリックします。
インスタンスリストの Actions 列で Edit をクリックし、Configure パネルの Edit の横にある Account Permissions をクリックすることもできます。
Permission Settings パネルで、ターゲットインスタンスとアカウントを検索して、現在のアカウント権限を表示します。
説明新しく追加されたデータベースアカウントがリストに表示されない場合は、最初に Asset synchronization を完了してから、もう一度確認してください。
ターゲットアカウントの Actions 列で、Modify Permissions をクリックします。
同じ権限を持つ複数のアカウントを選択し、リストの下部にある Batch Modify Permissions をクリックすることもできます。
[権限の変更] ダイアログ ボックスで、ターゲット権限を選択し、OK をクリックします。
列の暗号化結果を確認する
データベースの列の暗号化とデータベースアカウントの権限を構成して、列の暗号化結果を確認できます。
RDS PostgreSQL 16 データベースインスタンスを DSC に接続し、機密データの分類と格付けを完了し、RDS インスタンスの特定の列 ( テーブルの
students01列を例として使用生年月日表の例) の列の暗号化を有効にします。 同時に、RDS インスタンスの 1 つのデータベースアカウントに Plaintext Permissions を設定し、別のアカウントには Ciphertext Permission (JDBC Decryption) を保持します。
[暗号文権限 (JDBC 復号)] を持つアカウントを使用して、Data Management Service (DMS) でデータベースにログインします。
SELECT * FROM students01;ステートメントを実行して、データテーブルを表示します。 暗号化された列には、暗号文データが表示されます。
[プレーンテキスト権限] を持つアカウントを使用して、Data Management Service (DMS) でデータベースにログインします。
SELECT * FROM students01;ステートメントを実行して、データテーブルを表示します。 暗号化された列のプレーンテキストデータが返されます。
クライアントの指示
データベースアカウントに 暗号文権限 (JDBC 復号) がある場合、列暗号化ドライバー (JDBC) を使用してターゲット RDS データベースにアクセスし、Java アプリケーションを介して暗号化された列データにアクセスできます。 JDBC は暗号文データを自動的に復号化してプレーンテキストデータを返すため、アプリケーションにとってプロセスは透過的になります。 詳細については、「列暗号化ドライバー (JDBC)」をご参照ください。
FAQ
RDS インスタンスが暗号化チェックに失敗した場合はどうすればよいですか?
関連リンク
データベース列の暗号化の 機能と 原則については、「列の暗号化の概要」をご参照ください。
承認後にデータベース内の機密列データが変更された場合は、再スキャンする必要があります。 特定の操作については、「検出タスクによる機密データのスキャン」をご参照ください。




