- Categorias:
Funções do sistema (Informações do sistema)
EXPLAIN_GRANTABLE_PRIVILEGES¶
Retorna uma cadeia de caracteres JSON que representa todos os privilégios concedíveis para cada tipo de objeto no Snowflake. Esta função inclui informações abrangentes sobre os privilégios que podem ser concedidos em tipos de objeto diferentes, incluindo os tipos de concessões disponíveis para cada privilégio.
- Consulte também:
Sintaxe¶
Argumentos¶
Todos os argumentos são opcionais e usam a sintaxe de parâmetro nomeado:
grantee => 'grantee_type'Filtre os resultados por tipo de beneficiário. Valores válidos:
ROLEAPPLICATION
Padrão:
ROLEO tipo de beneficiário determina quais privilégios estão disponíveis. Por exemplo, aplicativos não podem ter propriedade individual de objetos.
object_type => 'object_type_name'Filtre os resultados para um único tipo de objeto. Aceita a forma no singular do nome do tipo de objeto (por exemplo,
'DATABASE','TABLE','SCHEMA'). O texto não diferencia maiúsculas de minúsculas.grant_type => 'grant_type_name'Filtre os resultados para privilégios compatíveis com um tipo de concessão específico. Valores válidos:
'INDIVIDUAL': concessões em objetos individuais. Consulte GRANT <privilégios> … TO ROLE.'ALL': concessões em massa em todos os objetos atuais (por exemplo,GRANT ... ON ALL TABLES IN SCHEMA). Consulte GRANT <privilégios> … TO ROLE.'FUTURE': concessões em massa em objetos futuros (por exemplo,GRANT ... ON FUTURE TABLES IN SCHEMA). Consulte Concessões futuras para objetos de banco de dados ou esquema.'INHERITED': concessões em massa em objetos atuais e futuros em um contêiner (combinaALLeFUTURE). Consulte GRANT <privilégios> … TO ROLE.'CALLER': concessões do autor da chamada em objetos individuais. Consulte GRANT CALLER.'INHERITED_CALLER': concessões em massa do autor da chamada em todos os objetos atuais e futuros em um contêiner (por exemplo,GRANT INHERITED CALLER ... ON ALL TABLES IN SCHEMA). Consulte GRANT CALLER.
O texto não diferencia maiúsculas de minúsculas.
Retornos¶
A função retorna um VARCHAR contendo uma matriz JSON. Cada elemento da matriz é um objeto JSON que representa um tipo de objeto e tem a seguinte estrutura:
Campos JSON:
parent: o tipo de objeto pai na hierarquia de objetos (por exemplo, SCHEMA é pai de TABLE). A cadeia de caracteres fica vazia para objetos de nível superior, como ACCOUNT.singular: a forma no singular do nome do tipo de objeto (por exemplo, DATABASE). Usado para concessões individuais.plural: a forma no plural do nome do tipo de objeto (por exemplo, DATABASES). Usado para concessões em massa.privileges: um mapa em que cada chave é um nome de privilégio e cada valor é uma matriz de nomes de tipos de concessão indicando como esse privilégio pode ser concedido.
Notas de uso¶
Todos os argumentos devem ser expressões de constantes. Não é possível passar valores de coluna ou outras expressões que não sejam de constantes.
Se nenhum argumento for fornecido, a função retornará todos os privilégios concedíveis para funções em todos os tipos de objetos.
Exemplos¶
Os exemplos a seguir chamam a função EXPLAIN_GRANTABLE_PRIVILEGES:
Obter todos os privilégios concedíveis para as funções¶
Retornar todos os tipos de objetos e os respectivos privilégios concedíveis para as funções:
Obter os privilégios para um tipo de objeto específico¶
Retornar somente os privilégios para o tipo de objeto 'DATABASE':
Exemplo de saída:
Filtrar por tipo de beneficiário¶
Retornar os privilégios disponíveis para os aplicativos:
Os aplicativos não podem ter propriedade individual, portanto OWNERSHIP mostra apenas os tipos de concessão, como 'ALL', 'FUTURE' e 'INHERITED'.