PolarDB-X の「常時機密データベース」機能は、機密性の高いデータ列を暗号化し、格納されるデータを常に暗号文の状態に保ちます。承認されたユーザーは、ローカルキーを用いてアプリケーションのロジックを変更することなく、透過的に復号できます。この機能の構成および管理は、PolarDB-X コンソールではなく、Data Security Center (DSC) で行い、クラウド資産全体にわたるデータセキュリティの集中管理を実現します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
PolarDB-X インスタンスで、バージョン
polardb-2.5.0_5.4.20-20250714_xcluster8.4.20-20250703以降のものが実行中であること。バージョン命名規則については、「リリースノート」をご参照ください。バージョンを確認するには、「インスタンスのバージョンの表示および更新」をご参照ください。対応リージョンにデプロイされたインスタンス:
リージョンタイプ 対応リージョン 中国本土 中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (広州)、中国 (成都) 中国本土以外 中国 (香港)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト) DSC 接続認証情報として使用する、プレーンテキスト権限を持つデータベースアカウント。このアカウントは、プレーンテキストデータを読み取れる必要があります。これにより、DSC は接続後に機密データを検出し、分類できます。
課金
常時機密データベース機能自体は無料です。ただし、この機能は暗号化の構成および管理のためにDSCに依存しています。DSCを購入し、列レベルの暗号化クォータが要件を満たしていることを確認してください。DSCの料金については、「課金概要」をご参照ください。
暗号化の仕組み
「常時機密データベース」機能は、DSC の 列レベルの暗号化に対応しています。PolarDB-X では、ローカルキーを使用した以下の 2 種類の暗号化アルゴリズムをサポートしています。
AES-128-GCMSM4-128-GCM
列レベルの暗号化を構成すると、データは暗号文として保存されます。そのデータへのアクセスは、データベースアカウントの権限タイプによって異なります。
権限モデル
PolarDB-X クラスター内の各データベースアカウントには、以下の 2 種類の権限タイプのいずれかが割り当てられます。
| 権限タイプ | 動作方法 |
|---|---|
| プレーンテキスト権限 | アカウントはプレーンテキストを直接読み取ります。追加のクライアントは不要です。 |
| 暗号文権限(JDBC 復号) | アカウントは暗号文を読み取ります。「列レベルの暗号化ドライバー (JDBC)」を使用して、アプリケーションにプレーンテキストを透過的に復号して返します。これは、明示的に「プレーンテキスト権限」が付与されない限り、すべてのアカウントのデフォルトです。 |
暗号化の構成を行う前に、どのアカウントに「プレーンテキスト権限」を付与するかを決定してください。この選択は、DSC の接続認証情報の要件およびアプリケーションのアクセス戦略に影響します。
DSC の接続認証情報(DSC が PolarDB-X クラスターに接続するために使用するデータベースアカウント)には、プレーンテキスト権限が必要です。プレーンテキストへのアクセスができない場合、DSC はデータベース内の最新の機密データを分類できません。
DSC のセットアップとデータベースの接続
列レベルの暗号化を有効化する前に、以下の手順を完了してください。
DSC の有効化またはスペックアップ
列レベルの暗号化は、DSC の 無料版、Enterprise Edition、および 追加サービス専用版で利用可能です。各エディションには、1 列分の暗号化が無料で含まれています。複数列の暗号化が必要な場合は、追加クォータを購入してください。
DSC を未使用の場合:
Data Security Center 購入ページへ移動します。
エディションを選択し、列レベルの暗号化を有効化します。

今すぐ購入 をクリックして支払いを完了します。
有効化後、DSC の 概要 ページで機能仕様を確認できます。
DSC を既に使用している場合:
Data Security Center コンソール にログインします。概要 ページで以下の内容を確認します:

ご使用のエディションが列レベルの暗号化をサポートしている(無料版、Enterprise Edition、または追加サービス専用版)。
列レベルの暗号化クォータが要件を満たしている。
クォータが不足している場合は、概要 ページの スペックアップ をクリックして、現在のエディションでサポートされる暗号化列数を増加させます。
同じエディション内でのみスペックアップできます (例: 暗号化列数を増やす)。 別のエディションに切り替えるには: - 無料版: 無料版のリソースを保持した状態で、 Enterprise Edition または Value-added Service Only を購入します。 - Enterprise Edition または Value-added Service Only: まず 返金をリクエストし、次に 別のエディションを購入 します。 元のエディションのインスタンスとデータはリリースされます。 スペックアップ中はサブスクリプション期間を変更できません。
今すぐ購入 をクリックして支払いを完了します。更新後の仕様は 概要 ページに反映されます。
DSC によるクラウドリソースへのアクセス権限の付与
Data Security Center コンソール にログインします。
RAM 権限付与 ダイアログボックスで、今すぐ権限付与 をクリックします。
RAM 権限付与 ダイアログボックスが表示されない場合は、DSC がすでにクラウドリソースへのアクセス権限を有しています。
データベース資産への権限付与
Data Security Center コンソール にログインします。左側ナビゲーションウィンドウから アセットセンター を選択します。
権限付与管理 タブで、アセット権限付与管理 をクリックします。
製品ナビゲーションウィンドウで対象のデータタイプを選択し、アセット同期 をクリックします。
DSC の購入後に初めてログインした際には、アセット同期が自動的に実行されます。DSC は毎日深夜 0 時に新規アセットをスキャンします。既存ユーザーの場合は、アセットセンター > 権限付与管理 > アセット権限付与管理 に移動し、アセット同期 を手動でクリックしてください。
対象アセットの 操作 列で、権限付与 をクリックします。
複数のアセットを一度に権限付与する場合は、それらを選択して 一括権限付与 をクリックします。
データベースへの接続および機密データ検出タスクの実行
以下の接続方法のいずれかを選択してください。
ワンクリック接続
左側ナビゲーションウィンドウから アセットセンター を選択します。
権限付与管理 タブで、対象アセットの 操作 列にある 接続 をクリックします。
ダイアログボックスで、アセットをスキャンして機密データを即座に特定 を選択し、OK をクリックします。
重要- アセットをスキャンして機密データを即座に特定 を選択すると、システムのデフォルト検出タスクが起動し、データベースからデータを読み取ります。パフォーマンスへの影響を最小限に抑えるため、非ピーク時間帯に実行してください。 - スキャンをスキップした場合は、「分類・評価」>「タスク」>「識別タスク」>「デフォルトタスク」から該当タスクを見つけ、再スキャン をクリックして手動で実行してください。
データベースインスタンスの左側にある
アイコンをクリックして、接続ステータスおよび機能ステータスを確認します。
認証情報ベースの接続
専用のデータベースアカウントを使用し、最小権限の原則に従ってください。
左側ナビゲーションウィンドウから アセットセンター を選択します。
権限付与管理 タブで、対象アセットインスタンスの 操作列 にある アカウントログイン をクリックします。
アカウントログイン パネルで、対象データベースの 操作列 にある 認証情報の追加 をクリックします。
認証情報の追加 ダイアログボックスで、認証情報を選択し、スキャンオプションを構成して OK をクリックします。認証情報が存在しない場合は、認証情報の作成 タブをクリックします。認証情報名、ユーザー名、パスワード、認証情報タイプ を入力し、OK をクリックします。
重要- アセットをスキャンして機密データを即座に特定 を選択すると、データを読み取るデフォルト検出タスクが起動し、読み取りパフォーマンスを消費します。非ピーク時間帯に実行してください。 - スキャンをスキップした場合は、「分類・評価」>「タスク」>「識別タスク」>「デフォルトタスク」から該当タスクを見つけ、再スキャン をクリックしてください。
データベースインスタンスの左側にある
アイコンをクリックして、接続ステータスおよび機能ステータスを確認します。

列レベルの暗号化の有効化
Data Security Center コンソール にログインします。左側ナビゲーションウィンドウから リスクガバナンス > 列レベルの暗号化 を選択します。
重要列レベルの暗号化は、暗号化チェック 列に 合格 と表示されているデータベースに対してのみ構成できます。もし 不合格 と表示されている場合は、インスタンスのバージョンが列レベルの暗号化をサポートしていない可能性があります。「よくある質問」セクションをご参照ください。
インスタンス一覧の上にある [高速暗号化] をクリックして、すべてのインスタンスにわたる暗号化されていない列の暗号化を設定します。特定のインスタンスを対象とする場合は、そのインスタンスの [操作] 列にある [高速暗号化] をクリックします。

暗号化構成 パネルで、以下の設定を構成し、OK をクリックします。
アセットタイプ、インスタンス名、および プレーンテキスト権限アカウント:インスタンスを選択し、どのアカウントに「プレーンテキスト権限」を付与するかを指定します。
データベース、テーブル、および 列:暗号化対象の列の範囲を選択します。
以下の点にご注意ください。
PolarDB-X では、ローカル暗号化に対応しているのは
AES-128-GCMおよびSM4-128-GCMのみです。プレーンテキスト権限アカウント リストに含まれていないすべてのデータベースアカウントは、デフォルトで 暗号文権限(JDBC 復号) となります。これらのアカウントは暗号文にアクセスし、列レベルの暗号化ドライバー(JDBC)を使用して復号する必要があります。
プレーンテキスト権限アカウント に追加されたアカウントは、暗号化列データをプレーンテキストとして直接読み取ることができます。
列レベルの暗号化構成の変更
暗号化対象列の範囲の変更
列レベルの暗号化を有効化した後、特定のデータベースインスタンスについて暗号化対象列の範囲を拡大または縮小できます。
Data Security Center コンソール にログインします。左側ナビゲーションウィンドウから リスクガバナンス > 列レベルの暗号化 を選択します。
インスタンス一覧で対象インスタンスを展開します。対象の データベース、テーブル、および 列 を見つけ、暗号化の有効化 または 暗号化の無効化 をクリックします。

データベースアカウント権限の変更
アクセス要件に応じて、アカウントの権限を プレーンテキスト権限 と 暗号文権限(JDBC 復号) の間で変更できます。
Data Security Center コンソール にログインします。
リスクガバナンス > 列レベルの暗号化 ページで、権限設定 を アカウント エリアからクリックします。あるいは、対象インスタンスの 操作 列にある 編集 をクリックし、編集 パネル内の アカウント権限 の 構成 をクリックします。
権限設定 パネルで、対象インスタンスおよびアカウントを検索します。
新たに追加されたデータベースアカウントがリストに表示されない場合は、アセット同期 を実行して再度確認してください。
操作 列で、権限の変更 をクリックします。複数のアカウントの権限を一度に変更する場合は、それらを選択して 一括権限変更 をクリックします。
権限の変更 ダイアログボックスで、対象の権限を選択し、OK をクリックします。
列レベルの暗号化の検証
構成済みの列レベルの暗号化およびデータベースアカウントの権限に基づき、暗号化列のデータアクセスを検証できます。
列レベルの暗号化は、サードパーティ製クライアントと完全には互換性がありません。たとえば、Data Management (DMS) を使用して暗号化されたデータを表示すると、例外が発生する場合があります。暗号化されたデータにアクセスするには、列レベルの暗号化ドライバー (JDBC) を使用してください。
以下の例では、テスト用 PolarDB-X クラスターを使用し、birth_date 列が students01 テーブル内で暗号化されています。1 つのアカウントには プレーンテキスト権限 が付与され、もう 1 つには 暗号文権限(JDBC 復号) が付与されています。

暗号文権限(JDBC 復号) を持つアカウントで接続し、以下のコマンドを実行します。
SELECT * FROM students01;クエリは、
birth_date列に対して暗号文を返します。
プレーンテキスト権限 を持つアカウントで接続し、以下のコマンドを実行します。
SELECT * FROM students01;クエリは、
birth_date列に対してプレーンテキストを返します。
クライアントの使用方法
暗号文権限 (JDBC 復号) を持つアカウントの場合、列レベルの暗号化ドライバー (JDBC) を使用してデータベースに接続します。このドライバーは暗号文を自動的に復号し、プレーンテキストを Java アプリケーションに返します—これはアプリケーション コードに対して透明です。設定手順については、「列レベルの暗号化ドライバー (JDBC)」をご参照ください。
よくある質問
PolarDB-X クラスターの暗号化チェックが失敗した場合の対処方法
まず、クラスターが 実行中 の状態であることを確認してください。実行中の状態でないクラスターには、列レベルの暗号化を構成できません。
クラスターが実行中であるにもかかわらず、暗号化チェック が依然として 不合格 と表示される場合は、インスタンスのバージョンが polardb-2.5.0_5.4.20-20250714_xcluster8.4.20-20250703 よりも古い可能性があります。マイナーエンジンバージョンをアップグレードしてください。
インスタンスの詳細ページで、マイナーエンジンバージョンをアップグレードします。詳細な手順については、「インスタンスのバージョンの表示およびアップグレード」をご参照ください。
アップグレード後に、DSC でアセットを同期して、最新のデータベース情報を取得します。
Data Security Center コンソール にログインします。左側ナビゲーションウィンドウから アセットセンター > 権限付与管理 > アセット権限付与管理 を選択します。
製品ナビゲーションウィンドウで、対象のクラスタータイプをクリックします。
アセットの同期 をクリックします。
次のステップ
列レベルの暗号化の仕組みとその設計原則のバックグラウンドについては、「列レベルの暗号化の概要」をご参照ください。
権限付与後に暗号化された列内の機密データが変更された場合は、再スキャンしてください。詳細については、「検出タスクを使用した機密データのスキャン」をご参照ください。