GRANT DATABASE ROLE¶
Atribui uma função de banco de dados a uma função de conta ou outra função de banco de dados.
Esta ação cria uma relação «pai-filho» entre a função de banco de dados e a função a que é concedida (também chamada de hierarquia de função).
Note que as funções de banco de dados não podem ser concedidas diretamente aos usuários.
Para obter mais detalhes, consulte Visão geral do controle de acesso.
- Consulte também:
Sintaxe¶
GRANT DATABASE ROLE <name> TO ROLE <parent_role_name>
Parâmetros¶
name
Especifica o identificador (ou seja, nome) para a função do banco de dados; deve ser único no banco de dados no qual a função é criada.
O identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.Se o identificador não estiver totalmente qualificado (na forma de
db_name.database_role_name
), o comando procura a função do banco de dados no banco de dados atual para a sessão.ROLE parent_role_name
Concede a função à função de conta especificada ou à função de banco de dados.
Uma função de banco de dados pode ser concedida tanto a uma função de conta quanto a outra função de banco de dados no mesmo banco de dados. Se a função pai for uma função de banco de dados e o identificador não estiver totalmente qualificado (na forma de
db_name.database_role_name
), o comando procura a função do banco de dados no banco de dados atual para a sessão.
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio ou função |
Objeto |
Notas |
---|---|---|
ACCOUNTADMIN |
SNOWFLAKE.BUDGET_CREATOR |
Um usuário com a função ACCOUNTADMIN pode conceder essa função de banco de dados a uma função personalizada. |
OWNERSHIP |
Função |
Função atribuída a um usuário ou a outra função. |
Alternativamente, use uma função com o privilégio global MANAGE GRANTS. Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.
Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.
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¶
As funções definidas pelo sistema, incluindo PUBLIC, não precisam ser concedidas a outras funções porque a hierarquia de funções para essas funções é definida e mantida pelo Snowflake.
Exemplos¶
GRANT DATABASE ROLE analyst TO ROLE SYSADMIN;