ページの先頭行へ戻る
Enterprise Postgres 17 SP1 運用ガイド

6.2 マスタ暗号化キーの設定

透過的データ暗号化を使用するには、キーストアを作成し、マスタ暗号化キーを設定する必要があります。

  1. postgresql.confのshared_preload_librariesパラメータに、ライブラリ名“tde_kms”を指定してロードします。

    shared_preload_libraries = 'tde_kms'
  2. アダプタを利用する場合、アダプタをプラグインとして登録します。プラグインの格納場所のディレクトリをpostgresql.confのtde_kms.plugin_pathパラメータに指定します。使用するプラグインはこのディレクトリに格納します。サンプルを使用する場合はこのディレクトリにコピーします。プラグインファイルには、Fujitsu Enterprise Postgresのサーバを起動するOSユーザーに対する実行権限が必要です。

    tde_kms.plugin_path = '/home/fsepuser/plugin/'
  3. テーブル空間暗号化キーを共有する場合は、postgresql.confのtde_kms.enable_shared_dekパラメータに“on”を設定します。

    tde_kms.enable_shared_dek = on
  4. postgresql.confのtde_kms.kms_conninfo_fileパラメータに、鍵管理システムの接続情報を記述したファイルを設定します。パラメータの詳細については、“付録A パラメータ”を参照してください。

    鍵管理システム接続情報ファイルkms_conninfo.confの場合の例
    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の場合(AWS用のサンプルプラグインを利用する場合)

    custom   mykms   aw-kms-plugin.sh   arg=--profile arg=user1

    タイプcustomの場合(Azure用のサンプルプラグインを利用する場合)

    custom   mykms   az-kms-plugin.sh  kms-secret-obf=password.ksc arg=--auth-method arg=password arg=--user-id arg=ApplicationId arg=--tenant arg=TenantId arg=--algorithm arg=A256GCM
  5. CREATE EXTENSION文を実行し、拡張モジュールをインストールします。

    CREATE EXTENSION tde_kms;
  6. 透過的データ暗号化を有効化するために、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' );