我希望使用以下脚本为单个用户创建一个具有访问权限的数据库:
USE ROLE ACCOUNTADMIN;
CREATE DATABASE db;
USE DATABASE db;
CREATE WAREHOUSE wh
WAREHOUSE_SIZE = SMALL
;
CREATE ROLE new_role;
GRANT USAGE ON DATABASE db TO ROLE new_role;
GRANT CREATE SCHEMA ON DATABASE db TO ROLE new_role;
GRANT ALL ON SCHEMA db.PUBLIC TO ROLE new_role;
CREATE or replace USER new_user PASSWORD='' DEFAULT_ROLE = 'new_role' DEFAULT_WAREHOUSE='wh';
GRANT ROLE new_role TO USER new_user;
GRANT ALL ON WAREHOUSE wh TO new_role;
Run Code Online (Sandbox Code Playgroud)
尝试使用新创建的用户登录或从其他服务连接时,我看到以下错误:
用户配置的默认角色“new_role”不存在或未经授权。联系您的本地系统管理员,或尝试使用带有连接字符串的 CLI 客户端登录,并选择另一个
将默认角色设置为PUBLIC允许我从 Snowflake Web 门户登录。然后,我可以选择所需的角色并按预期进行导航。第三方连接无法访问任何新创建的对象,大概是因为它没有尝试切换角色。
允许为我的新用户设置默认角色缺少什么?