数据仓库服务 GAUSSDB(DWS)-权限管理:预置角色

时间:2024-09-24 17:40:43

预置角色

GaussDB (DWS)提供了一组预置角色,以“gs_role_”开头命名,提供对特定的、通常需要高权限的操作的访问,可以将这些角色授权予数据库中的其他用户或角色,使这些用户能够访问或使用特定的信息和功能。请谨慎使用预置角色,以确保预置角色权限的安全使用。

预置角色允许的权限范围可参考下表:

表1 预置角色允许的权限范围

角色

权限描述

gs_role_signal_backend

具有调用函数pg_cancel_backend、pg_terminate_backend、pg_terminate_query、pg_cancel_query、pgxc_terminate_query、pgxc_cancel_query来取消或终止其他会话的权限,但不能操作属于初始用户的会话。

gs_role_read_all_stats

读取系统状态视图并且使用与扩展相关的各种统计信息,包括有些通常只对系统管理员可见的信息。包括:

资源管理类:

  • pgxc_wlm_operator_history
  • pgxc_wlm_operator_info
  • pgxc_wlm_operator_statistics
  • pgxc_wlm_session_info
  • pgxc_wlm_session_statistics
  • pgxc_wlm_workload_records
  • pgxc_workload_sql_count
  • pgxc_workload_sql_elapse_time
  • pgxc_workload_transaction

状态信息类:

  • pgxc_stat_activity
  • pgxc_get_table_skewness
  • table_distribution
  • pgxc_total_memory_detail
  • pgxc_os_run_info
  • pg_nodes_memory
  • pgxc_instance_time
  • pgxc_redo_stat

gs_role_analyze_any

具有系统级ANALYZE权限类似系统管理员用户,跳过schema权限检查,对所有的表可以执行ANALYZE。

gs_role_vacuum_any

具有系统级VACUUM权限类似系统管理员用户,跳过schema权限检查,对所有的表可以执行VACUUM。

gs_redaction_policy

具有创建、修改、删除脱敏策略的权限,对所有的表都可以执行CREATE | ALTER | DROP REDACTION POLICY。9.1.0及以上集群版本支持。

预置角色的使用约束

  • 以gs_role_开头的角色名作为数据库的预置角色保留字,禁止新建以“gs_role_”开头的用户/角色,也禁止将已有的用户/角色重命名为以“gs_role_”开头。
  • 禁止对预置角色执行ALTER和DROP操作。
  • 预置角色默认没有 LOG IN权限,不设置预置登录密码。
  • gsql元命令\du和\dg不显示预置角色的相关信息,但若指定了PATTERN(用来指定要被显示的对象名称)则预置角色信息会显示。
  • 三权分立关闭时,系统管理员和具有预置角色ADMIN OPTION权限的用户有权对预置角色执行GRANT/REVOKE管理;三权分立打开时,安全管理员(具有CREATEROLE属性)和具有预置角色ADMIN OPTION权限的用户有权对预置角色执行GRANT/REVOKE管理。例如:
    1
    2
    GRANT gs_role_signal_backend TO user1; 
    REVOKE gs_role_signal_backend FROM user1;
    
support.huaweicloud.com/devg-910-dws/dws_04_0054.html