Contrôle d’accès : accorder REFERENCE_USAGE sur une base de données à un rôle qui n’est plus autorisé

Attention

Ce changement de comportement est présent dans le bundle 2023_02.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Le comportement lié à l’octroi du privilège REFERENCE_USAGE a été modifié comme suit :

Précédemment:

Le privilège REFERENCE_USAGE peut être accordé à la base de données soit individuellement, soit dans le cadre d’une série de privilèges, soit avec tous les privilèges d’un objet de rôle. Par exemple :

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

La sortie de la commande SHOW GRANTS comprend une ligne pour le privilège REFERENCE_USAGE pour chacun de ses octrois.

Actuellement:

Le privilège REFERENCE_USAGE ne peut pas être accordé à un objet de rôle dans une base de données. Ce privilège ne peut être accordé qu’à un objet de partage.

Si un utilisateur tente d’accorder le privilège REFERENCE_USAGE individuellement, Snowflake renvoie le message d’erreur suivant :

REFERENCE_USAGE ON DATABASE can only be granted to share(s).

Si un utilisateur spécifie le privilège REFERENCE_USAGE dans une série de privilèges ou tente d’accorder tous les privilèges sur une base de données, Snowflake renvoie le message suivant :

Grant partially executed: privileges [REFERENCE_USAGE] not granted.

Snowflake autorise les privilèges qui peuvent être accordés et empêche l’octroi du privilège REFERENCE_USAGE.

La sortie de la commande SHOW GRANTS ne comprend pas de ligne pour l’octroi du privilège REFERENCE_USAGE sur une base de données à un objet de rôle.

Réf : 944