鍵管理システムを利用したTDEを有効化するためには、“spec.fepChildCrVal.customPgParams”と“spec.fepChildCrVal.sysTde”の設定が必要です。
fepChildCrVal.customPgParamsセクションでは、以下のパラメータを定義する必要があります。
「tde_kms」ライブラリをshared_preload_librariesのライブラリのリストに追加します。
例)
spec: fep: … fepChildCrVal: … customPgParams: shared_preload_libraries='pgx_datamasking,pg_prewarm,pg_stat_statements,tde_kms'
クラスタ作成後に「tde_kms」ライブラリを「shared_preload_libraries」リストから削除しないでください。
sysTdeセクションをspec.fepChildCrValの下に追加して、鍵管理システムへの接続に必要なパラメータを定義します。sysTdeの下には、下記の2つのパラメータが定義されています。
tdeType
tdek
sysTde自体はオプションのパラメータです(sysTdeが定義されていない場合、ファイルベースのキーストアを使用します)。ただし、sysTdeがユーザーによって定義されている場合は、sysTde.tdeTypeも定義する必要があります。
鍵管理システムを利用したTDEを構成する場合は、sysTde.tdeTypeを「tdek」に設定します。
例)
sysTde: tdeType: tdek
sysTde.tdeTypeを「tdek」に設定した場合、sysTde.tdekも定義する必要があります。
sysTde.tdek.kmsDefinitionには鍵管理システムの接続情報を定義します。ここに定義された情報を基にオペレーターがFujitsu Enterprise Postgresで利用される鍵管理システム接続情報ファイルを作成します。
kmsDefinitionには複数の鍵管理システムの情報を定義できます。typeにはその鍵管理システムの種別(kmip,awskms,azurekeyvaultのいずれか)を指定します。
例)
sysTde: tdeType: tdek tdek: targetKmsName: kms_conninfo1 kmsDefinition: - name: kms_conninfo1 type: kmip ...
各パラメータの詳細は、“オペレーターリファレンス”を参照してください。
“4.12.1 認証情報の登録”で作成したSecretまたはConfigMapの名前を、kmsDefinition配下の対応するパラメタに指定します。typeがawskmsの場合、profileには、AWS クライアントインターフェイスの設定ファイル内にあるプロファイルのうち、使用するプロファイルの名前を指定します。
例)
spec: fep: … fepChildCrVal: … sysTde: tdeType: tdek tdek: targetKmsName: kms_conninfo1 targetKeyId: xxxyyyzzz kmsDefinition: - name: kms_conninfo1 type: kmip address: xxx.xxx.xxx.xxx port: 100 authMethod: cert sslpassphrase: ssl-password cert: certificateName: kmip-cert caName: kmip-cacert sslcrlName: kmip-crl
kmsDefinitionで定義した鍵管理システムの中から、キーストアとして使用する鍵管理システムの名前(name)をsysTde.tdek.targetKmsNameに指定します。sysTde.tdek.targetKeyIdには、マスタ暗号化キーとして使用するその鍵管理システム内にある暗号化キーの鍵IDを指定します。