我对雪花很陌生,我对创造桌子感到困惑.克隆副本允许解释文档和我在尝试时看到的内容:
创建表…克隆语法包括副本授予关键字,这些关键字影响新的表克隆,如下所示:https://docs.snowflake.com/en/sql-reference/sql/create-clone.html 1
如果使用副本授予关键字,则新对象克隆不会继承在原始表上授予的任何显式访问权限,而是继承为架构中的对象类型定义的任何未来授权(使用…)。角色…
。
对象克隆:https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html 2
文档的链接1表示,不使用副本授予继承源表特权,但不继承未来的权限,链接2。(粗体行)表示,不使用副本授予继承了我对解释非常困惑的未来权限。此外,我尝试克隆一个带有和不带副本授予选项的表:使用副本授予,源表的初始特权出现在克隆中,没有复制授权,就没有特权(除了所有者)。但在这2种情况下,源表上的未来授权永远不会继承克隆表。有人能帮我理解一下吗?非常感谢,你好,西里尔
发布于 2021-03-21 16:03:59
你好像在文件上发现了一个漏洞。使用副本授予时,克隆的表将继承在原始表上授予的任何显式访问权限。
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 |
+-----------+--------------+我会和文档小组联系来解决这个问题。
https://stackoverflow.com/questions/66731708
复制相似问题