首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据库的所有权限授予雪花中的角色

如何将数据库的所有权限授予雪花中的角色
EN

Stack Overflow用户
提问于 2022-06-17 04:37:11
回答 3查看 1.3K关注 0票数 0

我试图将数据库的所有特权授予雪花中的一个角色。

这包括读取、创建、更新和删除架构、阶段、存储集成、表等的所有功能。

还应该包括在数据库中创建的任何未来对象。

代码语言:javascript
复制
    grant all on database test to developer;

这只授予数据库的视图,而不是数据库中的架构或任何其他对象。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-17 07:53:16

不幸的是,在雪花中,没有这样的命令可以通过一个命令授予所有访问权限。

即使使用所有特权命令,也必须对对象授予一个使用特权才能生效。

模式特权文档中也提到了这一点。

对于未来的授权,您可以尝试在模式和数据库级别上执行以下命令

模式级

代码语言:javascript
复制
grant usage on database SAMPLEDATABASE1 to role testrole12;
grant usage on schema SAMPLEDATABASE1.TEST to role testrole12;
grant select on future tables in schema SAMPLEDATABASE1.TEST to role testrole12;
grant role testrole12 to user SUJANT3;

数据库级

代码语言:javascript
复制
grant usage on database SAMPLEDATABASE1 to role testrole12;
grant usage on future schemas in database SAMPLEDATABASE1 to role testrole12;
grant select on future tables in database SAMPLEDATABASE1 to role testrole12;
grant role testrole12 to user SUJANT3;
票数 2
EN

Stack Overflow用户

发布于 2022-06-17 06:12:25

没有一个单独的命令可以影响数据库中的所有对象,但是您可以运行以下SQL的每个对象:

代码语言:javascript
复制
GRANT ALL ON ALL schemas in database <DB> TO ROLE <role>; 
GRANT ALL ON ALL TABLES IN SCHEMA <db.schema> TO ROLE <role>; 

同样,对于未来的赠款:

代码语言:javascript
复制
grant all on future schemas in database <DB> TO ROLE <role>;

grant all on future tables in schema <db.schema> to ROLE <role>;

这也可以扩展到视图和其他对象。

票数 2
EN

Stack Overflow用户

发布于 2022-06-18 00:53:36

听起来你想批准所有权吗?每个对象只能有一个所有者,所以我建议您只在适当的时候使用它:

代码语言:javascript
复制
GRANT OWNERSHIP ON DATABASE TEST
   TO DEVELOPER
   COPY CURRENT GRANTS
;

注意:复制当前授权保留当前特权,但所有权转移除外。否则,所有现有特权都将被取消。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72654388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档