ALTER PACKAGES POLICY

修改现有 包策略 的属性。

在下一个使用包策略的 SQL 查询运行时,对包策略属性所做的任何更改才会生效。

语法

ALTER PACKAGES POLICY [ IF EXISTS ] <name> SET
  [ ALLOWLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ ADDITIONAL_CREATION_BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ COMMENT = '<string_literal>' ]

ALTER PACKAGES POLICY [ IF EXISTS ] <name> UNSET
  [ ALLOWLIST ]
  [ BLOCKLIST ]
  [ ADDITIONAL_CREATION_BLOCKLIST ]
  [ COMMENT ]
Copy

参数

name

指定要更改的包策略的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多详细信息,请参阅 标识符要求

SET ...

指定要为包策略设置的一个或多个属性。

ALLOWLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

指定允许的包规范列表。

默认值:('*') (即允许所有包)。

BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

指定被阻止的包规范列表。若要取消设置此参数,请指定一个空列表。

默认值:() (即不阻止任何包)。

ADDITIONAL_CREATION_BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

指定在创建时被阻止的包规范列表。若要取消设置此参数,请指定一个空列表。如果设置了 ADDITIONAL_CREATION_BLOCKLIST,则它会在创建时追加到基本 BLOCKLIST。对于临时 UDFs 和匿名存储过程,ADDITIONAL_CREATION_BLOCKLIST 在创建和执行时都会追加到基本 BLOCKLIST。

默认值:() (即不阻止任何包)。

COMMENT = 'string_literal'

为包策略添加注释或覆盖现有注释。

UNSET ...

指定要为包策略取消设置的一个或多个属性,这会将其重置为默认值:

  • ALLOWLIST

  • BLOCKLIST

  • ADDITIONAL_CREATION_BLOCKLIST

  • COMMENT

您可以使用单个 ALTER 语句重置多个属性;但是,每个属性 必须 用逗号分隔。重置属性时,请仅指定名称;指定属性的值将返回错误。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

包策略

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 如果您想更新现有包策略并需要查看该策略的当前定义,请调用 GET_DDL 函数或运行 DESCRIBE PACKAGES POLICY 命令。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

以下示例更新了包策略。

ALTER PACKAGES POLICY packages_policy_prod_1 SET ALLOWLIST = ('pandas==1.2.3');
Copy
语言: 中文