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 允许在表上创建触发器
相关推荐
qq_4330994025 分钟前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz26 分钟前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺2 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了3 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i4 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl4 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502774 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空4 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
聂 可 以6 小时前
Windows环境安装MongoDB
数据库·mongodb
web前端神器6 小时前
mongodb多表查询,五个表查询
数据库·mongodb