数据仓库服务 GaussDB(DWS)-GaussDB(DWS)如何REVOKE某用户的connect on database权限?:原因分析

时间:2025-02-12 15:02:21

原因分析

若直接使用REVOKE CONNECT ON DATABASE gaussdb from u1命令撤销u1用户的权限不会生效,因为数据库的CONNECT权限授予了PUBLIC,需指定关键字PUBLIC实现。

  • GaussDB (DWS)提供了一个隐式定义的拥有所有角色的组PUBLIC,所有创建的用户和角色默认拥有PUBLIC所拥有的权限。要撤销或重新授予用户和角色对PUBLIC的权限,可通过在GRANT和REVOKE指定关键字PUBLIC实现。
  • GaussDB(DWS)会将某些类型的对象上的权限授予PUBLIC。默认情况下,对表、表字段、序列、外部数据源、外部服务器、模式或表空间对象的权限不会授予PUBLIC。以下这些对象的权限会授予PUBLIC:
    • 数据库的CONNECT权限。
    • CREATE TEMP TABLE权限。
    • 函数的EXECUTE特权。
    • 语言和数据类型(包括域)的USAGE特权。
  • 对象拥有者可以撤销默认授予PUBLIC的权限并专门授予权限给其他用户。
support.huaweicloud.com/dws_faq/dws_03_0195.html