Snowflake 角色管理与存储性能优化全解析
1. 角色层次结构与权限继承
当用户登录 Snowflake 网络界面或程序通过连接器连接到 Snowflake 时,会启动一个会话。会话中的当前角色由 Snowflake 按照以下优先级顺序确定:
- 如果连接信息中包含角色名称,且该角色已授予用户,则此角色将作为会话中的当前角色。
- 如果连接信息中未包含角色名称,但用户已分配默认角色,则使用默认角色。
- 如果连接信息中未包含角色名称,且用户未分配默认角色,则使用 PUBLIC 角色。
会话中的当前角色也称为主要角色。除主要角色外,用户还可以通过执行 USE SECONDARY ROLES 命令在会话中激活一个或多个次要角色。同样,也可以使用 CREATE USER 或 ALTER USER 命令结合 DEFAULT_SECONDARY_ROLES 关键字为用户定义一组默认的次要角色。
当用户在会话中激活多个角色时,他们可以使用主要角色和所有次要角色的组合权限执行 SQL 语句。在创建对象或对对象执行其他操作时,这些权限的应用方式有所不同:
- 主要角色用于确定用户是否有权限执行 Snowflake 对象的 CREATE 语句。该角色还将被设置为用户创建的任何对象的所有者。
- 对于执行除 CREATE 之外的 SQL 语句,如果用户在主要角色或任何次要角色中被授予了足够的权限,Snowflake 将允许执行。
次要角色在拥有大量
超级会员免费看
订阅专栏 解锁全文
51

被折叠的 条评论
为什么被折叠?



