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

7.3 機密管理支援機能の使用方法(定義)

機密管理支援機能は、関数とテーブルを提供します。

一部の関数は、機密マトリクスなどを定義、変更、あるいは削除します。これらの関数は、それ自身が実行されたことを示す監査ログを出力するので、不正な操作が行われたことを後から確認することができます。

また、この機能が提供するテーブルを直接的に参照したり、参照を助ける関数を使って定義した内容を確認したりすることができます。

また、一部の関数は、PostgreSQLのシステムカタログに定義されている機密オブジェクトの属性と、その機密オブジェクトに設定されているべき属性を出力します。これらを使用することで属性を比較できます。

詳細は、“付録B 機密管理支援機能が利用するシステム管理関数”を参照してください。

pgx_confidential_management_support拡張が含むテーブル

テーブル名

説明

pgx_confidential_matrix

機密マトリクスの一覧です。

登録された機密マトリクスの属性、更新時刻、あるいは、機密レベルや機密グループを登録または削除した時刻などを参照できます。

pgx_confidential_level

機密レベルの一覧です。

登録された機密レベルの属性、更新時刻、あるいは、機密レベルに機密オブジェクトを登録または削除した時刻などを参照できます。

pgx_confidential_group

機密グループの一覧です。

登録された機密グループの属性、更新時刻、あるいは、機密グループにロールを登録または削除した時刻などを参照できます。

pgx_confidential_privilege

機密権限の一覧です。

機密オブジェクトごとに設定された機密権限、あるいは、更新時刻などを参照できます。

pgx_confidential_object

機密オブジェクトの一覧です。

オブジェクトの属性、あるいは、更新時刻などを参照できます。

pgx_confidential_role

機密グループに登録されたロールの一覧です。

ロールの属性、あるいは、更新時刻などを参照できます。

pgx_confidential_policy

rowset型の機密オブジェクトに権限を設定するために作成したポリシーの一覧です。作成したポリシーの名前、設定している権限を参照できます。

このテーブルの行は、rowset型の機密オブジェクトを追加したときに挿入されます。

定義を追加、削除または更新するための関数を実行すると、各テーブルの行が追加、削除または更新されます。

また、対象の機密オブジェクトがDROP TABLE文などにより削除された場合にも、以下のテーブルから削除されます。

定義を追加、削除または更新するための関数

これらの関数は、それ自身が実行されたことを示す監査ログを出力します。

関数名

説明

pgx_create_confidential_matrix

機密マトリクスを作成します。

pgx_alter_confidential_matrix

機密マトリクスの属性を変更します。

pgx_drop_confidential_matrix

機密マトリクスを削除します。

pgx_copy_confidential_matrix

機密マトリクスを複製します。

pgx_create_confidential_level

機密レベルを作成し、機密マトリクスに登録します。

pgx_alter_confidential_level

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

pgx_drop_confidential_level

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

pgx_create_confidential_group

機密グループを作成し、機密マトリクスに登録します。

pgx_alter_confidential_group

機密グループの属性を変更します。

pgx_drop_confidential_group

機密マトリクスから機密グループを除去し、機密グループを削除します。

pgx_grant_confidential_privilege

機密権限を付与します。

pgx_revoke_confidential_privilege

機密権限を剥奪します。

pgx_add_object_to_confidential_level

機密レベルに機密オブジェクトを追加します。

pgx_remove_object_from_confidential_level

機密レベルから機密オブジェクトを除去します。

pgx_add_role_to_confidential_group

機密グループにロールを追加します。

pgx_remove_role_from_confidential_group

機密グループからロールを除去します。

定義参照およびシステムカタログと比較を支援する関数

関数名

説明

pgx_get_attribute_of_objects

指定した機密マトリクスに登録されているすべての機密オブジェクトに関して、機密マトリクスで規定されている属性と、実際にデータベース上で設定されている属性を表示します。

pgx_get_attribute_of_roles

指定した機密マトリクスに登録されているすべてのロールについて、機密マトリクスにて規定されている属性と、実際にシステムカタログで設定されている属性とを表示します。

pgx_get_privileges_on_level_and_group

指定された機密レベルに登録されている機密オブジェクトと、指定された機密グループに登録されているロールの組み合わせについて、以下を比較できるような一覧を表示します。

  • 指定されたロールに付与されるべき、機密権限の設定値によって規定された権限

  • 実際のシステムカタログで付与されている権限

pgx_get_privileges_on_object

指定された機密オブジェクトについて、以下を比較できるような一覧を表示します。

  • すべてのロールに付与されるべき、機密権限の設定値によって規定された権限

  • 実際のシステムカタログで付与されている権限

pgx_get_privileges_on_role

すべての機密オブジェクトについて、以下を比較できるような一覧を表示します。

  • 指定されたロールに付与されるべき、機密権限の設定値によって規定された権限

  • 実際のシステムカタログで付与されている権限

pgx_get_privileges_on_matrix

指定された機密マトリックスに登録されたすべてのオブジェクトについて、以下を比較できるような一覧を表示します。

  • 機密マトリクスに登録されたすべてのロールに付与されるべき、機密権限の設定値によって規定された権限

  • 実際のシステムカタログで付与されている権限


定義の手順を説明します。