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

GaussDB用户及权限

高斯精选 2023-06-01
4500

默认权限机制

数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。

为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。

GaussDB支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE、USAGE、ALTER、DROP、COMMENT、INDEX和VACUUM。不同的权限与不同的对象类型关联。有关各权限的详细信息,请参见GRANT。

要撤消已经授予的权限,可以使用REVOKE。对象所有者的权限(例如ALTER、DROP、COMMENT、INDEX、VACUUM、GRANT和REVOKE)是隐式拥有的,即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读。

系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。有关信息,请参考Schema。

数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象(表、视图、字段、函数),系统管理员不受影响。有关信息,请参考ALTER DATABASE。

对于系统视图等对象,升级脚本会对相关权限处理,如果升级前用户修改了权限,无法保证升级后保留用户在升级前修改的权限。

不建议用户修改系统表和系统视图的权限。

管理员

初始用户
集群安装过程中自动生成的账户称为初始用户。初始用户也是系统管理员、监控管理员、运维管理员和安全策略管理员,拥有系统的最高权限,能够执行所有的操作。如果安装时不设置初始用户名称则该账户与进行集群安装的操作系统用户同名。如果在安装集群时不设置初始用户的密码,安装完成后密码为空,在执行其他操作前需要通过gsql客户端设置初始用户的密码。如果初始用户密码为空,则除修改密码外无法执行其他SQL操作以及升级、扩容、节点替换等操作。

初始用户会绕过所有权限检查。建议仅将此初始用户作为DBA管理用途,而非业务应用。

系统管理员
系统管理员是指具有SYSADMIN属性的账户,默认安装情况下具有与对象所有者相同的权限,但不包括dbe_perf模式的对象权限和使用Roach工具执行备份恢复的权限。

要创建新的系统管理员,请以初始用户或者系统管理员用户身份连接数据库,并使用带SYSADMIN选项的CREATE USER语句或ALTER USER语句进行设置。

gaussdb=# CREATE USER sysadmin WITH SYSADMIN password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe SYSADMIN;

ALTER USER时,要求用户已存在。

安全管理员
安全管理员是指具有CREATEROLE属性的账户,具有创建、修改、删除用户或角色的权限。

要创建新的安全管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库,三权分立打开时,请以安全管理员身份连接数据库,并使用带CREATEROLE选项的CREATE USER语句或 ALTER USER语句进行设置。

gaussdb=# CREATE USER createrole WITH CREATEROLE password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe CREATEROLE;

ALTER USER时,要求用户已存在。

审计管理员
审计管理员是指具有AUDITADMIN属性的账户,具有查看和删除审计日志的权限。

要创建新的审计管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库,三权分立打开时,请以安全管理员身份连接数据库,并使用带AUDITADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。

gaussdb=# CREATE USER auditadmin WITH AUDITADMIN password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe AUDITADMIN;

ALTER USER时,要求用户已存在。

监控管理员
监控管理员是指具有MONADMIN属性的账户,具有查看dbe_perf模式下视图和函数的权限,亦可以对dbe_perf模式的对象权限进行授予或收回。

要创建新的监控管理员,请以系统管理员身份连接数据库,并使用带MONADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。

gaussdb=# CREATE USER monadmin WITH MONADMIN password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe MONADMIN;

ALTER USER时,要求用户已存在。

运维管理员
运维管理员是指具有OPRADMIN属性的账户,具有使用Roach工具执行备份恢复的权限。

要创建新的运维管理员,请以初始用户身份连接数据库,并使用带OPRADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。

gaussdb=# CREATE USER opradmin WITH OPRADMIN password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe OPRADMIN;

ALTER USER时,要求用户已存在。

安全策略管理员
安全策略管理员是指具有POLADMIN属性的账户,具有创建资源标签,脱敏策略和统一审计策略的权限。

要创建新的安全策略管理员,请以系统管理员用户身份连接数据库,并使用带POLADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。

gaussdb=# CREATE USER poladmin WITH POLADMIN password “xxxxxxxxxxx”;

或者

gaussdb=# ALTER USER joe POLADMIN;

ALTER USER时,要求用户已存在。

逻辑集群管理员
逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)管理员本质上仍然是普通用户,和普通用户相比,有如下额外权限:

在所关联逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)中创建、修改和删除资源池的权限。
将所关联的逻辑集群的访问权限授予其他用户或角色,或回收其他用户或角色对关联逻辑集群的访问权限。
逻辑集群用户和权限管理详见《管理员指南》中“逻辑集群管理 > 逻辑集群用户和权限管理”章节。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论