透過的データ暗号化を使用するには、キーストアを作成し、マスタ暗号化キーを設定する必要があります。
postgresql.confのshared_preload_librariesパラメータに、ライブラリ名“tde_kms”を指定してロードします。
shared_preload_libraries = 'tde_kms'
アダプタを利用する場合、アダプタをプラグインとして登録します。プラグインの格納場所のディレクトリをpostgresql.confのtde_kms.plugin_pathパラメータに指定します。使用するプラグインはこのディレクトリに格納します。
tde_kms.plugin_path = '/home/fsepuser/plugin/'
テーブル空間暗号化キーを共有する場合は、postgresql.confのtde_kms.enable_shared_dekパラメータに“on”を設定します。
tde_kms.enable_shared_dek = on
postgresql.confのtde_kms.kms_conninfo_fileパラメータに、鍵管理システムの接続情報を記述したファイルを設定します。パラメータの詳細については、“付録A パラメータ”を参照してください。
tde_kms.kms_conninfo_file = 'kms_conninfo.conf'
タイプkmipの場合
kmip mykmipsvr mykmipsvr.example.com 5696 cert sslcert=postgres.crt sslkey=postgres.key sslrootcert=root.crt
タイプcustomの場合
custom mykms mykms arg=--profile arg=user1
CREATE EXTENSION文を実行し、拡張モジュールをインストールします。
CREATE EXTENSION tde_kms;
透過的データ暗号化を有効化するために、pgx_declare_external_master_key関数を呼び出して、マスタ暗号化キーとして使用する暗号化キーを宣言します。暗号化キーを特定するための識別子として、鍵IDを指定します。pgx_declare_external_master_key関数については、“B.2.3 pgx_declare_external_master_key”を参照してください。
SELECT pgx_declare_external_master_key( kms_name => 'mykmipsvr', key_id => 'a0eebc99-9c0b-0000-0000-000000000000', sslpassphrase => 'mykmippassphrase' );