动态表访问控制

本主题讨论对动态表执行创建、查询、更改、查看和删除等操作所需的权限。

要让用户完全访问动态表,可以执行以下任一操作:

要了解有关 Snowflake 权限模型的更多信息,请参阅 访问控制概述访问控制权限

创建动态表的权限

要创建动态表,必须使用具有以下权限的角色:

权限

对象

CREATE DYNAMIC TABLE

计划在其中创建动态表的架构。

SELECT

计划为新动态表查询的现有表和视图。

USAGE

计划用于新动态表的数据库和架构。

计划用于刷新表的仓库。

要创建依赖于另一个动态表的动态表,必须使用具有以下权限的角色:

权限

对象

SELECT

创建新的动态表时计划查询的动态表。

OPERATE

新动态表依赖的所有上游动态表。只有在创建动态表时设置为同步刷新时才需要。

查询动态表的权限

要查询动态表,可以使用具有 创建动态表权限 的角色。对于用户(例如数据分析师)只需查询动态表的情况,可使用具有以下权限的角色:

权限

对象

USAGE

包含动态表的数据库和架构。

用于刷新表格的仓库。

SELECT

查询的动态表。

更改动态表的权限

要更改动态表,必须使用拥有该动态表的 OWNERSHIP 或 OPERATE 权限的角色。

如果拥有动态表的 OPERATE 权限,可以使用 ALTER DYNAMIC TABLE 命令执行以下操作:

查看动态表元数据的权限

要查看动态表的元数据和 Information Schema,必须使用具有该动态表 MONITOR 权限的角色。

虽然 OPERATE 权限授予了这一访问权限,但它也包括更改动态表的功能,因此 MONITOR 更适合用户不需要更改动态表的情况。例如,数据科学家拥有的角色。

如果拥有动态表的 MONITOR 权限,则可以执行以下操作:

  • 使用 DESCRIBE DYNAMIC TABLE 命令和 Snowsight 动态表详细信息页面查看动态表的具体详细信息。如果只拥有动态表的 SELECT 权限,则以下字段会隐藏:textwarehousescheduling_statelast_suspended_onsuspend_reason_code (仅限 UI)。

  • 使用 SHOW DYNAMIC TABLES 命令查看可以访问哪些动态表。

  • 导航至 DYNAMIC_TABLE_GRAPH_HISTORY 表函数,查看图表历史记录。

  • 导航至 DYNAMIC_TABLE_REFRESH_HISTORY 表函数,查看刷新历史记录。

删除动态表的权限

要删除动态表,必须使用具有该动态表 OWNERSHIP 权限的角色。

语言: 中文