ページの先頭行へ戻る
Enterprise Postgres 15 セキュリティ運用ガイド

B.2 機密レベル操作関数

関数名

戻り値

説明

pgx_create_confidential_level(confidential_matrix_name varchar, confidential_level_name varchar, options json, comment text)

void

機密レベルを作成し、指定された機密マトリクスに登録し、指定されたcommentやoptionsに指定された属性とともにpgx_confidential_levelテーブルに追加します。

指定された機密マトリクスの機密管理ロールだけが、この関数を実行できます。

confidential_level_nameの長さは、64文字未満でなければなりません。

単位がバイトではないことに注意してください。

confidential_level_name名に使える文字に制限はありません。

他の関数に機密レベルの名前を指定するときには、この関数に指定した文字列と同じ文字列を指定しなければなりません

多くのCREATE文とは違って、機密レベルの名前は大文字と小文字を区別することに注意してください。

commentには、コメントを指定してください。

optionsには以下のように、機密レベルの属性を指定します。もしNULLを指定したならば、各属性のデフォルト値が設定されます。

'{
  "encryption_algorithm":"AES256"
}'

encryption_algorithm: 暗号化アルゴリズムを指定してください。指定できるアルゴリズムとデフォルト値は、Fujitsu Enterprise Postgresの透過的データ暗号化のtablespace_encryption_algorithmパラメータと同じです。nullを指定してはなりません。

pgx_alter_confidential_level(confidential_matrix_name varchar, confidential_level_name varchar, alter_object json)

void

機密レベルの属性を変更します。

指定された機密マトリクスの機密管理ロールだけが、この関数を実行できます。

alter_objectには以下のように、変更したい属性と変更後の値をkey-value形式で指定します。

'{
  "name":"level_new",
  "comment":"This level is the highest confidential level.",
  "encryption_algorithm":"AES256"
}'

name: 変更後の機密レベルの名前を指定します。nullを指定できません。

comment: 変更後のコメントを指定してください。nullを指定できます。

その他の属性は、pgx_create_confidential_level()のoptionsと同じです。指定されなかった属性は変更されません。

機密性の度合いを上げるときには注意が必要です。例えば、暗号化の強度を強くするときに、変更後の強度よりも低い機密オブジェクトがあったならば、この関数は失敗します。

pgx_drop_confidential_level(confidential_matrix_name varchar, confidential_level_name varchar, cascade bool)

void

機密マトリクスから機密レベルを除去し、機密レベルを削除します。

指定された機密マトリクスの機密管理ロールだけが、この関数を実行できます。

cascadeにtrueを指定すると、この機密レベルに機密オブジェクトが登録されていても機密レベルを削除することができます。

cascadeにfalseを指定すると、機密オブジェクトが登録されているような機密レベルを削除することができません。