【问题标题】:Get procedure's body获取程序的主体
【发布时间】:2021-11-16 23:29:12
【问题描述】:

我创建了一个具有系统管理员角色的过程。我已授权使用我创建的新角色(角色名称 New_role)。

问题是拥有 new_role 权限的用户看不到过程主体(在执行 get_ddl 或描述过程时)。

只有 New_role 权限的用户如何查看/查看过程的主体?

我不想让系统管理员担任新角色,但我希望他可以选择查看过程的主体

谢谢

【问题讨论】:

    标签: stored-procedures permissions snowflake-cloud-data-platform


    【解决方案1】:

    没有一项授权允许在没有所有权的情况下授予此特定权限。但是,有几个解决方法。最简单的方法是创建一个 veiw,该 veiw 由拥有该过程的同一角色拥有,该角色检索过程定义。然后,您可以将对该视图的选择访问权限授予您喜欢的任何角色。

    类似的东西

    USE SYSADMIN;
    USE MY_DB;
    
    CREATE VIEW MY_SCHEMA.PROCEDURE_DEFINITIONS AS
     SELECT PROCEDURE_SCHEMA, PROCEDURE_NAME, ARGUMENT_SIGNATURE, PROCEDURE_DEFINITION
     FROM INFORMATION_SCHEMA.PROCEDURES;
     
    GRANT SELECT ON VIEW MY_SCHEMA.PROCEDURE_DEFINITIONS TO NEW_ROLE;
    

    【讨论】:

      猜你喜欢
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      • 2019-02-06
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多