学习目标
学习openGauss创建角色、修改角色属性、更改角色权限和删除角色
课程学习
角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上
连接openGauss
#第一次进入等待15秒
#数据库启动中...
su - omm
gsql -r
1.创建角色
–列出所有数据库角色
\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 WITH LOGIN PASSWORD ‘test_789’ VALID BEGIN ‘2021-12-10’ VALID
UNTIL ‘2021-12-30’;
–再次查看所有数据库角色
\du+

2.修改角色属性
–修改角色manage1具有LOGIN属性且为系统管理员
ALTER ROLE manager1 SYSADMIN LOGIN;
–查看manager1
\du+ manager1
–修改角色manager2密码
ALTER ROLE manager2 IDENTIFIED BY ‘abcd@123’ ;
–重命名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;

课后作业
1.创建角色role1为系统管理员, role2指定生效日期, role3具有LOGIN属性
-- 1.
create role role1 sysadmin identified by 'abc@12345';
create role role2 identified by 'abc@12345' valid begin '2021-12-01' valid until '2021-12-31';
create role role3 login identified by 'abc@12345';
2.重命名role1
-- 2.
alter role role1 rename to role100;
3.修改role2密码
-- 3.
alter role role2 identified by 'abc@54321';
4.将omm权限授权给role3,再回收role3的权限
-- 4.
grant omm to role3;
revoke all privilege from role3;

5.删除所有创建角色
过程中使用\du或\du+查看角色信息
-- 5.
\du
\du+
drop role role100;
drop role role2;
drop role role3;
\du
\du+

学习心得
实训环境里创建角色时需要加密码并考虑密码强度,不然会见到如下提示信息:
ERROR: The password could not be NULL.
ERROR: Password must contain at least three kinds of characters.
ERROR: Password must contain at least 8 characters.
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
更多信息可参考openGauss文档 – 用户口令强度校验机制
参考文档
松鼠镇楼,按时打卡





