暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

OceanBase用户及权限概述

OceanBase 2023-01-28
2812

本节主要对 MySQL 租户用户和 Oracle 租户下用户的权限进行介绍。

OceanBase 数据库中的用户分为两类:系统租户下的用户和用户租户下的用户。用户租户又分为 Oracle 模式租户和 MySQL 模式租户,简称 Oracle 租户和 MySQL 租户。创建用户时,如果当前会话的租户为系统租户,则新建的用户为系统租户用户,否则为用户租户下的用户。不同租户之间的用户权限相互独立。

MySQL 租户的用户权限

OceanBase 数据库 MySQL 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 MySQL 兼容。

MySQL 模式的权限主要有以下三类:

  • 用户级权限

    用户级权限是全局的权限,不是针对某个指定的数据库。

  • 数据库级权限

    数据库级权限适用于数据库及其中的所有对象。

  • 对象权限

    对象权限适用于所有数据库中指定类型的对象。这些权限可以授予数据库中指定的对象、数据库中指定类型的所有对象(例如,数据库中的所有表)或全局授予所有数据库对象(例如表、索引、视图)的权限。

当前 OceanBase 数据库中 MySQL 模式相关的权限列表如下表所示。

权限类别权限描述
对象权限CREATE确定用户是否可以创建数据库和表。
对象权限SELECT确定用户是否可以查询表中的数据。
对象权限INSERT确定用户是否可以在表中插入行数据。
对象权限UPDATE确定用户是否可以修改现有数据。
对象权限DELETE确定用户是否可以删除现有数据。
对象权限DROP确定用户是否可以删除现有数据库、表和视图。
对象权限INDEX确定用户是否可以创建和删除表索引。
对象权限ALTER确定用户是否可以重命名和修改表结构。
对象权限CREATE VIEW确定用户是否可以创建视图。
对象权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
数据库级权限SELECT确定用户是否可以查询表中的数据。
数据库级权限INSERT确定用户是否可以在表中插入行数据。
数据库级权限UPDATE确定用户是否可以修改现有数据。
数据库级权限DELETE确定用户是否可以删除现有数据。
数据库级权限CREATE确定用户是否可以创建数据库和表。
数据库级权限DROP确定用户是否可以删除现有数据库、表和视图。
数据库级权限INDEX确定用户是否可以创建和删除表索引。
数据库级权限ALTER确定用户是否可以重命名和修改表结构。
数据库级权限CREATE VIEW确定用户是否可以创建视图。
数据库级权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
用户级权限CREATE确定用户是否可以创建数据库和表。
用户级权限ALTER确定用户是否可以重命名和修改表结构。
用户级权限SELECT确定用户是否可以查询表中的数据。
用户级权限INSERT确定用户是否可以在表中插入行数据。
用户级权限UPDATE确定用户是否可以修改现有数据。
用户级权限DELETE确定用户是否可以删除现有数据。
用户级权限DROP确定用户是否可以删除现有数据库、表和视图。
用户级权限INDEX确定用户是否可以创建和删除表索引。
用户级权限CREATE VIEW确定用户是否可以创建视图。
用户级权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
用户级权限ALTER TENANT修改租户信息的权限。
用户级权限ALTER SYSTEM执行 ALTER SYSTEM 命令的权限。
用户级权限CREATE RESOURCE POOL创建、修改和删除资源池的权限。
用户级权限CREATE RESOURCE UNIT创建、修改和删除资源单元的权限。
用户级权限CREATE USER确定用户是否可以执行 CREATE USER 命令,这个命令用于创建新的 MySQL 账号。
用户级权限PROCESS确定用户是否可以通过 SHOW PROCESSLIST 命令查看其他用户的进程。
用户级权限SHOW DB确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。
用户级权限FILE确定用户是否可以执行 SELECT INTO OUTFILE 和 LOAD DATA INFILE 命令。
用户级权限SUPER确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用 SET GLOBAL 修改全局MySQL 变量,执行关于复制和日志的各种命令。

Oracle 租户的用户权限

OceanBase 数据库 Oracle 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 Oracle 兼容。

Oracle 模式的权限主要有以下两类:

  • 系统权限

    系统权限允许用户在数据库中执行标准的管理员任务,如果需要对 Schema 对象执行操作,就必须对其授予适当的系统权限。系统权限非常强大,建议仅授予受信任的用户使用。

  • 对象权限

    对象权限允许用户对指定对象执行特定的操作。

当前 OceanBase 数据库中 Oracle 模式相关的权限列表如下表所示。

权限类别功能描述
对象权限ALTER修改表结构的权限。
对象权限INSERT向表、视图中插入数据的权限。
对象权限UPDATE修改表、视图中数据的权限。
对象权限DELETE删除表、视图中数据的权限。
对象权限SELECT使用表、视图、同义词、序列的权限。
对象权限INDEX给表加索引的权限。
对象权限REFERENCE参考表的权限。
对象权限EXECUTE执行存储过程、函数、系统包的权限。
对象权限DEBUG调试程序的权限。
对象权限READ读权限。
对象权限WRITE写权限。
系统权限CREATE SESSION创建会话的权限。
系统权限CREATE TABLE创建表的权限。
系统权限CREATE ANY TABLE创建任意表的权限。
系统权限ALTER ANY TABLE修改任意表的权限。
系统权限DELETE ANY TABLE删除任意表数据的权限。
系统权限DROP ANY TABLE删除任意表的权限。
系统权限BACKUP ANY TABLE备份任意表的权限。
系统权限LOCK ANY TABLE给任意表加锁的权限。
系统权限COMMENT ANY TABLE为任意表添加注释的权限。
系统权限INSERT ANY TABLE向任意表中插入行的权限。
系统权限SELECT ANY TABLE使用任意表的权限。
系统权限FLASHBACK ANY TABLE闪回任意表的权限。
系统权限UPDATE ANY TABLE修改任意表中的行的权限。
系统权限CREATE ROLE创建角色的权限。
系统权限DROP ANY ROLE删除任意角色的权限。
系统权限GRANT ANY ROLE授予任意角色的权限。
系统权限ALTER ANY ROLE修改任意角色的权限。
系统权限AUDIT ANY为任意对象设置审计选项的权限。
系统权限GRANT ANY PRIVILEGE授予用户任意系统权限的权限。
系统权限GRANT ANY OBJECT PRIVILEGE授予用户任意对象权限的权限。
系统权限CREATE ANY INDEX创建任意索引的权限。
系统权限ALTER ANY INDEX修改任意索引的权限。
系统权限DROP ANY INDEX删除任意索引的权限。
系统权限CREATE VIEW创建视图的权限。
系统权限CREATE ANY VIEW创建任意视图的权限。
系统权限DROP ANY VIEW删除任意视图的权限。
系统权限SELECT ANY DICTIONARY使用任意数据字典的权限。
系统权限CREATE PROCEDURE为用户创建存储过程的权限。
系统权限CREATE ANY PROCEDURE为用户创建任意存储过程的权限。
系统权限ALTER ANY PROCEDURE修改任意存储过程的权限。
系统权限DROP ANY PROCEDURE删除任意存储过程的权限。
系统权限EXECUTE ANY PROCEDURE执行任意存储过程的权限。
系统权限CREATE SYNONYM为用户创建同义词的权限。
系统权限CREATE ANY SYNONYM为用户创建任意同义词的权限。
系统权限CREATE PUBLIC SYNONYM创建公共同义词的权限。
系统权限DROP ANY SYNONYM删除任意同义词的权限。
系统权限DROP PUBLIC SYNONYM删除公共同义词的权限。
系统权限CREATE SEQUENCE为用户创建序列的权限。
系统权限CREATE ANY SEQUENCE创建任意序列的权限。
系统权限ALTER ANY SEQUENCE修改任意序列的权限。
系统权限DROP ANY SEQUENCE删除任意序列的权限。
系统权限SELECT ANY SEQUENCE使用任意序列的权限。
系统权限CREATE TRIGGER为用户创建触发器的权限。
系统权限CREATE ANY TRIGGER为用户创建任意触发器的权限。
系统权限ALTER ANY TRIGGER修改任意触发器的权限。
系统权限DROP ANY TRIGGER删除任意触发器的权限。
系统权限CREATE PROFILE创建资源限制简表的权限。
系统权限ALTER PROFILE修改资源限制简表的权限。
系统权限DROP PROFILE删除资源限制简表的权限。
系统权限CREATE USER创建用户的权限。
系统权限ALTER USER修改用户的权限。
系统权限DROP USER删除用户的权限。
系统权限BECOME USER切换用户状态的权限。
系统权限CREATE TYPE创建类型的权限。
系统权限CREATE ANY TYPE创建任意类型的权限。
系统权限ALTER ANY TYPE修改任意类型的权限。
系统权限DROP ANY TYPE删除任意类型的权限。
系统权限EXECUTE ANY TYPE执行任意类型的权限。
系统权限PURGE DBA_RECYCLEBIN清除回收站的权限。
系统权限CREATE ANY OUTLINE创建任意执行计划的权限。
系统权限ALTER ANY OUTLINE修改任意执行计划的权限。
系统权限DROP ANY OUTLINE删除任意执行计划的权限。
系统权限CREATE TABLESPACE创建表空间的权限。
系统权限ALTER TABLESPACE修改表空间的权限。
系统权限DROP TABLESPACE删除表空间的权限。
系统权限SHOW PROCESS查看所有用户线程的权限。
系统权限ALTER SYSTEM修改服务器设置的权限。
系统权限CREATE DATABASE LINK创建数据库连接的权限。
系统权限CREATE PUBLIC DATABASE LINK创建公共数据库连接的权限。
系统权限DROP DATABASE LINK删除数据库连接的权限。
系统权限ALTER SESSION修改会话的权限。
系统权限ALTER DATABASE修改数据库的权限。
系统权限CREATE ANY DIRECTORY创建任意目录的权限。
系统权限DROP ANY DIRECTORY删除任意目录的权限。
系统权限DEBUG CONNECT SESSION调试连接会话的权限。
系统权限DEBUG ANY PROCEDURE调试任何程序的权限。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论