对 CREATE <class_name> 权限的复制支持(待定)

注意

此行为变更包含在 2024_04 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

CREATE <class_name> 权限是向角色授予架构。获授此权限的角色可用于创建类 <class_name> 实例。

例如,以下语句向角色 budget_creator 授予创建 SNOWFLAKE.CORE.BUDGET 类(在架构 budgets_db.budgets_schema 中)的实例的权限:

GRANT CREATE SNOWFLAKE.CORE.BUDGET
  ON SCHEMA budgets_db.budgets_schema
  TO ROLE budget_creator;
Copy

备注

仅当 ROLES 对象类型包含在复制组或故障转移组的 OBECT_TYPES 列表中时,授予角色的权限才会复制到目标账户。还必须复制授予权限的对象。

CREATE <class_name> 权限的复制行为如下:

变更前:

如果向角色授予源账户中架构的 CREATE <class_name> 权限,则此权限授予 复制到目标账户。

例如,CREATE SNOWFLAKE.ML.FORECAST 权限是在源账户中使用以下语句授予的:

GRANT CREATE SNOWFLAKE.ML.FORECAST
  ON SCHEMA admin_db.admin_schema
  TO ROLE analyst;
Copy

如果将数据库 admin_db 和角色复制到目标账户,则 CREATE SNOWFLAKE.ML.FORECAST 权限授予不可复制。角色 analyst 无法在目标账户中创建 SNOWFLAKE.ML.FORECAST 类的实例。

变更后:

如果向角色授予源账户中架构的 CREATE <class_name> 权限,如果复制组或故障转移组中包含以下对象,则权限授予将复制到目标账户:

  • 包含获授权限的架构的数据库。

  • ROLES 对象类型包含在 OBJECT_TYPES 列表中。

在目标账户中获授 CREATE <class_name> 权限角色的用户可以在目标账户中的复制架构中创建 <class_name> 的实例。

例如,CREATE SNOWFLAKE.ML.FORECAST 权限在源账户中使用以下语句授予:

GRANT CREATE SNOWFLAKE.ML.FORECAST
  ON SCHEMA admin_db.admin_schema
  TO ROLE analyst;
Copy

如果将数据库 admin_db 和角色复制到目标账户,则 CREATE SNOWFLAKE.ML.FORECAST 权限授予会复制。角色 analyst 无法在目标账户中创建 SNOWFLAKE.ML.FORECAST 类的实例。

有关可用的 Snowflake 类的列表,请参阅 SQL 类参考

参考:1607

语言: 中文