- Categorias:
POLICY_REFERENCES¶
Retorna uma linha para cada objeto que tem a política especificada atribuída ao objeto ou retorna uma linha para cada política atribuída ao objeto especificado.
Consulte também: Exibição POLICY_REFERENCES (Exibição Account Usage)
Sintaxe¶
Somente para objetos de política de redes:
POLICY_REFERENCES( POLICY_NAME => '<string>' , POLICY_KIND => 'NETWORK_POLICY' )
Para outros objetos de política:
POLICY_REFERENCES( POLICY_NAME => '<string>' )
Para todos os objetos de política:
POLICY_REFERENCES( REF_ENTITY_NAME => '<string>' , REF_ENTITY_DOMAIN => '<string>' )
Argumentos¶
POLICY_NAME => 'string'
Especifica o nome da política.
O nome completo da política deve ser delimitado por aspas simples.
Se o nome da política diferenciar letras maiúsculas e minúsculas ou incluir quaisquer caracteres ou espaços especiais, as aspas duplas são necessárias para processar o caso/caracteres. As aspas duplas devem ser incluídas dentro das aspas simples (ou seja,
'"<nome_política>"'
).
Atualmente, Snowflake oferece suporte às seguintes políticas ao especificar o nome da política como um argumento:
POLICY_KIND => 'NETWORK_POLICY'
Use este argumento somente quando o valor
POLICY_NAME
for uma política de redes. Não use esse argumento ao especificar o nome de outros tipos de políticas.REF_ENTITY_NAME => 'string'
O nome do objeto, como nome da tabela, nome da exibição, nome da tabela externa ou nome de usuário, no qual a política está definida.
O nome completo do objeto deve ser delimitado por aspas simples.
Se o nome da objeto diferenciar letras maiúsculas e minúsculas ou incluir quaisquer caracteres ou espaços especiais, as aspas duplas são necessárias para processar o caso/caracteres. As aspas duplas devem ser incluídas dentro das aspas simples (ou seja,
'"<nome_tabela>"'
).
REF_ENTITY_DOMAIN => 'string'
O tipo de objeto no qual a política está definida.
Se o objeto for uma tabela externa, use
'TABLE'
como valor de argumento.Se o objeto for uma exibição materializada, use
'VIEW'
como valor do argumento.Os domínios com suporte são:
'ACCOUNT'
'INTEGRATION'
'TABLE'
'TAG'
'USER'
'VIEW'
Retornos¶
A função retorna as seguintes colunas:
Coluna |
Tipo de dados |
Descrição |
---|---|---|
POLICY_DB |
VARCHAR |
O banco de dados no qual a política é definida. |
POLICY_SCHEMA |
VARCHAR |
O esquema no qual a política é definida. |
POLICY_NAME |
VARCHAR |
O nome da política. |
POLICY_KIND |
VARCHAR(17) |
O tipo de política no Snowflake. |
REF_DATABASE_NAME |
VARCHAR |
O nome do banco de dados que contém um objeto ao qual o objeto consultado faz referência. |
REF_SCHEMA_NAME |
VARCHAR |
O nome do esquema que contém um objeto ao qual o objeto consultado faz referência. |
REF_ENTITY_NAME |
VARCHAR |
O nome do objeto (isto é, nome_tabela, nome_exibição, nome_tabela_externa) no qual a política é definida. |
REF_ENTITY_DOMAIN |
VARCHAR |
O tipo de objeto (ou seja, tabela, exibição) no qual a política é definida. |
REF_COLUMN_NAME |
VARCHAR |
O nome da coluna na qual a política é definida. |
REF_ARG_COLUMN_NAMES |
VARCHAR |
Retorna NULL para linhas no resultado da consulta na qual é definida uma política de mascaramento. |
TAG_DATABASE |
VARCHAR |
O nome do banco de dados contendo a tag que tem uma política atribuída à tag ou NULL se uma política não for atribuída à tag. |
TAG_SCHEMA |
VARCHAR |
O nome do esquema contendo a tag que tem uma política atribuída à tag ou NULL se uma política não for atribuída à tag. |
TAG_NAME |
VARCHAR |
O nome da tag que tem uma política atribuída a ela ou NULL se uma política não for atribuída à tag. |
POLICY_STATUS |
VARCHAR |
Especifica o status da política, que pode ser um dos quatro valores possíveis: |
Observe o seguinte para a coluna POLICY_STATUS:
ACTIVE
Especifica que a coluna (isto é, REF_COLUMN_NAME) só é associada a uma única política por uma tag.
MULTIPLE_MASKING_POLICY_ASSIGNED_TO_THE_COLUMN
Especifica que múltiplas políticas de mascaramento são atribuídas à mesma coluna.
COLUMN_IS_MISSING_FOR_SECONDARY_ARG
Especifica que a política (isto é, POLICY_NAME) é uma política de mascaramento condicional e a tabela (isto é, REF_ENTITY_NAME) não tem uma coluna com o mesmo nome.
COLUMN_DATATYPE_MISMATCH_FOR_SECONDARY_ARG
Especifica que a política é uma política de mascaramento condicional e a tabela tem uma coluna com o mesmo nome, mas um tipo de dados diferente do tipo de dados na assinatura da política de mascaramento.
Notas de uso¶
Os resultados são retornados com base nos privilégios concedidos à função que executa a consulta:
Se a função tiver o privilégio global APPLY MASKING POLICY, o Snowflake retorna todas as associações de política de mascaramento no resultado da consulta.
Se a função tiver o privilégio global APPLY ROW ACCESS POLICY, o Snowflake retorna todas as associações de políticas de acesso a linhas no resultado da consulta.
Se a função tiver o privilégio APPLY em uma determinada política (por exemplo, APPLY em MASKING POLICY), o Snowflake retornará as associações dessa política somente para objetos que são de propriedade da função que executa a consulta.
Se a função tiver um dos privilégios globais APPLY ou o privilégio OWNERSHIP na política, mas não OWNERSHIP na tabela ou exibição (por exemplo, SELECT na tabela), o Snowflake não mostrará as associações de políticas no resultado da consulta.
Se a função não tiver nenhuma permissão de política mas tiver o privilégio OWNERSHIP na tabela, o Snowflake retornará uma mensagem de erro e não mostrará as associações de políticas.
Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou a função deve usar o nome do objeto totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.
Escolha uma variação de sintaxe para executar uma consulta. A mistura de argumentos resulta em erros e falhas nas consultas.
Os argumentos
ref_entity_name
eref_entity_domain
devem ser incluídos juntos, caso contrário a consulta falha.O Snowflake retorna erros se o nome do objeto especificado não existir ou se o operador da consulta não estiver autorizado a visualizar qualquer política no objeto. O Snowflake pode retornar um conjunto de resultados de associações de políticas se o operador for autorizado a visualizar um subconjunto das associações de políticas. Os tipos de objetos não suportados listados como
ref_entity_domain
(por exemplo,'stream'
) também retornam erros.O Snowflake não retorna um conjunto de resultados se o operador da consulta não tiver os privilégios APPLY ou OWNERSHIP sobre a política.
Exemplos¶
Retornar uma linha para cada objeto, como tabela ou exibição, que tenha a política de mascaramento chamada ssn_mask
definida na coluna:
use database my_db; use schema information_schema; select * from table(information_schema.policy_references(policy_name => 'my_db.my_schema.ssn_mask'));
Devolver uma linha para cada política atribuída à tabela chamada my_table
:
use database my_db; use schema information_schema; select * from table(information_schema.policy_references(ref_entity_name => 'my_db.my_schema.my_table', ref_entity_domain => 'table'));