首页 > 解决方案 > 为了在模式中创建表,角色需要的完整权限列表是什么?

问题描述

我已经在模式和数据库上授予了 USAGE 权限。我已在所有表上授予选择权限。

使用该角色,我可以从任何模式中的所有表中读取数据。

然后我授予在该数据库中的所有模式中创建表的权限

GRANT CREATE TABLE ON ALL SCHEMAS IN DATABASE TEST1_CONTROL TO DEVELOPERS;

然而,当我发出这个命令时(使用 DEVELOPERS 角色),我得到一个错误

CREATE TABLE PDS.ERIC_TEST_TABLE(COUCOU STRING NULL);

在此处输入图像描述

我错过了什么?

标签: snowflake-cloud-data-platform

解决方案


对我来说很好(下面的脚本)。将按照 Lukasz 的评论以及您的架构是稍后创建的。

use role accountadmin;
create database TEST1_CONTROL;
create schema PDS;
create role DEVELOPERS;
grant role DEVELOPERS to user <your_username>;
GRANT USAGE ON DATABASE TEST1_CONTROL TO DEVELOPERS;
GRANT USAGE ON ALL SCHEMAS IN DATABASE TEST1_CONTROL TO DEVELOPERS;
GRANT CREATE TABLE ON ALL SCHEMAS IN DATABASE TEST1_CONTROL TO DEVELOPERS;
use role DEVELOPERS;
CREATE TABLE PDS.ERIC_TEST_TABLE(COUCOU STRING NULL);

如果您希望角色有权访问将来创建的任何新模式,Snowflake 确实会提供未来的授权。


推荐阅读