数据仓库服务 GAUSSDB(DWS)-GRANT:示例

时间:2024-10-21 16:50:40

示例

  • 将系统权限授权给用户或者角色。
    • 将sysadmin所有可用权限授权给joe用户:
      1
      GRANT ALL PRIVILEGES TO joe;
      

      授权成功后,用户joe会拥有sysadmin的所有权限。

  • 将对象权限授权给用户或者角色
    • 将表tpcds.reason的SELECT权限授权给用户joe:
      1
      GRANT SELECT ON TABLE tpcds.reason TO joe;
      
    • 将表tpcds.reason的所有权限授权给用户kim:
      1
      GRANT ALL PRIVILEGES ON tpcds.reason TO kim;
      

      授权成功后,kim用户就拥有了tpcds.reason表的所有权限,包括增删改查等权限。

    • 将模式tpcds的使用权限授权给用户joe:
      1
      GRANT USAGE ON SCHEMA tpcds TO joe;
      

      授权成功后,joe用户就拥有了模式schema的USAGE权限,允许访问包含在指定模式schema中的对象。

    • tpcds.reason表中r_reason_sk、r_reason_id、r_reason_desc列的查询权限,r_reason_desc的更新权限授权给joe:
      1
      GRANT select (r_reason_sk,r_reason_id,r_reason_desc),update (r_reason_desc) ON tpcds.reason TO joe;
      

      授权成功后,用户joe对tpcds.reason表中r_reason_sk,r_reason_id的查询权限会立即生效。

      1
      GRANT select (r_reason_sk, r_reason_id) ON tpcds.reason TO joe ;
      
    • 将函数func_add_sql的EXECUTE权限授权给用户joe。
      1
      2
      3
      4
      5
      6
      CREATE FUNCTION func_add_sql(f1 integer,f2 integer) RETURNS integer
          AS 'select $1 + $2;'
          LANGUAGE SQL
          IMMUTABLE
          RETURNS NULL ON NULL INPUT;
      GRANT EXECUTE ON FUNCTION func_add_sql(integer, integer) TO joe;
      
    • 将序列serial的UPDATE权限授权给joe用户。
      1
      GRANT UPDATE ON SEQUENCE serial TO joe;
      
    • 将数据库gaussdb的连接权限授权给用户joe,并给予其在gaussdb中创建schema的权限:
      1
      GRANT create,connect on database gaussdb TO joe ;
      
    • 将模式tpcds的访问权限授权给角色tpcds_manager,并授予该角色在tpcds下创建对象的权限,不允许该角色中的用户将权限授权给其他人:
      1
      GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager;
      
  • 将用户或者角色的权限授权给其他用户或角色。
    • 将用户joe的权限授权给用户manager,并允许该角色将权限授权给其他人:
      1
      GRANT joe TO manager WITH ADMIN OPTION;
      
    • 将用户manager的权限授权给senior_manager用户:
      1
      GRANT manager TO senior_manager;
      
support.huaweicloud.com/sqlreference-830-dws/dws_06_0250.html