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 允许在表上创建触发器
相关推荐
随逸1773 小时前
《从零搭建NestJS项目》
数据库·typescript
加号319 小时前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏19 小时前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐19 小时前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再19 小时前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest20 小时前
数据库SQL学习
数据库·sql
jnrjian20 小时前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
十月南城20 小时前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
Henry Zhu12320 小时前
数据库:并发控制基本概念
服务器·数据库
银发控、20 小时前
数据库隔离级别与三个问题(脏读、不可重复读、幻读)
数据库·面试