openGauss 默认权限机制

默认权限机制

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

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

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

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

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

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

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

表1 ACL权限缩写

权限 缩写 对象类型
SELECT r TABLE, table column, SEQUENCE
INSERT a TABLE, table column
UPDATE w TABLE, table column, SEQUENCE
DELETE d TABLE
TRUNCATE D TABLE
REFERENCES x TABLE, table column
TRIGGER t TABLE
CREATE C DATABASE, SHEMA, TABLESPACE
CONNECT c DATABASE
TEMPORARY T DATABASE
EXECUTE X FUNCTION, PROCEDURE, PACKAGE
USAGE U SEQUENCE, DOMAIN, CLIENT_MASTER_KEY, COLUMN_ENCRYPTION_KEY, FOREIGN DATA WRAPPER, FOREIGN SERVER, LANGUAGE, SCHEMA, DATA SOURCE
ALTER A TABLE, SEQUENCE, DATABASE, FOREIGN SERVER, FUNCTION, PROCEDURE, SCHEMA, TABLESPACE, DIRECTORY, PACKAGE
DROP P TABLE, SEQUENCE, DATABASE, CLIENT_MASTER_KEY, COLUMN_ENCRYPTION_KEY, FOREIGN SERVER, FUNCTION, PROCEDURE, SCHEMA, TABLESPACE, TYPE, DIRECTORY, PACKAGE
COMMENT m TABLE, table column, SEQUENCE, DATABASE, FOREIGN SERVER, FUNCTION, PROCEDURE, SCHEMA, TABLESPACE, PACKAGE
INDEX i TABLE
VACUUM v TABLE

表2 类型访问权限

对象类型 所有权限 默认PUBLIC权限 gsql命令
TABLE arwdDxtAPmiv none \dp
table column arwxm none \dp
SEQUENCE rwUAPm none \dp
DATABASE CTcAPm Tc \l
CLIENT_MASTER_KEY UP none
COLUMN_ENCRYPTION_KEY UP none
FOREIGN DATA WRAPPER U none \dew+
FOREIGN SERVER UAPm none \des+
FUNCTION XAPm X \df+
PROCEDURE XAPm X \df+
LANGUAGE U U \dL+
SCHEMA UCAPm none \dn+
TABLESPACE CAPm none \dp

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

posted @   techbing  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示