ALTER TAG

Modifica as propriedades de uma tag existente, incluindo a renomeação da tag e a definição de uma política de mascaramento em uma tag.

Qualquer alteração feita na tag entra em vigor quando a próxima consulta SQL que usar a tag for executada.

Consulte também:

Especificação de valores da tag, Referência DDL de tags

Sintaxe

ALTER TAG [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER TAG [ IF EXISTS ] <name> { ADD | DROP } ALLOWED_VALUES '<val_1>' [ , '<val_2>' [ , ... ] ]

ALTER TAG <name> UNSET ALLOWED_VALUES

ALTER TAG <name> SET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ]
                                                          [ FORCE ]

ALTER TAG <name> UNSET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ]

ALTER TAG [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'

ALTER TAG [ IF EXISTS ] <name> UNSET COMMENT
Copy

Parâmetros

name

Identificador para a tag. Atribuir o valor da tag de cadeia de caracteres em um objeto usando uma instrução CREATE <objeto> ou uma instrução ALTER <objeto>.

O valor do identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo “Meu objeto”). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais detalhes, consulte Requisitos para identificadores

RENAME TO new_name

Especifica o novo identificador para a tag; deve ser único para seu esquema. O novo identificador não pode ser usado se o identificador já estiver em vigor para uma tag diferente.

Para obter mais detalhes, consulte Requisitos para identificadores.

Você pode mover o objeto para um banco de dados e/ou esquema diferente enquanto opcionalmente renomeia o objeto. Para isso, especifique um valor qualificado new_name que inclua o novo banco de dados e/ou nome do esquema no formulário db_name.schema_name.object_name ou schema_name.object_name, respectivamente.

Nota

  • O banco de dados e/ou esquema de destino já deve existir. Além disso, um objeto com o mesmo nome não pode já existir no banco de dados de destino; caso contrário, a instrução retorna um erro.

  • É proibido mover um objeto para um esquema de acesso gerenciado a menos que o proprietário do objeto (ou seja, a função que tem o privilégio OWNERSHIP sobre o objeto) também possua o esquema de destino.

ALLOWED_VALUES 'val_1' [ , 'val_2' [ , ... ] ]

Especifica uma lista separada por vírgula dos possíveis valores de cadeia de caracteres que podem ser atribuídos à tag quando a tag é definida em um objeto usando o comando correspondente CREATE <objeto> ou ALTER <objeto>.

O número máximo de valores de tag nesta lista é 300.

Padrão: NULL (todos os valores de cadeia de caracteres são permitidos, incluindo um valor de cadeia de caracteres vazio (isto é, ' ')).

masking_policy_name [ , MASKING POLICY masking_policy_2_name , ... ]

Especifica uma lista separada por vírgula de políticas de mascaramento que pode ser atribuída à tag.

FORCE

Substitui uma política de mascaramento que está atualmente definida em uma tag por uma política de mascaramento diferente em uma única instrução.

Note que o uso da palavra-chave FORCE substitui a política de mascaramento quando uma política do mesmo tipo de dados já está definida na tag.

Se uma política de mascaramento não estiver definida atualmente na tag, a especificação dessa palavra-chave não terá efeito.

Para obter mais detalhes, consulte Substituição de uma política de mascaramento em uma tag.

COMMENT = 'string_literal'

Especifica um comentário para a tag.

Padrão: sem valor

UNSET

Especifica uma (ou mais) propriedades e/ou parâmetros a serem removidos da definição para a tag, que os redefine aos padrões:

  • COMMENT

  • ALLOWED_VALUES

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

Tag

Este privilégio é necessário para modificar as propriedades da tag (por exemplo, comentário, valores permitidos).

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

APPLY MASKING POLICY

Conta

A atribuição e substituição de uma política de mascaramento em uma tag requer o privilégio global APPLY MASKING POLICY.

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.

Para detalhes adicionais sobre a tag DDL e privilégios, consulte Gerenciamento de tags.

Notas de uso

  • Para obter mais informações sobre a autorização da tag DDL, consulte os privilégios obrigatórios.

  • Em relação à atribuição de uma ou mais políticas de mascaramento a uma tag:

    • Uma tag pode ter apenas uma política de mascaramento por tipo de dados.

      Por exemplo, uma tag pode ter uma política para o tipo de dados STRING, uma política para o tipo de dados NUMBER, e assim por diante.

    • Se uma política de mascaramento já proteger uma coluna e a tag com uma política de mascaramento for definida na mesma coluna, a política de mascaramento diretamente atribuída à coluna tem precedência sobre a política de mascaramento atribuída à tag.

    • Uma tag não pode ser descartada se uma política de mascaramento for atribuída à tag, nem a política de mascaramento pode ser descartada se a política de mascaramento for atribuída a uma tag.

  • Quanto à replicação, particularmente com políticas de mascaramento baseadas em tags, consulte considerações sobre replicação de políticas.

  • 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

Renomear a tag cost_center como cost_center_na, onde na especifica a América do Norte.

ALTER TAG cost_center RENAME TO cost_center_na;
Copy