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

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