雪花数据共享 - 授予部分执行 |授予未执行

Posted

技术标签:

【中文标题】雪花数据共享 - 授予部分执行 |授予未执行【英文标题】:Snowflake Data Sharing - Grant partially executed | Grant not executed 【发布时间】:2020-10-12 15:07:45 【问题描述】:

目标:

向数据共享授予更多权限

说明:

请注意,我使用的是 Snowflake 的 30 天试用版。

我尝试通过 UI 创建数据共享,但尽管能够在 完整帐户部分添加消费者,但该帐户的用户无法更新或插入共享的数据。

帐户的用户只能select 数据。但根据documentation,完整帐户的用户应该能够执行数据操作(插入、更新等)。

我也尝试过手动创建数据共享的方法,但我不断收到以下查询消息

SQL 代码示例:

use role accountadmin;

create share SHARE_DATABASE;

grant usage,modify on database TEST_DATABASE to share SHARE_DATABASE;
--Message: Statement executed successfully.

grant usage,modify on schema TEST_DATABASE.PUBLIC to share SHARE_DATABASE;
--Message: Grant partially executed: privileges [MODIFY] not granted.

grant select,insert,update on table TEST_DATABASE.PUBLIC.TABLE_TEST_DATA to share SHARE_DATABASE;
--Message: Grant partially executed: privileges [INSERT, UPDATE] not granted.

--When trying to execute the grant for update only
grant update on table TEST_DATABASE.PUBLIC.TABLE_TEST_DATA to share SHARE_DATABASE;
--Message: Grant not executed: Operation not supported on a SHARE object.

【问题讨论】:

【参考方案1】:

Snowflake 共享数据库是“只读”的 - 请查看此链接中的文档以了解更多详细信息:

https://docs.snowflake.com/en/user-guide/data-sharing-intro.html#introduction-to-secure-data-sharing

我希望这会有所帮助...丰富

附言如果这个(或另一个)答案对您有帮助,请花点时间“接受”有帮助的答案 通过单击答案旁边的复选标记将其从“灰色”切换为“已填充”。

【讨论】:

感谢您的回复,Rich。我会接受你的回复作为答案。鉴于共享数据库是“只读的”,我应该得到那些查询消息。我最初的目标是允许其他用户访问和修改我创建的数据库中的表。但我会找到另一种方法或为此提出另一个问题。再次感谢【参考方案2】:

报错信息正常:

https://docs.snowflake.com/en/sql-reference/sql/grant-privilege-share.html

你提到的文件说:

读者帐户中的用户可以查询与其共享的数据, 但不能执行完全允许的任何 DML 任务 帐户(数据加载、插入、更新等)。

完整帐户是共享的所有者。

【讨论】:

啊,完整帐户是共享的所有者..我的错误。感谢您的回复 Gokhan。

以上是关于雪花数据共享 - 授予部分执行 |授予未执行的主要内容,如果未能解决你的问题,请参考以下文章

单一模式上的雪花授予选择

添加到授予权限后未立即执行的联系人

授予在静态数据库上执行 SQL 查询的权限

授予用户对数据库中所有存储过程的执行权限?

在 1 个数据库上授予视图

在雪花中,在授予对存储过程的“使用”访问权限时,我遇到了语法错误