GRANT ROLE¶
Atribui uma função a um usuário ou outra função:
A concessão de uma função a outra cria uma relação “pai-filho” entre as funções (também referida como hierarquia de funções).
A concessão de uma função a um usuário permite ao usuário realizar todas as operações permitidas pela função (por meio dos privilégios de acesso concedidos à função).
Para obter mais detalhes, consulte Visão geral do controle de acesso.
- Consulte também:
Sintaxe¶
GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }
Parâmetros¶
name
Especifica o identificador da função a ser concedida. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
ROLE parent_role_name
Concede a função à função especificada.
USER user_name
Concede a função ao usuário especificado.
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 |
Objeto |
Notas |
---|---|---|
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 ROLE analyst TO ROLE SYSADMIN;
GRANT ROLE analyst TO USER user1;