在Snowflake中为角色授予表所有权是否允许该角色执行Select查询?
Snowflake表所有权与SELECT权限关联说明
首先给出明确结论:角色被授予某张表的所有权后,默认自动拥有该表的SELECT查询权限,无需额外授权。
以下是对应的规则补充:
- Snowflake的权限体系中,
OWNERSHIP(所有权)是对象级的最高权限,天然包含对应对象的所有操作权限,SELECT、INSERT、UPDATE、DELETE、ALTER、DROP等所有表级操作权限都被包含在内。 - 所有权是隐式绑定的权限,无法单独回收所有权包含的某一项操作权限(比如你不能单独回收拥有所有权的角色的SELECT权限),只有将该表的所有权转移给其他角色后,原持有所有权的角色才会失去包括SELECT在内的所有关联权限。
- 你可以执行下方命令查看指定表的权限授予情况,核对对应角色的权限:
SHOW GRANTS ON TABLE <database_name>.<schema_name>.<table_name>;
- 如果拥有所有权的角色无法查询表,优先排查是否当前会话切换到了正确的角色、是否有权限访问表所在的数据库和 schema(所有权仅包含表本身的权限,库和 schema 的 USAGE 权限仍需要单独授予)。
内容的提问来源于stack exchange,提问作者thedre
相关产品推荐
相关产品推荐

