用户 

⚫ 用户 

 使用数据库系统服务的个体 

 职责单一,往往附属于某个组织或部门 

⚫ 用户可以做什么 

 使用工具连接数据库 

 访问数据库对象 

 执行SQL语句

角色 

⚫ 角色 

 角色是一组用户的集合,按照数据库系统中承担的责任划分具有不同权限的角色;角色用来作 为权限集合的载体。 

 角色代表了一个或一组数据库用户的行为约束。 

⚫ openGauss提供了一个隐式定义的拥有所有角色的组PUBLIC,所有创建的用户和角色默 认拥有PUBLIC所拥有的权限。 

⚫ 要撤销或重新授予用户和角色对PUBLIC的权限,可通过在GRANT和REVOKE指定关键字 PUBLIC实现。

用户与角色

⚫ 用户是实体,角色是行为。 

⚫ 用户可被赋予一个或多个角色。

⚫ 角色是一种权限集合,不应该具有登录数据库并执行SQL的能力。 

⚫ 对用户权限的管理,可以简化为对角色权限的管理。 

⚫ 在openGauss中,用户和角色使用相同的操作方式与维护方式。

用户角色相关操作

⚫ 创建类操作,查看CREATE USER语法。(CREATE ROLE与CREATE USER相同)。

⚫ 修改类操作,查看ALTER USER语法。

⚫ 查询类操作: 

 openGauss的用户、角色属性维护在pg_authid系统表中,pg_user、pg_roles视图也可以查询 用户、角色信息。 

 使用\d命令查看pg_authid表详细信息。 

 使用select命令查询pg_authid中的相关信息。

postgres=# \d pg_authid 

postgres=# select * from pg_authid;

⚫ 删除类操作: 

 查看DROP USER语法。 

 当用户拥有数据库对象时,默认是RESTRICT无法删除用户的,需要使用CASCADE选项。

设置用户账号有效期 

⚫ 创建新用户时,需要限制用户的操作期限(有效开始时间和有效结束时间)。 

⚫ 不在有效操作期内的用户需要重新设定帐号的有效操作期。 

 创建用户并指定用户的有效开始时间和有效结束时间。

CREATE USER joe WITH PASSWORD 'Bigdata@123' VALID BEGIN '2015-10-10 08:00:00' VALID UNTIL '2016- 10-10 08:00:00';

 用户已不在有效使用期内,需要重新设定帐号的有效期,这包括有效开始时间和有效结束时间。

ALTER USER joe WITH VALID BEGIN '2016-11-10 08:00:00' VALID UNTIL '2017-11-10 08:00:00';

 注意:若在“CREATE ROLE”或“ALTER ROLE”语法中不指定“VALID BEGIN”,表示不对 用户的开始操作时间做限定;若不指定“VALID UNTIL”,表示不对用户的结束操作时间做限 定;若两者均不指定,表示该用户一直有效。

手动锁定和解锁帐户命令 

⚫ 以手动锁定和解锁用户user_read为例,命令格式如下。 

⚫ 手动锁定:

ALTER USER user_read ACCOUNT LOCK;

 显示如下结果表示锁定成功

ALTER ROLE

⚫ 手动解锁:

ALTER USER user_read ACCOUNT UNLOCK;

 显示如下结果表示解锁成功

ALTER ROLE

私有用户 

⚫ 背景: 

 对于有多个业务部门,各部门间使用不同的数据库用户进行业务操作,同时同级的数据库维护部门使用管理员用户进 行维护操作的场景下,业务部门希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、 ALTER、TRUNCATE),不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户, 表对象的控制权和访问权要能够分离,以提高普通用户数据安全性。 

 三权分立情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不 能满足上面的诉求。为此,openGauss提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性 的私有用户。 

⚫ 定义:

CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc";

 针对该用户的对象,数据库管理员在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行 INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。

openGauss的用户与角色相关推荐

  1. 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统

    一.前言 在大型的信息管理系统中,经常涉及到权限管理系统 下面来个 demo,很多复杂的系统的设计都来自它 代码已经放到github上了,地址:https://github.com/larger5/s ...

  2. bartender的安全策略不允许指定的用户执行此操作_MongoDB用户和角色解释系列(上)...

    1.介绍 本文讨论保护MongoDB数据库所需的访问控制.具体来说,我们可以使用这些特性来确保只有经过授权的用户才能访问数据库.每个MongoDB用户应该只能访问他们在组织中所扮演的角色所需要的数据, ...

  3. 单用户多角色权限的MSSQL实现

    本文转载:http://www.cnblogs.com/tonyqus/archive/2005/08/22/218271.html 数据表设计 分为用户表.角色表.角色拥有权限表.权限表.用户所属角 ...

  4. 解决SQL Server 2000 错误15023:当前数据库中已存在用户或角色

    错误15023:当前数据库中已存在用户或角色 在把远程服务器上的数据库备份还原到本地机后, 给一个"登录"关联一个"用户"时(用户映射),发生错误:" ...

  5. Mysql —— C语言链接mysql数据库,用户 角色 权限(用户根据角色的不同拥有增删改查的权限、用户有三种认证方式)

    db_修改过(用户 角色 权限): 1.新增用户时候id 改为最大id值加一,之前用的select查看出来的记录数加一,删除后再增加会出错: 2.删除用户时候,若该用户创建过其他用户(不能改此用户名. ...

  6. springBoot+springSecurity 数据库动态管理用户、角色、权限(二)

    序:  本文使用springboot+mybatis+SpringSecurity 实现数据库动态的管理用户.角色.权限管理 本文细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义 ...

  7. 用户、角色和权限,多表查询

    一,各个表格 1.用户表 CREATE TABLE `t_user` ( `id` varchar(40) NOT NULL, `username` varchar(20) NOT NULL, PRI ...

  8. SqlServer 添加用户 添加角色 分配权限

    --创建一个简单的登录,登录名为:newlogin:登录密码:123456:默认数据库:master,默认数据库也可以不指定. EXEC sp_addlogin 'newlogin','123456' ...

  9. 用户关联角色操作-代码实现

    用户角色关联 用户与角色之间是多对多关系,我们要建立它们之间的关系,只需要在中间表user_role插入数据即可. 用户角色关联相关页面 在user-list.jsp页面上添加链接 <a hre ...

最新文章

  1. pmcaff系列活动《走进今日头条》
  2. [转载]spring security 的 logout 功能
  3. begintrans返回值_SQL事务回滚 ADO BeginTrans, CommitTran 以及 RollbackTrans 方法
  4. [css] img标签是行内元素,为什么却能设置宽高
  5. 人脸识别撞脸名画_艺术与时尚结合的极致——当服装设计遇到名画
  6. 在mc中直接加aswing组件,该组件还需最后用validate()方法
  7. hdu 1709 (母函数,有些特殊)
  8. 【车道线检测与寻迹】4月17 【多方内容总结】大模块:车辆检测,车道线检测,车辆压线判别
  9. 集体智慧编程学习笔记(2.1)提供推荐
  10. ajax submittype,AjaxSubmit()提交file文件
  11. 适合小孩接触编程起步的几款软件,从游戏中学习编程
  12. EI数据库免费检索入口
  13. Bada学习-(二十九)bada测试服务器
  14. 老鸟必备 | 如何画出优秀的架构图
  15. 新的分享之路开启,感谢您的陪伴
  16. 基于知识图谱的知识推理
  17. Deferred异步操作
  18. 国产光纤熔接机技术是否成熟?带你评测TFN-S7光纤熔接机性能
  19. 云服务器接收固定ip地址信息,云服务器的ip地址是固定的吗
  20. a到z的ascii码值是多少_a和A对应的ASCII码数值分别是多少啊?

热门文章

  1. java使用paint方法画图
  2. 什么是健身房管理作用
  3. 网络安全笔记——第二天:简单了解操作系统
  4. CSS 文本超出隐藏
  5. C++中static成员
  6. Vue中的ajax请求、Vuex、Vue UI组件库
  7. input事件和change事件的区别
  8. 中文Mac数据恢复软件哪里找?看这里!
  9. Itext5库的对PDF文件的基本操作(一)---新建文档,设置文档属性,设置文档密码
  10. 【ROG】关闭睡眠时键盘背光