暗号化テーブル空間を作成したり暗号化データにアクセスするには、キーストアをオープンしておく必要があります。キーストアをオープンすると、マスタ暗号化キーがデータベースサーバのメモリにロードされ、暗号化と復号に利用できるようになります。
インスタンスを起動するたびにキーストアをオープンしてください。キーストアをオープンするには、データベースのスーパーユーザーが次のようにSQL関数を実行します。
SELECT pgx_open_keystore('passphrase');
passphraseはキーストアの作成時に指定したパスフレーズです。
pgx_open_keystore関数の詳細は、“B.2 透過的データ暗号化制御関数”を参照してください。
ただし、以下の場合には、リカバリのために暗号化されたWALを復号する必要があるため、インスタンスを起動する時にパスフレーズの入力が必要になります。この場合は、上述のpgx_open_keystore関数を実行することができません。
インスタンス起動時にクラッシュリカバリが行われる場合
継続的アーカイブによるリカバリを行う場合
上記の場合には、以下のいずれかの方法を選択してください。
自動オープン・キーストアを使用する
セキュリティ強度より運用操作の簡便さを優先する場合に選択してください。自動オープン・キーストアを使用すると、キーストアファイルの内容を復号してキーストアファイルのコピーを生成します。このファイルの内容は難読化されていますが、セキュリティ強度が若干弱くなります。
WebAdminを使用して運用操作を行っている場合は、こちらを選択してください。
インスタンスの起動時にパスフレーズを入力する
セキュリティ強度を運用操作のしやすさより優先する場合に選択してください。
pg_ctlコマンドに--keystore-passphraseオプションを指定して起動します。パスフレーズの入力を促すプロンプトが表示されます。
> pg_ctl --keystore-passphrase start パスフレーズを入力してください: サーバは起動中です >
上記操作の後、一度、pg_ctlコマンドでインスタンスを停止してください。
そして、Windowsサービスからインスタンスを起動してください。Windowsサービスからインスタンスを起動する方法については、“2.1.2 コマンドを利用する場合”を参照してください。
ポイント
自動オープン・キーストアを使用すると、パスフレーズを入力することなく、インスタンスの起動時に自動的にキーストアをオープンできます。詳細は“5.6.3 キーストアの自動オープンの有効化”を参照してください。