- Categorias:
Funções de contexto (Objeto da sessão)
IS_GRANTED_TO_INVOKER_ROLE¶
Retorna TRUE se a função retornada pela função INVOKER_ROLE herdar os privilégios da função especificada no argumento com base no contexto no qual a função é chamada.
A função INVOKER_ROLE identifica e retorna apenas a função da conta do objeto executando uma instrução SQL. As funções de banco de dados não são suportadas.
- Consulte também:
Sintaxe¶
IS_GRANTED_TO_INVOKER_ROLE( '<string_literal>' )
Argumentos¶
'string_literal'
O nome da função.
Notas de uso¶
Se usar a função IS_GRANTED_TO_INVOKER_ROLE com a política de mascaramento ou a política de acesso a linhas, verifique se sua conta Snowflake é Enterprise Edition ou superior.
Apenas um nome de função pode ser passado como argumento.
A tabela a seguir resume o contexto no qual você pode chamar a função e a hierarquia da função que o Snowflake avalia.
Contexto
Função avaliada
Usuário
Tabela
CURRENT_ROLE.
Exibição
Função do proprietário da exibição.
UDF
Função do proprietário da UDF.
Procedimento armazenado com direitos do chamador
CURRENT_ROLE.
Procedimento armazenado com direitos do proprietário
Função do proprietário do procedimento armazenado
Tarefa
Função do proprietário da tarefa.
Fluxo
A função que consulta um determinado fluxo.
Se preferir avaliar a hierarquia da função da sessão atual, chame IS_ROLE_IN_SESSION em vez disso.
Exemplo¶
Chame a função diretamente:
IS_GRANTED_TO_INVOKER_ROLE('ANALYST') --------------------------------------+ IS_GRANTED_TO_INVOKER_ROLE('ANALYST') | --------------------------------------+ TRUE | --------------------------------------+
Especifique a função no corpo da política de mascaramento:
CREATE OR REPLACE MASKING POLICY mask_string AS
(val string) RETURNS string ->
CASE
WHEN IS_GRANTED_TO_INVOKER_ROLE('ANALYST') then val
ELSE '*******'
END;