学习目标
学习openGauss创建角色、修改角色属性、更改角色权限和删除角色
课程学习实操
角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上
连接openGauss
#第一次进入等待15秒 #数据库启动中... su - omm gsql -r
1.创建角色
–列出所有数据库角色
\duomm=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------ +----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} omm=#
–创建角色manager1,密码test_123
CREATE ROLE manager1 IDENTIFIED BY 'test_123';omm=# CREATE ROLE manager1 IDENTIFIED BY 'test_123'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=#
–创建角色manager2,密码test_456,具有LOGIN属性且为系统管理员
CREATE ROLE manager2 LOGIN SYSADMIN IDENTIFIED BY 'test_456';omm=# CREATE ROLE manager2 LOGIN SYSADMIN IDENTIFIED BY 'test_456'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=#
–创建角色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';omm=# CREATE ROLE manager3 WITH LOGIN PASSWORD 'test_789' VALID BEGIN '2021-12-10' VALID omm-# UNTIL '2021-12-30'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=#
–再次查看所有数据库角色
\du+omm=# \du+ List of roles Role name | Attributes | Member of | Description -----------+------------------------------------------------------------------------------------------------------------------ +-----------+------------- gaussdb | Sysadmin | {} | manager1 | Cannot login | {} | manager2 | Sysadmin | {} | manager3 | Role valid begin 2021-12-10 00:00:00+08 + | {} | | Role valid until 2021-12-30 00:00:00+08 | | omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} | omm=#
2.修改角色属性
–修改角色manage1具有LOGIN属性且为系统管理员
ALTER ROLE manager1 SYSADMIN LOGIN;omm=# ALTER ROLE manager1 SYSADMIN LOGIN; ALTER ROLE omm=#
–查看manager1
\du+ manager1omm=# \du+ manager1 List of roles Role name | Attributes | Member of | Description -----------+------------+-----------+------------- manager1 | Sysadmin | {} |
–修改角色manager2密码
ALTER ROLE manager2 IDENTIFIED BY 'abcd@123' ;omm=# ALTER ROLE manager2 IDENTIFIED BY 'abcd@123' ; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. omm=# ALTER ROLE omm=#
–重命名manager2
ALTER ROLE manager2 RENAME TO manager20;omm=# ALTER ROLE manager2 RENAME TO manager20; NOTICE: MD5 password cleared because of role rename ALTER ROLE omm=#
3.授权
–将omm的权限授权给manager1
GRANT omm to manager1 with admin option;omm=# GRANT omm to manager1 with admin option; GRANT ROLE omm=#
4.回收权限
revoke all privilege from manager1;omm=# revoke all privilege from manager1; ALTER ROLE omm=#
5.删除角色
drop role manager1; drop role manager20; drop role manager3;omm=# drop role manager1; omm=# drop role manager20; DROP ROLE DROP ROLE omm=# drop role manager3; DROP ROLE omm=#
课后作业
1.创建角色role1为系统管理员, role2指定生效日期, role3具有LOGIN属性
omm=# create role role1 with sysadmin identified by '@1163.com'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=#omm=# \du+ role1 List of roles Role name | Attributes | Member of | Description -----------+------------------------+-----------+------------- role1 | Cannot login, Sysadmin | {} |omm=# CREATE ROLE role2 identified by '@163.com' VALID BEGIN '2021-12-10'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# \du+ role2 List of roles Role name | Attributes | Member of | Description -----------+-----------------------------------------+-----------+------------- role2 | Cannot login +| {} | | Role valid begin 2021-12-10 00:00:00+08 | | omm=#omm=# CREATE ROLE role3 with login identified by '@163.com'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# \du+ role3 List of roles Role name | Attributes | Member of | Description -----------+------------+-----------+------------- role3 | | {} | omm=# \c omm role3 Password for user role3: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "omm" as user "role3". omm=>
2.重命名role1
omm=# alter role role1 rename to role4;
NOTICE: MD5 password cleared because of role rename
ALTER ROLE
omm=# \du+
List of roles
Role name | Attributes
| Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------
+-----------+-------------
gaussdb | Sysadmin
| {} |
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT
| {} |
role4 | Cannot login, Sysadmin
| {} |
role2 | Cannot login +
| {} |
| Role valid begin 2021-12-10 00:00:00+08
| |
role3 |
| {} |
omm=#
3.修改role2密码
omm=# alter role role2 identified by '@263.com';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
ALTER ROLE
omm=#
4.将omm权限授权给role3,再回收role3的权限
omm=# grant omm to role3;
GRANT ROLE
omm=# revoke omm from role3;
omm=# REVOKE ROLE
omm=#
5.删除所有创建角色
过程中使用\du或\du+查看角色信息
omm=# \du
List of roles
Role name | Attributes
| Member of
-----------+------------------------------------------------------------------------------------------------------------------
+-----------
gaussdb | Sysadmin
| {}
| Role valid begin 2021-12-10 00:00:00+08
|
role3 |
| {}
role4 | Cannot login, Sysadmin
| {}
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT
| {}
role2 | Cannot login +
| {}
omm=# drop role role2;
DROP ROLE
omm=# drop role role3;
DROP ROLE
omm=# drop role role4;
DROP ROLE
omm=# \du
List of roles
Role name | Attributes
| Member of
-----------+------------------------------------------------------------------------------------------------------------------
+-----------
gaussdb | Sysadmin
| {}
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT
| {}
omm=#
学习总结
通过本课的学习,我学会了如何创建角色、修改角色属性、更改角色权限和删除角色.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




