KingbaseES数据库DCL用户管理

本文详细介绍了KingbaseES数据库中的用户安全管理,包括三种主要角色(DBA、SSO、SAO)的权限划分,以及用户管理的各个环节,如查询用户信息、创建、修改和删除用户,以及资源限制如连接数、期限等。
摘要由CSDN通过智能技术生成

数据库版本:KingbaseES V008R006C008B0014


文章目录如下

1. 用户安全的定义

1.1. 系统管理员(DBA)

1.2. 安全管理员(SSO)

1.3. 审计管理员(SAO)

2. 用户管理

2.1. 查询用户信息

2.2. 创建用户

2.3. 修改用户

2.4. 删除用户

2.5. 用户资源限制


        

1. 用户安全的定义

数据库中关于安全的用户一般包含3种:

  • 数据库管理员(DBA)
  • 安全管理员(SSO)
  • 审计管理员(SAO)

它们各自负责管理和维护数据库系统的日常运行。安全管理员确保数据库中的数据安全性,而审计管理员负责执行数据库审计策略以监控和记录数据库活动,在数据库初始化完成后自动创建这3个用户。

KingbaseES安全版本支持将管理特权三权分立为DBA、SSO、SAO,用于解决数据库超级用户权力过度集中的问题,参考行政、立法、司法三权分立的原则来设计的安全管理机制。

        

1.1. 系统管理员(DBA)

  • 特级权限:负责数据库日常管理的各种操作和自主存取控制;
  • 审计权限:无法修改审计参数,无法定义审计策略,无法查看审计记录;
  • 安全权限:无法执行安全功能的操作。

        

1.2. 安全管理员(SSO)

  • 特级权限:负责强制访问规则的制订和管理,监督SAO和普通用户操作,无法创建和操作普通对象;
  • 审计权限:只能设置、删除对SAO和普通用户的审计策略,只能查看SAO和普通用户的审计结果记录;
  • 安全权限:可以开启安全参数,执行安全相关操作。

        

1.3. 审计管理员(SAO)

  • 特级权限:负责数据库的审计,监督DBA、SSO的操作,不能创建和操作普通对象;
  • 审计权限:可以开启审计参数,可以设置、删除对SSO和DBA的审计策略,只能查看SSO和DBA的审计结果记录;
  • 安全权限:无法执行安全功能的操作。

        

2. 用户管理

2.1. 查询用户信息

查询用户权限可以通过视图 sys_user 查看

SELECT * FROM sys_user;

  • usename:用户名
  • usesysid:用户ID
  • usecreatedb:创建数据库权限
  • usesuper:超级用户权限
  • userepl:开启流复制、将系统转入/转出备份模式权限
  • usebypassrls:绕过所有行级安全性策略权限
  • passwd:不是口令(显示*****)
  • valuntil:口令过期时间(只用于口令认证)
  • useconfig:运行时配置变量的会话默认值

        

2.2. 创建用户

创建用户最基础的用法:

CREATE USER 用户名 WITH PASSWORD '密码';
  • 由于没有授权,所以默认只有登录和操作表权限,无法创建库。

         

创建用户时赋予多种权限,直接写在with后面

CREATE USER 用户名 WITH [权限1] [权限2] [权限3]...;

比如赋予创建库、登录权限

CREATE USER u1 WITH CREATEDB LOGIN PASSWORD '123';

详细权限如下:

  • SUPERUSER:超级用户权限
  • CREATEDB:创建数据库权限
  • CREATEROLE:创建用户、角色权限
  • LOGIN:登录权限(默认开启)
  • REPLICATION:是否为复制角色
  • BYPASSRLS:安全测试RLS
  • SYSBACKUP:物理备份权限

如果不赋予该权限,在关键字前面加上 NO,比如创建用户u1没有物理备份权限

CREATE USER u1 WITH NOSYSBACKUP;

        

2.3. 修改用户

修改用户有如下限制:

  1. 系统管理员可以修改所有普通用户密码、权限;
  2. 普通用户只能修改自己的密码,不能修改其他用户;
  3. 安全管理员的密码只能自己修改;
  4. 审计管理员的密码只能自己修改。

修改用户密码

ALTER USER 用户名 PASSWORD '密码';

        

修改用户权限

ALTER USER 用户名 [权限1] [权限2];

比如修改用户 u1 权限为创建库、物理备份:

ALTER USER u1 CREATEDB SYSBACKUP;
  • SUPERUSER:超级用户权限
  • CREATEDB:创建数据库权限
  • CREATEROLE:创建用户、角色权限
  • LOGIN:登录权限(默认开启)
  • REPLICATION:是否为复制角色
  • BYPASSRLS:安全测试RLS
  • SYSBACKUP:物理备份权限

        

2.4. 删除用户

删除用户语法:

DROP USER 用户名;

        

如果被删除的用户在某个数据库中被引用,则无法被删除。比如用户 u1 创建了一张表,删除 u1 失败

通过如下方式删除当前库中关于某个用户的全部对象

DROP OWNED BY 用户名 CASCADE;

        

2.5. 用户资源限制

1、连接数限制

用户连接数受参数 connections_limit_per_user 影响:

  • on:启动用户连接数限制。超级用户默认限制连接数为8,普通用户为5;
  • off:关闭用户连接数限制。所有用户默认使用最大连接(受max_connections影响)。

创建用户时限制连接(connections_limit_per_user = on 有效):

CREATE USER 用户名 WITH CONNECTION LIMIT 连接数;
  • -1 表示无限制 

修改用户连接数限制

ALTER USER 用户名 CONNECTION LIMIT 连接数;

        

2、用户使用期限

限制后会在指定时间点后,角色口令自动失效

创建用户

CREATE USER 用户名 WITH VALID UNTIL '日期';

修改用户

ALTER USER 用户名 VALID UNTIL '日期';

        

3、用户连接期限

设置某个用户只能在 xxx 时间段能够连接

创建用户

--设置用户只能在08点到15点连接
CREATE USER 用户名 WITH CONNECTION INTERVALS '08:00:00 TO 15:00:00';

修改用户

--设置用户只能在08点到15点连接
ALTER USER 用户名 CONNECTION INTERVALS '08:00:00 TO 15:00:00';

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值