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:

REVOKE DATABASE ROLE

GRANT ROLE , REVOKE ROLE

GRANT <privilégios>

Sintaxe

GRANT DATABASE ROLE <name> TO ROLE <parent_role_name>
Copy

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;
Copy