機密管理支援機能は、関数とテーブルを提供します。
一部の関数は、機密マトリクスなどを定義、変更、あるいは削除します。これらの関数は、それ自身が実行されたことを示す監査ログを出力するので、不正な操作が行われたことを後から確認することができます。
また、この機能が提供するテーブルを直接的に参照したり、参照を助ける関数を使って定義した内容を確認したりすることができます。
また、一部の関数は、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_confidential_object
pgx_confidential_policy
定義を追加、削除または更新するための関数
これらの関数は、それ自身が実行されたことを示す監査ログを出力します。
関数名 | 説明 |
---|---|
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 | 指定された機密マトリックスに登録されたすべてのオブジェクトについて、以下を比較できるような一覧を表示します。
|
定義の手順を説明します。