KingBase用户与角色及对象访问权限(Kylin)

用户与角色

角色的概念

  • 将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)
  • 角色在生产系统中一般被视为用户组,利用角色对用户进行批量授权

创建用户角色

sql 复制代码
CREATE USER name WITH [option]
授予权限 取消授予权限 描述
SUPERUSER NOSUPERUSER 超级用户权限
CREATEDB NOCREATEDB 创建数据库权限
CREATEROLE NOCREATEROLE 创建角色权限
LOGIN NOLOGIN 登陆数据库权限
ACCOUNT LOCK ACCOUNT UNLOCK 解锁用户
REPLICATION NOREPLICATION 发起流复制或把系统放入或退出备份模式的权限
权限 描述
CONNECTION LIMIT num 设置角色能创建的最大并发连接数
PASSWORD password 设置角色口令,使用口令认证的角色在没有设置口令时会导致登陆失败
VALID UNTIL 'time' 设置角色口令有效期限,缺省为永久有效
IN ROLE role_name 列出一个或多个现有角色 当前创建的新角色作为这些角色的成员加入其中
ROLE role_name 列出一个或多个现有角色 这些角色将作为成员加入到当前创建的新角色中
ADMIN role_name 提及的角色被使用 WITH ADMIN OPTION 加入到新角色中 能够把这个角色中的成员关系授予别人

用户示例

sql 复制代码
ksql test system  # 连接数据库

CREATE USER user01;  # 创建用户
ALTER USER user01 CREATEDB;  # 授予用户创建数据库权限
\du user01;  # 列出角色信息
sql 复制代码
ALTER USER user01 PASSWORD 'kingbase';  # 设置user01用户密码
\c test user01;  # 使用user01登陆test数据库
\conninfo  # 查看当前连接信息
sql 复制代码
\c test system;  # 切换管理员登陆
ALTER USER user01 CONNECTION LIMIT 10;  # 设置user01最大并发连接数10

角色示例

sql 复制代码
\c test system # 切换管理员
CREATE ROLE role01 PASSWORD 'kingbase';  # 创建角色role01并设置密码
\du role01

让用户成为角色的成员

sql 复制代码
# 第一种方法
GRANT rolename TO username;
# 第二种方法
CREATE USER username IN ROLE rolename;

创建用户和角色等价

sql 复制代码
CREATE USER user01 CONNECTION LIMIT 2 PASSWORD 'kingbase' VALID UNTIL '2023-12-31';  # 创建用户user01设置最大并发连接数2 密码为kingbase 密码到期时间为2023-12-31
CREATE ROLE role01 CONNECTION LIMIT 2 PASSWORD 'kingbase' VALID UNTIL '2023-12-31' LOGIN;  # 创建角色user01设置最大并发连接数2 密码为kingbase 密码到期时间为2023-12-31 允许登陆[角色默认不允许登陆]

对象访问权限入门

对象分类

  1. 模式对象:可视为一个表的集合,可以理解为一个存储目录,包含视图、索引、数据类型、函数和操作符等
  2. 非模式对象:其他的数据库对象,如数据库、表空间、用户、权限。用户或角色访问模式对象或非模式对象的能力称为对象权限

对象访问权限概述

  • 对象都会有所有者,所有者一般是对象的创建者,所有者也可以被改变
  • 初始值下,只有所有者(或者超级用户)能够对该对象执行任何操作
  • 其他用户和角色要使用对象,必须显式为其授予访问该对象的相关权限

使用管理工具

连接数据库

数据库权限

查看system用户对test数据的权限

数据库权限说明

权限 说明
ALL 一次授予所有可用权限
CREATE 允许在数据库中创建新的schema table index
TEMPORARY 允许在使用指定数据库时创建临时表
TEMP 允许在使用指定数据库时间创建临时表
CONNECT 允许用户连接到指定的数据库
模式访问权限

模式权限说明

用户对"模式对象"的访问权限
权限 说明
ALL 一次授权所有可用权限
DELETE 对表或视图执行删除数据
SELECT 对表进行读取
TRUNCATE 允许对表执行截断清空操作
INSERT 对表或视图执行插入
REFERENCES 允许创建外键约束
UPDATE 对表或表上特定列或视图执行更新
TRIGGER 允许在表上创建触发器
相关推荐
欢呼的太阳5 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
喜欢的名字被抢了6 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客7 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_7 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔8 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据8 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华8 小时前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混10 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_10 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon10 小时前
6 数据库同义词
数据库