一文带你学习DWS数据库用户权限设计与管理 (2)

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

这样一方面对普通用户屏蔽了内部的权限管理细节,另一方面对管理员简化了权限管理的操作方法,提升了权限管理的易用性和用户体验。

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

图1 权限管理与用户关联示意图

一文带你学习DWS数据库用户权限设计与管理

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

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

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

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

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

3 基于角色的权限管理模型

Ø 系统中的权限:

系统权限:系统规定用户使用数据库的权限

对象权限:在表、序列、函数等数据库对象上执行特殊动作的权限。

Ø 借助角色机制:

当给一组权限相同的用户授权时,不需对这些用户逐一授权。

通过将角色付给一个用户可是的该用户拥有这个角色中的所有权限。

一个用户可以属于不同的角色,拥有不同角色的权限。

Ø 普通模式下:

数据库管理员和业务用户(只读用户、只写用户、读写用户)

p 在角色机制下,角色被视为一个数据库用户或者一组数据库用户。

p 数据库用户主要用途是连接数据库、访问数据库对象和执行SQL语句。

p 通常使用ROLE来组织权限,使用用户进行实际用户操作。

p 角色之间的权限可以继承,用户组的所有用户自动继承角色的权限。

4 权限种类及对象列表 4.1 角色权限与对象权限

Ø 角色是权限的集合,权限限制了用户的行为

Ø 通过为用户分配角色,限定用户的权利范围

Ø 使用角色管理权限,更加有效

Ø 使用角色管理其所有用户权限,更加统一

Ø 角色可以被派生(开启资源管控,层级两层)

Ø 角色的对象权限集合可以被继承,系统权限无法继承

4.2 涉及权限的数据库对象

数据库(DATABASE)、用户(USER)、模式(SCHEMA)、表(TABLE)、函数(FUNCTION)、表空间(TABLESPACE)、类型(TYPE)、角色(ROLE)

一文带你学习DWS数据库用户权限设计与管理

4.3 查看对象权限

通过系统表字段查看对象权限变化:

1、用户mytbl1为用户along1所拥有的表,且表along2对mytbl1有select(r)查询权限。

#select relname,relacl from pg_class where relname = 'mytbl1';

relname | relacl

---------+-----------------------------------------

mytbl1 | {along1=arwdDxt/along1,along2=r/along1}

2、将mytbl1的插入权限赋给along2。

# grant insert on along1.mytbl1 to along2;

3、查看到用户along2已经拥有了对mytbl1的insert(a)权限。

# select relname,relacl from pg_class where relname = 'mytbl1';

relname | relacl

---------+------------------------------------------

mytbl1 | {along1=arwdDxt/along1,along2=ar/along1

5 权限管理 5.1 权限机制

数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。

为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。

DWS支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE和USAGE。不同的权限与不同的对象类型关联。可以使用GRANT。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzzzy.html