【发布时间】:2019-10-31 21:18:05
【问题描述】:
创建了一个名为 DEV_USER 的用户,属于角色 DEV_ROLE。
GRANT USAGE ON WAREHOUSE MYWH TO ROLE DEV_ROLE;
CREATE USER DEV_USER PASSWORD = 'secrets' COMMENT = 'Dev User' LOGIN_NAME = 'DEV_USER' DISPLAY_NAME = 'Development Only User' DEFAULT_ROLE = 'DEV_ROLE' DEFAULT_WAREHOUSE = 'MYWH' MUST_CHANGE_PASSWORD = FALSE;
ALTER USER DEV_USER SET DEFAULT_NAMESPACE = 'PUBLIC';
GRANT ROLE DEV_ROLE TO USER DEV_USER;
GRANT ROLE DEV_ROLE TO USER MYUSERACCT;
GRANT ALL ON DATABASE DEV_DB TO ROLE DEV_ROLE WITH GRANT OPTION;
GRANT ALL ON DATABASE "DEV_DB" TO ROLE "DEV_ROLE" WITH GRANT OPTION;
GRANT ALL ON SCHEMA "DEV_DB"."PUBLIC" TO ROLE "DEV_ROLE" WITH GRANT OPTION;
我使用 MYUSERACCT 登录。我默认为 DEV_ROLE。我去 DATABASES 并尝试将 DEV_DB 克隆到 DEV_DB_CLONE 但收到以下错误:
无法创建数据库 DEV_DB_CLONE。 SQL 访问控制错误:权限不足,无法对帐户 'XX12345' 进行操作
显然,如果我将用户设置为 SYSADMIN 或 ACCOUNTADMIN,它将起作用。但是当我设置为 DEV_ROLE 时,我需要它来克隆。
我错过了什么?
【问题讨论】:
标签: database permissions clone snowflake-cloud-data-platform