Snowflake 管理、治理与协作
Emily Melhuish
Technical Curriculum Developer, Snowflake



步骤 1:创建访问角色并授予对象权限
CREATE ROLE credit_read;
GRANT USAGE ON DATABASE claro_db
TO ROLE credit_read;
GRANT USAGE ON SCHEMA claro_db.core
TO ROLE credit_read;
GRANT SELECT ON TABLE core.credit_scores
TO ROLE credit_read;
步骤 2:创建职能角色并继承该访问角色
CREATE ROLE analyst;
GRANT ROLE credit_read TO ROLE analyst;
步骤 3:将职能角色分配给用户
GRANT ROLE analyst TO USER ana;
| 账户角色 | 数据库角色 | |
|---|---|---|
| 范围 | 跨任意数据库或架构 | 仅限单个数据库 |
| 分配给用户? | 是 | 否——授予给账户角色 |
| SQL | CREATE ROLE | CREATE DATABASE ROLE |
| 用途 | 表示全账户的岗位职能 | 打包单个数据库内的对象访问 |
USE ROLE <Role Name> 设置使用 USE SECONDARY ROLES <role_name> 激活特定子集
使用 USE SECONDARY ROLES NONE 仅限主角色
在会话中控制次级角色
USE SECONDARY ROLES ALL;
USE SECONDARY ROLES <role_name>;
USE SECONDARY ROLES NONE;
自动为将来添加到此架构的任何新表授予 SELECT
GRANT SELECT ON FUTURE TABLES
IN SCHEMA core
TO ROLE credit_read;
Snowflake 管理、治理与协作