学习目标
学习openGauss创建角色、修改角色属性、更改角色权限和删除角色
课程学习
角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上
连接openGauss
#第一次进入等待15秒
#数据库启动中...
su - omm
gsql -r1.创建角色
–列出所有数据库角色
\du–创建角色manager1,密码test_123
CREATE ROLE manager1 IDENTIFIED BY 'test_123';–创建角色manager2,密码test_456,具有LOGIN属性且为系统管理员
CREATE ROLE manager2 LOGIN SYSADMIN IDENTIFIED BY 'test_456';–创建角色manager3,密码test_789,从2021年12月10日生效,2021年12月30日失效
CREATE ROLE manager3 VALID BEGIN '2021-12-10' VALID UNTIL '2021-12-30' IDENTIFIED BY 'test_789' ;–再次查看所有数据库角色
\du+2.修改角色属性
–修改角色manage1具有LOGIN属性且为系统管理员
ALTER ROLE manager1 SYSADMIN LOGIN;–查看manager1
\du+ manager1–修改角色manager2密码
ALTER ROLE manager2 IDENTIFIED BY 'abcd@123' REPLACE 'test_456';–重命名manager2
ALTER ROLE manager2 RENAME TO manager20;3.授权
–将omm的权限授权给manager1
GRANT omm to manager1 WITH ADMIN OPTION;4.回收权限
revoke all privilege from manager1;5.删除角色
drop role manager1;
drop role manager20;
drop role manager3;课后作业
操作过程中,可以使用\du或\du+查看角色信息
1.创建角色role1为系统管理员, role2指定生效日期, role3具有LOGIN属性
CREATE ROLE role1 SYSADMIN IDENTIFIED BY 'test_123';
CREATE ROLE role2 IDENTIFIED BY 'test_456' VALID BEGIN '2021-12-03' VALID UNTIL '2021-12-31' ;
CREATE ROLE role3 WITH LOGIN IDENTIFIED BY 'test_789';
使用\du查看新创建的角色权限

\du查看角色,未看到"Cannot login",即为已有login属性
2.重命名role1
ALTER ROLE role1 RENAME TO role10;
因角色role1已经不存在,\du role1已经看不到任何角色以及权限信息。
3.修改role2密码
ALTER ROLE role2 IDENTIFIED BY '456_test' REPLACE 'test_456';
REPLACE参数,需要执行正确的密码,若不知道原密码,不加此参也可更改成功。
4.将omm权限授权给role3,再回收role3的权限
GRANT omm TO role3;
REVOKE omm FROM role3;
5.删除所有创建角色
DROP ROLE role10;
DROP ROLE role2;
DROP ROLE role3;先查看所有 角色的权限,然后删除角色,再验证删除结果。


参考资料:
https://opengauss.org/zh/docs/2.1.0/docs/Developerguide/SQL%E8%AF%AD%E6%B3%95.html
最后修改时间:2021-12-04 11:29:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




