キーストアの破損や消失に備え、次のときにはキーストアをバックアップしてください。ただし、データベースとキーストアは別々の記憶媒体に保管してください。両方を同じ記憶媒体に格納した場合、その記憶媒体が盗まれると、暗号化データを解読されるおそれがあります。自動オープン・キーストアのオープンにはパスフレーズが必要ないため、特に安全な場所に保管してください。
最初にマスタ暗号化キーを設定したとき
マスタ暗号化キーを変更したとき
データベースをバックアップするとき
キーストアのパスフレーズを変更したとき
ポイント
キーストアをバックアップするときには、古いキーストアを上書きしないようにしてください。なぜなら、データベースをリカバリするときには、データベースのバックアップを取得した時点のキーストアをリストアする必要があるためです。データベースのバックアップデータが不要になったら、それに対応するキーストアを削除してください。
例
2015年5月1日にデータベースとキーストアをバックアップします。
> pgx_dmpall -D /database/inst1 > cp -p /key/store/location/keystore.ks /keybackup/keystore_20150501.ks
pgx_dmpallコマンドには、以下を指定します。
-Dオプションは、データ格納先のディレクトリを指定します。-Dオプションを省略した場合、PGDATA環境変数の値が使用されます。
2015年5月5日にマスタ暗号化キーを変更し、キーストアをバックアップします。
> psql -c "SELECT pgx_set_master_key('passphrase')" postgres > cp -p /key/store/location/keystore.ks /keybackup/keystore_20150505.ks
psqlコマンドには、以下を指定します。
-cオプションは、マスタ暗号化キーを設定するSQL関数を指定します。
引数は、接続するデータベース名を指定します。
キーストアが破損または消失した場合には、最新のマスタ暗号化キーが含まれるキーストアをリストアしてください。もし最新のマスタ暗号化キーを含むキーストアがない場合は、データベースのバックアップを取得した時点のキーストアをリストアし、そのデータベースのバックアップからデータベースをリカバリしてください。これにより、キーストアも最新状態にリカバリされます。
例
最新のマスタ暗号化キーが含まれる、2015年5月5日時点のキーストアをリストアします。
> cp -p /keybackup/keystore_20150505.ks /key/store/location/keystore.ks
最新のマスタ暗号化キーが含まれるキーストアのバックアップがない場合、2015年5月1日にデータベースとともにバックアップしたキーストアをリストアしてリカバリします。
> cp -p /keybackup/keystore_20150501.ks /key/store/location/keystore.ks > pgx_rcvall -B /backup/inst1 -D /database/inst1 --keystore-passphrase
pgx_rcvallコマンドには、以下を指定します。
-Dオプションは、データ格納先のディレクトリを指定します。-Dオプションを省略した場合、PGDATA環境変数の値が使用されます。
-Bオプションは、バックアップデータ格納先のディレクトリを指定します。
--keystore-passphraseオプションは、キーストアをオープンするためのパスフレーズの入力を促します。
キーストアをリストアした際には、再度キーストアの自動オープンを有効にしてください。これにより、自動オープン・キーストア(keystore.aks)の内容が、リストアしたキーストアの内容と一致します。
自動オープン・キーストアのファイルkeystore.aksをバックアップしないことをお薦めします。万一、自動オープン・キーストアが格納されたバックアップ媒体とデータベースのバックアップ媒体の両方が盗まれてしまった場合、攻撃者はパスフレーズを知らなくてもデータを読み取れてしまうためです。
自動オープン・キーストアが破損または消失した場合には、再び自動オープンを有効にしてください。これにより、keystore.ksからkeystore.aksが再作成されます。
参照
pgx_rcvallコマンド、およびpgx_dmpallコマンドの詳細は、“リファレンス”の“pgx_rcvall”および“pgx_dmpall”を参照してください。
psqlコマンドの詳細は、“PostgreSQL文書”の“リファレンス”の“psql”を参照してください。
pgx_set_master_key関数の詳細は、“B.2 透過的データ暗号化制御関数”を参照してください。
キーストアの自動オープンの有効化については、“5.6.3 キーストアの自動オープンの有効化”を参照してください。