【问题标题】:Snowflake permission issue for "GRANT USAGE ON FUTURE PROCEDURES IN SCHEMA MyDb.MySchema TO ROLE MyRole"“GRANT USAGE ON FUTURE PROCEDURES IN SCHEMA MyDb.MySchema TO ROLE MyRole”的雪花权限问题
【发布时间】:2021-02-14 22:56:01
【问题描述】:

我正在尝试授予对特定架构中未来存储过程的使用权。

我正在使用角色 SYSADMIN 并且架构归 SYSADMIN 所有。

以下语句有效

GRANT USAGE ON ALL PROCEDURES IN SCHEMA UAT_CONTROL.PDS TO ROLE UAT_OPERATIONS;

虽然这个失败了

GRANT USAGE ON FUTURE PROCEDURES IN SCHEMA UAT_CONTROL.PDS TO ROLE UAT_OPERATIONS;

“SQL错误[3001][42501]:SQL访问控制错误:不足 操作模式“PDS”的权限

我错过了什么技巧吗?

【问题讨论】:

    标签: permissions snowflake-cloud-data-platform


    【解决方案1】:

    您还必须在您的数据库上授予使用权限,也许还必须在您的架构上授予使用权限:

    GRANT USAGE ON DATABASE UAT_CONTROL TO ROLE UAT_OPERATIONS;
    
    GRANT USAGE ON SCHEMA PDS TO ROLE UAT_OPERATIONS;
    

    更多信息在这里:https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html

    【讨论】:

    • 出于某种我还不完全理解的原因,我必须使用 SECURITYADMIN 角色才能使其工作。我认为 SYSADMIN 是它应该工作的数据库的所有者,但事实并非如此。使用 SECURITYADMIN 它可以工作
    • @EricMamet 默认只有 ACCOUNTADMIN 和 SECURITYADMIN 可以发出 GRANTS。通常 SYSADMIN 对系统范围内的所有对象都具有访问权限,但 USER 和 ROLE 对象除外。
    • 我能够将其他 GRANTS 分配为 SYSADMIN。只有“未来”的 GRANTS 失败了……?
    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 2013-06-24
    • 2021-11-27
    • 2013-11-17
    • 1970-01-01
    • 2011-04-22
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多