openGauss学习笔记111 openGauss 数据库管理管理用户及权限用户权限设置

openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置111.1 给用户直接授予某对象的权限111.2 给用户指定角色111.3 回收用户权限

openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置

111.1 给用户直接授予某对象的权限

给用户直接授予某对象的权限,请使用GRANT。

将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或角色将只能看到这些对象的名称,并不能实际进行对象访问。

例如,下面示例将Schema tpcds的权限赋给用户superman后,将表tpcds.web_returns的select权限赋给用户superman。

openGauss=# GRANT USAGE ON SCHEMA tpcds TO superman;
openGauss=# GRANT SELECT ON TABLE tpcds.web_returns to superman;

111.2 给用户指定角色

给用户指定角色,使用户继承角色所拥有的对象权限。

  1. 创建角色。

    新建一个角色jack,同时给角色指定系统权限CREATEDB:

    CREATE ROLE jack WITH CREATEDB PASSWORD "XXXXXXXXX";

  2. 给角色赋予对象权限,请使用GRANT。

    例如,将模式tpcds的权限赋给角色jack后,将表tpcds.web_returns的select权限赋给角色jack。

    openGauss=# GRANT USAGE ON SCHEMA tpcds TO jack;
    openGauss=# GRANT SELECT ON TABLE tpcds.web_returns to jack;

  3. 将角色的权限赋予用户。

    GRANT jack to superman;

    openGauss学习笔记111 openGauss 数据库管理管理用户及权限用户权限设置-每日运维 说明:
    当将角色的权限赋予用户时,角色的属性并不会传递到用户。

111.3 回收用户权限

回收用户权限,请使用REVOKE。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!