通常のデータと機密データを明確に区別するために、完全暗号化データベース機能では、機密データと頻繁に使用されるSQL演算子のデータ型を定義できます。 機密データおよび関連するSQL演算子のデータ型の詳細については、「サポートされている機能」をご参照ください。
機密データの新しいデータ型
ビジネス要件に基づいて、機密データと通常データを区別する必要があります。 テーブルスキーマで機密データのデータ型を定義する必要があります。
次の例では、テーブルスキーマについて説明します。
CREATE TABLEの例 (
account integer, -- INTEGER型の平文データに対応するアカウント。
name text, -- TEXT型の平文データに対応する名前。
balance real, -- REAL型の平文データに対応する口座残高。
realタイプの平文データに対応するアカウントのクレジットライン。
quota real, -- 平文列。
address text, -- TEXT型の平文データに対応するアドレス。
備考テキスト、-説明。
PRIMARY KEY (account) -- アカウント列が主キーとして使用されることを指定します。
);
上記のテーブルスキーマでは、account
、name
、balance
、credit
、およびaddress
は、ビジネス要件に基づいて定義される機密データフィールドです。 次の例では、完全暗号化データベースのテーブルスキーマの機密データフィールドについて説明します。
CREATE TABLEの例 (
account enc_int4, -- INTEGER型の平文データに対応するアカウント。
name enc_text, -- TEXT型の平文データに対応する名前。
balance enc_float4, -- REAL型の平文データに対応する口座残高。
credit enc_float4, -- REALタイプの平文データに対応するアカウントのクレジットライン。
quota real, -- 平文列。
address enc_text, -- TEXT型の平文データに対応するアドレス。
発言テキスト、-発言。
PRIMARY KEY (account) -- アカウント列が主キーとして使用されることを指定します。
);
既存の正規データから機密データへの変換
ALTER TABLE
ステートメントを実行して、既存のテーブルを個別に設定し、テーブル内の平文の通常データを暗号文の機密データに変換できます。 詳細については、「平文と暗号文の間のデータ変換」をご参照ください。
次に何をすべきか
機密データのデータ型を定義したら、必要に応じて完全暗号化データベース機能を使用できます。 クライアントの完全暗号化データベース機能を使用してRDSインスタンスに接続する方法の詳細については、「クライアントからの完全暗号化データベース機能の使用」をご参照ください。