GaussDB-应用安全标签

GaussDB-应用安全标签

前提条件

数据库正常运行,执行操作的用户需要具有SYSADMIN权限或者继承了内置角色gs_role_seclabel的权限。

背景信息

  • 提供系统表pg_seclabel来查看表或表列上的安全标签:
    SELECT * FROM pg_seclabel;
     
  • 提供系统表pg_shseclabel来查看用户/角色上的安全标签:
    SELECT * FROM pg_shseclabel;
     
  • 提供系统视图pg_seclabels来查看系统中所有的安全标签记录:
    SELECT * FROM pg_seclabels;
     

操作步骤

数据库中已有用户user1、user2和数据表tbl。

  1. 对用户user1应用安全标签label1,表示用户user1对应的信息等级为公开,范围为二层和四层。

     

    gaussdb=# SECURITY LABEL ON USER user1 is 'label1';
     

     

  2. 对用户user2应用安全标签label3,表示用户user2对应的信息等级为绝密,范围为一层到五层。

     

    gaussdb=# SECURITY LABEL ON USER user2 is 'label3';
     

     

  3. 对表tbl应用安全标签label2,表示表tbl对应的信息等级为秘密,范围为二层到四层。

     

    gaussdb=# SECURITY LABEL ON TABLE tbl is 'label2';
     
  4. 查询系统视图pg_seclabels。

     

    gaussdb=# SELECT * FROM pg_seclabels;
     

    查询结果如下:

    gaussdb=# SELECT * FROM pg_seclabels;
     objoid | classoid | objsubid | objtype | objnamespace | objname | provider | label
    --------+----------+----------+---------+--------------+---------+----------+--------
      16399 |     1259 |        0 | table   |         2200 | tbl     | maclabel | label2
      16391 |     1260 |        0 | role    |              | user1   | maclabel | label1
      16395 |     1260 |        0 | role    |              | user2   | maclabel | label3
    (3 rows)
     

     

 
posted @ 2024-12-25 11:25  jerrywang1983  阅读(4)  评论(0)    收藏  举报