Top
Enterprise Postgres 17 Security Operation Guide

7.3 How to Use Confidentiality Management Feature (Definition)

Confidentiality management feature provides functions and tables.

Some functions define, change, or drop confidentiality matrices, etc. These functions will output an audit log indicating that they were executed, so you can later confirm that an illegal operation was performed.

In addition, you can directly refer to the table provided by this feature and check the defined contents using functions that help referencing.

Also, some functions output the attributes of confidentiality objects defined in the PostgreSQL system catalog and the attributes that should be set for that confidentiality object. You can use these to compare attributes.

For details, refer to "Appendix B System Management Functions Used by Confidentiality Management Feature".

Tables included by the pgx_confidential_management_support extension

Table name

Description

pgx_confidential_matrix

A list of confidentiality matrices.

You can refer to the attributes of the registered confidentiality matrix, the update time, or the time when the confidentiality level or confidentiality group was registered or deleted.

pgx_confidential_level

A list of confidentiality levels.

You can refer to the registered confidentiality level attributes, update time, or the time when a confidentiality object was registered to the confidentiality level or removed from the confidentiality level.

pgx_confidential_group

A list of confidentiality groups.

You can refer to the registered confidentiality group attributes, update time, or the time when a role was registered to the confidentiality group or removed from the confidentiality group.

pgx_confidential_privilege

A list of confidentiality privileges.

You can refer to confidentiality privilege set for each confidentiality object, update time, and so on.

pgx_confidential_object

A list of confidentiality objects.

You can refer to object attributes or update time, and so on.

pgx_confidential_role

A list of roles registered in the confidentiality group.

You can refer to role attributes or update time, and so on.

pgx_confidential_policy

This is a list of policies created to set privileges for rowset-type confidentiality objects. You can refer to the name of the policy you created and the privileges it has set.

Rows in this table are inserted when you add a rowset-type confidentiality object.

Rows in each table are added, deleted, or updated when you execute functions to add, delete, or update definitions.

Also, if the target confidentiality object is deleted by a DROP TABLE statement, etc., it will also be deleted from the following tables.

Functions for adding, removing or updating definitions

These functions will print an audit log indicating that they were executed.

Function name

Description

pgx_create_confidential_matrix

Create a confidentiality matrix.

pgx_alter_confidential_matrix

Change the attributes of the confidentiality matrix.

pgx_drop_confidential_matrix

Drop the confidentiality matrix.

pgx_copy_confidential_matrix

Copy the confidentiality matrix.

pgx_create_confidential_level

Create confidentiality levels and register them in the confidentiality matrix.

pgx_alter_confidential_level

Change the confidentiality level attribute.

pgx_drop_confidential_level

Remove a confidentiality level from the confidentiality matrix and drop a confidentiality level.

pgx_create_confidential_group

Create a confidentiality group and register it in the confidentiality matrix.

pgx_alter_confidential_group

Change the attributes of a confidentiality group.

pgx_drop_confidential_group

Remove confidentiality groups from the confidentiality matrix and drop confidentiality group.

pgx_grant_confidential_privilege

Grant confidentiality privileges.

pgx_revoke_confidential_privilege

Revoke confidentiality privileges.

pgx_add_object_to_confidential_level

Add confidentiality objects to the confidentiality level.

pgx_remove_object_from_confidential_level

Removes confidentiality objects from the confidentiality level.

pgx_add_role_to_confidential_group

Add a role to a confidentiality group.

pgx_remove_role_from_confidential_group

Remove a role from a confidentiality group.

Functions that Support Definition Referencing and Comparison with System Catalogs

Function name

Description

pgx_get_attribute_of_objects

For all confidentiality objects registered in the specified confidentiality matrix, displays the attributes defined in the confidentiality matrix and the attributes actually set in the database.

pgx_get_attribute_of_roles

For all roles registered in the specified confidentiality matrix, displays the attributes defined in the confidentiality matrix and the attributes actually set in the system catalog.

pgx_get_privileges_on_level_and_group

Displays a list of combinations of confidentiality objects registered with the specified confidentiality level and roles registered with the specified confidentiality group, such that the following can be compared.

  • Privileges specified by the confidentiality privilege settings that should be granted to the specified role

  • Privileges granted in the actual system catalog

pgx_get_privileges_on_object

For the specified confidentiality object, display a list that allows you to compare the following:

  • Privileges dictated by confidentiality privilege settings that should be granted to all roles

  • Privileges granted in the actual system catalog

pgx_get_privileges_on_role

For all confidentiality objects, display a list that allows you to compare:

  • Privileges specified by the confidentiality privilege settings that should be granted to the specified role

  • Privileges granted in the actual system catalog

pgx_get_privileges_on_matrix

For all objects registered in the specified confidentiality matrix, display a list that allows you to compare:

  • Privileges defined by confidentiality privilege settings that should be granted to all roles registered in the confidentiality matrix.

  • Privileges granted in the actual system catalog


Describe the definition procedure.