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:

REVOKE ROLE

GRANT DATABASE ROLE , REVOKE DATABASE ROLE

GRANT <privilégios> … TO ROLE

Sintaxe

GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }
Copy

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.

A operação em um objeto de esquema requer pelo menos um privilégio no banco de dados pai e um privilégio no esquema pai.

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;
Copy
GRANT ROLE analyst TO USER user1;
Copy