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 允许在表上创建触发器
相关推荐
l1t3 分钟前
AI关于MySQL 能否存储数组的回答
数据库·mysql
菩提小狗18 分钟前
小迪安全_第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值|小迪安全笔记|网络安全|
前端·网络·数据库·笔记·安全·web安全
Albert Edison24 分钟前
【MySQL】使用C/C++语言连接数据库
c语言·数据库·mysql
高一要励志成为佬35 分钟前
【数据库】第二章 关系数据库 各种概念
数据库
youshang520i35 分钟前
Gbase 8s 不能参考一个未设日志的外在数据库
数据库
宇宙的尽头是PYTHON40 分钟前
开窗函数简单的排序row_number() rank() densite()
数据库
心止水j43 分钟前
hbase 电商2
数据库·windows·hbase
Blockbuater_drug1 小时前
SDF 格式文件的前世今生:从化学信息学基石到 AI 时代的分子通用语言
数据库·人工智能·化学信息学·sdf格式
Chloeis Syntax1 小时前
MySQL初阶学习日记(7)--- 事务
java·数据库·笔记·学习·mysql
奔跑吧 android1 小时前
【ubuntu】【unattended-upgrades 介绍】
服务器·数据库·ubuntu