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 允许在表上创建触发器
相关推荐
数安3000天16 小时前
数据分类分级产品有哪四类技术路线?
大数据·数据库
泡茶喝茶写代码16 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql
张小姐的猫16 小时前
【AI大模型接入SDK】 —— 数据管理 & 与Session模块进行联动
数据结构·数据库·c++·人工智能·python·chatgpt
IvorySQL17 小时前
PostgreSQL 日报|大模型破解在线校验和(9 月 15 日)
数据库·人工智能·postgresql
Leon-Ning Liu17 小时前
Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)
数据库·oracle
步行cgn17 小时前
Spring 注入 null 和空字符串详解
数据库·spring·oracle
Allen_LVyingbo18 小时前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化
草莓熊Lotso18 小时前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
YangYang9YangYan18 小时前
2026 校招市场数据分析 JD 拆解,SQL 要求、工具与面试考点
数据库·人工智能·数据分析
风哥2号18 小时前
数据库教程FGMT40‑MySQL性能优化之性能基准测试
数据库·mysql