SHOW CALLER GRANTS¶
Lista as concessões de chamador que estão sendo usadas para implementar os direitos restritos do chamador.
Sintaxe¶
SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE } <owner_name>
}
Parâmetros¶
ON object_type object_name
ou .ON ACCOUNT
Especifica se deseja listar as concessões do chamador em um objeto específico ou listar todas as concessões de chamador que envolvem a conta.
Use a forma singular de
object_type
, por exemplo,TABLE
ouWAREHOUSE
.TO ROLE <owner_name>
ou .TO DATABASE ROLE <owner_name>
Especifica um proprietário de executável, que lista todas as concessões de chamador que foram concedidas a esse proprietário.
Saída¶
A saída do comando inclui as seguintes colunas, que descrevem as propriedades e metadados do objeto:
Coluna |
Descrição |
---|---|
|
Data e hora em que a concessão de chamador foi concedida. |
|
Privilégio com o qual os executáveis pertencentes a |
|
Tipo de objeto que está sujeito à concessão de chamador, independentemente de ter sido concedida diretamente em um objeto ou em todos os objetos desse tipo. |
|
Se a concessão de chamador foi concedida diretamente em um objeto específico, especifica o nome do objeto. |
|
Se Se |
|
Se a concessão de chamador foi concedida a todos os objetos de um determinado tipo usando uma instrução GRANT INHERITED CALLER ou GRANT ALL INHERITED CALLER PRIVILEGES, ela indica o nível em que foi concedida. |
|
Se |
|
Se |
|
Tipo de proprietário executável ao qual foi concedida a concessão de chamador. |
|
Nome do proprietário do executável ao qual foi concedida a concessão de chamador. |
Requisitos de controle de acesso¶
Qualquer pessoa pode executar o comando SHOW CALLER GRANTS TO … para listar as concessões de chamador que foram concedidas a um proprietário de executável específico.
A execução do comando SHOW CALLER GRANTS ON … requer o seguinte privilégio:
Privilégio |
Objeto |
Notas |
---|---|---|
Qualquer privilégio |
Objeto especificado |
Você precisa de pelo menos de um privilégio no objeto especificado no comando SHOW CALLER GRANTS. |
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.
Notas de uso¶
Ao executar uma instrução SHOW CALLER GRANTS ON …, diferentes linhas da saída podem indicar coisas diferentes. Por exemplo, uma linha pode indicar que uma concessão de chamador foi atribuída diretamente a um objeto, enquanto outra linha indica que o objeto foi especificado com uma cláusula IN na instrução GRANT. Para obter mais informações, consulte Como listar concessões do chamador.
Quando um usuário executa SHOW CALLER GRANTS, os resultados contêm apenas objetos para os quais ele tem pelo menos um privilégio. Para obter mais informações, consulte Saída condicional.
Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada.
Exemplos¶
Liste as concessões do chamador que foram concedidas na tabela t1
.
SHOW CALLER GRANTS ON TABLE t1;
Liste todas as concessões do chamador que foram concedidas para a conta atual. Isso inclui concessões diretamente na conta (GRANT CALLER … ON ACCOUNT) e concessões para todos os objetos em uma conta (GRANT INHERITED CALLER… IN ACCOUNT).
SHOW CALLER GRANTS ON ACCOUNT;
Liste todas as concessões do chamador que foram concedidas à função de banco de dados db.owner_role
.
SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;