Top
Enterprise Postgres 17 SP1 Knowledge DataManagement FeatureUser's Guide

4.5.2 Restricting Access to Graph

Access to a graph is restricted by access control for the database objects that make up the graph. Access restrictions are set using the confidentiality management feature of Fujitsu Enterprise Postgres. Since graphs have a one-to-one correspondence with schema objects, you can allow or deny access to a graph by specifying access rights for that schema using the confidentiality management feature as follows:

  1. Refer to the "Confidentiality Management" in the Security Operations Guide to define confidentiality management role, confidentiality matrix, confidentiality level, and confidentiality group.

  2. Grant confidentiality privilege on the schema to the confidentiality group.

    SELECT pgx_grant_confidential_privilege('rag_matrix', 'level1', 'group1',  '{"schema":["USAGE"]}');
  3. Add the schema corresponding to the graph as a confidentiality object to the confidentiality level.

    SELECT pgx_add_object_to_confidential_level ('rag_matrix', 'level1',  
    '[{ 
        "type":"schema", 
        "object":[ 
            { 
              "schema":"new_graph" 
            } 
        ] 
    }]');
  4. Add roles to the confidentiality group you created to set access rights to the graph.

    SELECT pgx_add_role_to_confidential_group('rag_matrix', 'group1', '["rag_user"]');

If you want to set fine-grained access privileges, such as allowing only searches of graphs but not updating them, you can use SQL statements to directly set access privileges for database objects such as the tables that make up the graph.

The privileges required to access a graph are as follows:

Information

Graph data structures do not have the concept of rows and columns, so PostgreSQL's row-level security and column-based access control features cannot be applied.