以下の引数が与えられます。
引数の値 | 備考 | |
---|---|---|
第1引数 | encrypt | 固定 |
第2引数 | --keyid | 固定 |
第3引数 | keyid | 可変。pgx_declare_external_master_key関数で指定された鍵IDが渡されます |
第4引数以降 | extraarg | 鍵管理システム接続情報ファイルのextra-argsに指定した値があれば、それが指定された順番で渡されます |
以下の環境変数が与えられます。
環境変数の名前 | 環境変数の値 | 備考 |
---|---|---|
TDE_KMS_SECRET | KMSシークレット | キーストアのオープンのためにFujitsu Enterprise Postgresに入力した文字列です |
コマンドは以下の復帰値で終了します。
復帰値 | 条件 |
---|---|
0 | 処理が正常に終了した場合 |
0以外 | 処理が正常終了しなかった場合 |
プラグインに対してデータは以下の方法で受渡されます。またプラグインは以下の方法で結果を返却します。
区分 | データの内容 | 受渡しの方法 | 備考 |
---|---|---|---|
入力 | 暗号化対象のデータ | プラグインの標準入力 | そのままの形式(Base64エンコードなどではありません) |
入力 | 鍵ID | 引数 | |
入力 | 暗号化パラメタ | - | Fujitsu Enterprise Postgresからは渡されません |
出力 | 暗号化結果 | プラグインの標準出力 | そのままの形式(Base64エンコード等ではありません) |
出力 | 処理のステータス | プラグインの復帰コード | |
出力 | メッセージ | プラグインの標準エラー出力 | 印字可能であることが期待されます |
マスタ暗号化キーによる暗号化が必要な際に呼び出されます。
与えられた暗号化対象データを指定された鍵IDで識別される暗号化キーで暗号化し、その結果を返却します。返却された暗号化結果は、同じ鍵IDで復号できる必要があります。
暗号化対象のデータが漏洩しないように実装してください。例えば、平文である暗号化対象のデータをファイルに一時的にでも保存することには漏洩のリスクがあります。
復号時に暗号化時と同じ暗号化パラメタが必要な場合、それを保証するのはプラグインの責任です。Fujitsu Enterprise Postgresは復号時に以下だけを保証します。
復号時に、暗号化時と同じ鍵IDをわたすこと
復号時に、「暗号化」操作の結果として受取ったデータをそのまま渡すこと
Fujitsu Enterprise Postgresから渡される暗号化対象のデータは、最大で2048バイトです。