OceanBase 数据库支持 Oracle 模式下的用户角色管理功能。
在 Oracle 模式中,角色是一组系统权限和对象权限的组合。通过使用角色,您可以轻松地管理用户权限。
在 OceanBase 数据库中,角色具备以下功能:
角色可以被授予系统权限或对象权限。
角色可以被授予其他角色,即角色中可以包含其他角色。
一个用户可以被授予多个角色,一个角色也可以授予多个用户。
当前,OceanBase 数据库中默认有以下系统角色:
CONNECT
角色该角色提供了
CREATE SESSION
系统权限。如果您需要授予某个用户CREATE SESSION
系统权限,除了直接授予该权限,您也可以通过授予用户CONNECT
角色的方式来实现。RESOURCE
角色该角色提供了以下系统权限:
CREATE CLUSTER
、CREATE INDEXTYPE
、CREATE OPERATOR
、CREATE PROCEDURE
、CREATE SEQUENCE
、CREATE TABLE
、CREATE TRIGGER
和CREATE TYPE
。您可以通过
DBA_SYS_PRIVS
字典视图查看该角色所包含的权限。DBA
角色该角色拥有非常强大的权限,提供了大量的系统权限,例如:
DELETE ANY TABLE
和GRANT ANY PRIVILEGE
等权限。您可以通过
DBA_SYS_PRIVS
字典视图查看该角色所包含的权限。注意
为了数据库安全,OceanBase 数据库建议您根据自身业务需求来合理授权,请勿随意将该角色赋予用户。
PUBLIC
角色该角色适用于整个租户内的用户。默认未授予权限。
如果您给
PUBLIC
角色授予了权限,则系统会将权限添加到租户内的每个用户的权限域中。所有用户都可以立即执行该权限所授权的操作。注意
为了保证数据库的安全,不建议您随意向 PUBLIC 角色中授予权限。