- 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_NAMEfor 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:
ACTIVEEspecifica que a coluna (isto é, REF_COLUMN_NAME) só é associada a uma única política por uma tag.
MULTIPLE_MASKING_POLICY_ASSIGNED_TO_THE_COLUMNEspecifica que múltiplas políticas de mascaramento são atribuídas à mesma coluna.
COLUMN_IS_MISSING_FOR_SECONDARY_ARGEspecifica 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_ARGEspecifica 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 o privilégio APPLY ou OWNERSHIP na política, mas não OWNERSHIP na tabela ou exibição, o Snowflake não mostrará as associações de política no resultado da consulta. Ter o privilégio SELECT na tabela ou exibição não é suficiente.
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_nameeref_entity_domaindevem 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'));