首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于创建表格的问题..。克隆{复制授权}行为

关于创建表格的问题..。克隆{复制授权}行为
EN

Stack Overflow用户
提问于 2021-03-21 11:22:20
回答 1查看 2.6K关注 0票数 0

我对雪花很陌生,我对创造桌子感到困惑.克隆副本允许解释文档和我在尝试时看到的内容:

创建表…克隆语法包括副本授予关键字,这些关键字影响新的表克隆,如下所示:https://docs.snowflake.com/en/sql-reference/sql/create-clone.html 1

如果使用副本授予关键字,则新对象克隆不会继承在原始表上授予的任何显式访问权限,而是继承为架构中的对象类型定义的任何未来授权(使用…)。角色…

  • (如果不使用副本授予项,则新对象继承对原始表授予的任何显式访问权限,但不会继承为模式中的对象类型定义的任何未来授权。

对象克隆:https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html 2

  • 在克隆数据库时,克隆的数据库中的架构将从源模式复制未来的权限。这与常规对象授予保持一致,其中源对象(即数据库)的授予没有复制到克隆,但是所有子对象(即数据库中的模式)上的授权被复制到克隆中。
  • 在克隆模式时,源模式的未来授权不会复制到克隆。当模式中的对象被克隆时,模式中为该对象类型定义的任何未来授权都应用于克隆对象,除非复制授权选项在克隆操作的CREATE语句中指定;在这种情况下,新对象保留原始对象的访问权限,并且不会继承该类型对象的任何未来授权。

文档的链接1表示,不使用副本授予继承源表特权,但不继承未来的权限,链接2。(粗体行)表示,不使用副本授予继承了我对解释非常困惑的未来权限。此外,我尝试克隆一个带有和不带副本授予选项的表:使用副本授予,源表的初始特权出现在克隆中,没有复制授权,就没有特权(除了所有者)。但在这2种情况下,源表上的未来授权永远不会继承克隆表。有人能帮我理解一下吗?非常感谢,你好,西里尔

EN

回答 1

Stack Overflow用户

发布于 2021-03-21 16:03:59

你好像在文件上发现了一个漏洞。使用副本授予时,克隆的表将继承在原始表上授予的任何显式访问权限。

代码语言:javascript
复制
create role test_role;

create table test_table (v varchar);

grant update on future tables in schema public to test_role;

grant select on test_table to role test_role;

show grants on test_table;

+-----------+------------+--------------+
| privilege | granted_on | grantee_name |
+-----------+------------+--------------+
| OWNERSHIP | TABLE      | ACCOUNTADMIN |
| SELECT    | TABLE      | TEST_ROLE    |
+-----------+------------+--------------+

create table clone_table_nocp clone test_table;

create table clone_table_yescp clone test_table copy grants;

show grants on clone_table_nocp; -- has future grants of schema

+-----------+--------------+
| privilege | grantee_name |
+-----------+--------------+
| OWNERSHIP | ACCOUNTADMIN |
| UPDATE    | TEST_ROLE    |
+-----------+--------------+

show grants on clone_table_withcp; -- inherited access privileges, but does not have future grants 

+-----------+--------------+
| privilege | grantee_name |
+-----------+--------------+
| OWNERSHIP | ACCOUNTADMIN |
| SELECT    | TEST_ROLE    |
+-----------+--------------+

我会和文档小组联系来解决这个问题。

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

https://stackoverflow.com/questions/66731708

复制
相关文章

相似问题

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