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¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
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.
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.
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;