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

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

5.5.2 权限授予使用建议

1) 权限授予最小化,只需要SELECT权限的不需要授予其他权限。

2) 不要为了方便随便授予ALL PRIVILEGES权限。

3) 谨慎授予可能改变表内容的操作(update、insert)等权限。

4) 管理好权限周期,超过时间及时使用REVOKE回收权限。

6 业务用户权限示例 6.1 业务操作权限

步骤1:先建一个角色

create role data_mgr password 'Gauss_234';

步骤2:登陆schema所属的用户u2赋予角色data_mgr对所属schema s2的使用权限以及所有表的数据操作权限

Ø 赋予角色data_mgr对s2的使用权限

grant USAGE,CREATE on schema s2 to data_mgr;

Ø 角色data_mgr对u2已创建的表赋予查询权限

grant SELECT,insert,delete,update on all tables in schema s2 to data_mgr;

Ø 角色data_mgr对u2以后创建的新表赋予查询权限

alter default privileges in schema s2 grant SELECT,insert,delete,update on tables to data_mgr;

6.2 只读操作权限

步骤1:创建只读角色

create role read_only password 'Gauss_234';

步骤2:登陆schema所属的用户u2赋予角色 read_only 对schema s1和s2的使用权限以及所有表的查询权限

Ø 赋予角色read_only对s1,s2的使用权限

grant USAGE on schema s1,s2 to read_only;

Ø --角色read_only拥有对s1,s2已创建的表赋予查询权限

grant SELECT on all tables in schema s1,s2 to read_only;

Ø 角色read_only拥有对s1,s2以后创建的新表赋予查询权限

alter default privileges in schema s1,s2 grant SELECT on tables to read_only;

6.3 赋权操作

Ø 给用户u1赋予对用户u2的schema s2的数据操作权限。

grant data_mgr to u1;

Ø 给用户u3赋予对用户u2的schema s1和s2的只读权限。

grant read_only to u3;

6.4 权限回收操作 6.4.1 角色的权限回收

Ø 回收角色data_mgr对s2的使用权限

revoke USAGE,CREATE on schema s2 from data_mgr;

Ø 回收角色data_mgr对u2已创建的表查询权限

revoke SELECT,insert,delete,update on all tables in schema s2 from data_mgr;

Ø 回收角色data_mgr对u2以后创建的新表赋予查询权限

alter default privileges in schema s2 revoke SELECT,insert,delete,update on tables from data_mgr;

6.4.2 用户的权限回收

Ø 回收用户u1对u2的schema s2的数据操作权限

revoke data_mgr to u1;

Ø 回收用户u3对u2的schema s1、s2的只读权限

revoke read_only from u3;

6.5 赋权与回收

把当前用户下某个schema下的表的查询权限赋给其他用户,既需要把schema的usage权限给其他用户,也要赋予其他用户对于表的查询权限(可以指定特定表来赋权查询操作,也可以赋予一次性赋予所有表的查询权限)。

对于将来新建表的查询权限想要一次性的赋予权限,则需要通过alter default privileges赋予默认权限来操作。

回收权限的话,需要回收schema的usage权限,也要回收表的查询权限,还有回收默认权限。

可以通过\ddp来查看默认赋权信息。

7 总结

通过本文,可以系统了解DWS数据库权限管理相关知识,从而为数据库管理和业务开发提供技术支撑。通过更加有效和细致的权限管理,制定完善的数据安全机制,保证数据安全。

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

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