ALTER PACKAGES POLICY

Modifica as propriedades para uma política de pacotes existente.

Quaisquer alterações feitas nas propriedades da política de pacotes entram em vigor quando a próxima consulta SQL que utiliza a política de pacotes for executada.

Sintaxe

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

Parâmetros

name

Especifica o identificador para a política de pacotes a ser alterada. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais detalhes, consulte Requisitos para identificadores.

SET ...

Especifica uma ou mais propriedades a serem definidas para a política de pacotes.

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

Especifica uma lista de especificações de pacotes permitidas.

Padrão: ('*') (ou seja, permitir todos os pacotes).

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

Especifica uma lista de especificações de pacotes bloqueadas. Para remover este parâmetro, especifique uma lista vazia.

Padrão: () (ou seja, não bloqueia nenhum pacote).

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

Especifica uma lista de especificações de pacotes bloqueadas no momento da criação. Para remover este parâmetro, especifique uma lista vazia. Se ADDITIONAL_CREATION_BLOCKLIST estiver definido, ele será anexado ao BLOCKLIST básico no momento da criação. Para UDFs temporárias e procedimentos armazenados anônimos, o ADDITIONAL_CREATION_BLOCKLIST é anexado ao BLOCKLIST básico no momento da criação e da execução.

Padrão: () (ou seja, não bloqueia nenhum pacote).

COMMENT = 'string_literal'

Adiciona um comentário ou substitui um comentário existente para a política de pacotes.

UNSET ...

Especifica uma ou mais propriedades a serem removidas para a política de pacotes, que as redefine aos padrões:

  • ALLOWLIST

  • BLOCKLIST

  • ADDITIONAL_CREATION_BLOCKLIST

  • COMMENT

Você pode redefinir várias propriedades com uma única instrução ALTER; no entanto, cada propriedade deve ser separada por uma vírgula. Ao redefinir uma propriedade/parâmetro, especificar somente o nome; especificar um valor para a propriedade retornará um erro.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

OWNERSHIP

Política de pacotes

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).

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • Se você quiser atualizar uma política de pacotes existente e precisar ver a definição atual da política, chame a função GET_DDL ou execute o comando DESCRIBE PACKAGES POLICY.

  • Em relação aos metadados:

    Atenção

    Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.

Exemplos

O exemplo a seguir atualiza a política de pacotes.

ALTER PACKAGES POLICY packages_policy_prod_1 SET ALLOWLIST = ('pandas==1.2.3');
Copy