Controle de acesso: concessão de REFERENCE_USAGE em um banco de dados a uma função que não é mais permitida¶
Atenção
Essa mudança de comportamento está no pacote 2023_02.
Para saber o status atual do pacote, consulte Histórico do pacote.
O comportamento da concessão do privilégio REFERENCE_USAGE foi alterado da seguinte forma:
- Anteriormente:
O privilégio REFERENCE_USAGE pode ser concedido no banco de dados individualmente, em uma série de privilégios ou com todos os privilégios para um objeto de função. Por exemplo:
grant reference_usage on database mydb to role r1; grant modify, reference_usage on database mydb to role r1; grant all privileges on database mydb to role r1;
A saída do comando SHOW GRANTS incluiu uma linha para o privilégio REFERENCE_USAGE para cada uma de suas concessões.
- Atualmente:
O privilégio REFERENCE_USAGE não pode ser concedido em um banco de dados a um objeto de função. Esse privilégio só pode ser concedido a um objeto de compartilhamento.
Se um usuário tentar conceder o privilégio REFERENCE_USAGE individualmente, o Snowflake retornará a seguinte mensagem de erro:
REFERENCE_USAGE ON DATABASE can only be granted to share(s).
Se um usuário especificar o privilégio REFERENCE_USAGE em uma série de privilégios ou tentar conceder todos os privilégios em um banco de dados, o Snowflake retornará a seguinte mensagem:
Grant partially executed: privileges [REFERENCE_USAGE] not granted.
O Snowflake permite privilégios que podem ser concedidos e impede a concessão do privilégio REFERENCE_USAGE.
A saída do comando SHOW GRANTS não inclui uma linha para a concessão do privilégio REFERENCE_USAGE em um banco de dados para um objeto de função.
Ref: 944