更新时间:2023-03-08 GMT+08:00

用户和角色是什么关系?

用户和角色在整个集群范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
  • 角色(ROLE)本质上是一组权限的集合,通常情况下使用ROLE来组织权限,使用用户进行权限的管理和业务操作。
  • 角色之间的权限可以继承,用户组的所有用户可自动继承对应角色的权限。
  • 数据库中USER与ROLE的关系为:USER的权限来自于ROLE。
  • 用户组包含了具有相同权限的用户集合。
  • 用户可以看作是具有登录权限的角色。
  • 角色可以看作是没有登录权限的用户。

Gauss(DWS)提供的权限包括“管控面”各组件的操作维护权限,在实际应用时需根据业务场景为各用户分别配置不同权限。为了提升权限管理的易用性,“管控面”引入角色的功能,通过选取指定的权限并统一授予角色,以权限集合的形式实现了权限集中查看和管理。

集中权限管理中权限、角色和用户的关系如下图所示。

DWS提供多种权限,根据业务场景实际需要选择指定的权限授予不同角色,可能是一个或者多个权限对应一个角色。

通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。只对自己的表有所有权限,对其他用户放在属于各自模式下的表无权限。

  • 角色A:授予操作权限A和B,用户A和用户B通过分配角色A取得对应的权限。
  • 角色B:授予操作权限C,用户C通过分配角色B取得对应的权限。
  • 角色C:授予操作权限D和E,用户C通过分配角色C取得对应的权限。