更新时间:2026-07-03 GMT+08:00
分享

角色管理

Aura的权限管理模型,是一种典型的RBAC(基于角色的权限控制)的实现,将用户、角色、权限通过此模型管理起来。

角色是一组权限的集合:

  • 按照数据库系统中承担的责任划分具有不同权限的角色。角色是数据库权限的集合,代表了一个用户或一组用户的行为约束。
  • 通过GRANT语句把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。例如,可以为设计、开发和维护人员创建不同的角色,将角色GRANT授予给用户后,再向每个角色中的用户授予其所需数据的差异权限。在角色级别授予或撤销权限时,权限更改会对角色下的所有成员生效。

查询角色

SELECT * FROM pg_show_roles();

角色管理

  • 创建角色
    CREATE ROLE role_name [ COMMENT 'comment_text' ];
  • 删除角色
    DROP ROLE [ IF EXISTS ] role_name;
  • 修改角色
    ALTER ROLE role_name COMMENT 'modify COMMENT';
  • 角色关联用户
    • 修改用户关联角色
      ALTER USER user1 WITH ROLE role1;
    • 修改角色关联用户
      ALTER ROLE role1 ADD USER user1;
  • 角色关联用户组
    • 修改用户组关联角色
      ALTER USER GROUP group1 WITH ROLE role1;
    • 修改角色关联用户组
      ALTER ROLE role1 ADD USER GROUP group1; 
  • 角色关联代理
    ALTER ROLE role1 ADD AGENT agent1;
  • 移除关联
    • 移除角色关联的用户
      ALTER ROLE role1 DROP USER user1;
    • 移除角色关联的用户组
      ALTER ROLE role1 DROP USER GROUP group1;
    • 移除角色关联的代理
      ALTER ROLE role1 DROP AGENT agent1;

相关文档