Contrôle d’accès pour la qualité des données¶
Les sections suivantes décrivent les exigences en matière de contrôle d’accès pour les actions liées à la qualité des données et aux fonctions de métrique des données (DMFs).
Tâches communes¶
Note
Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma. Notez qu’un rôle doté d’un privilège quelconque sur un schéma permet à ce rôle de résoudre le schéma. Par exemple, un rôle doté du privilège CREATE sur un schéma peut créer des objets sur ce schéma sans également avoir le privilège USAGE attribué sur ce schéma.
Tâche |
Privilèges/rôles exigés |
Remarques |
|---|---|---|
Associer une DMF à une table ou une vue |
EXECUTE DATA METRIC FUNCTION sur le compte |
|
Privilège USAGE sur la DMF |
|
|
Un des éléments suivants :
|
Pour plus d’informations sur la propriété EXECUTE AS ROLE, consultez Privilège requis sur la table ou la vue. |
|
Visualiser les associations entre les objets et les DMFs |
Privilège USAGE sur la DMF |
|
Privilège SELECT sur la table ou la vue associée à la DMF |
||
Création d’une DMF personnalisée |
Privilège CREATE DATA METRIC FUNCTION sur le schéma |
|
Appeler manuellement une DMF |
Privilège USAGE sur la DMF |
|
Privilège SELECT sur la table ou la vue spécifiée dans l’appel |
Affichage des résultats de la qualité des données¶
Option d’affichage |
Privilèges/rôles exigés |
Remarques |
|---|---|---|
Tableau d’événements DATA_QUALITY_MONITORING_RESULTS_RAW |
Rôle d’application DATA_QUALITY_MONITORING_ADMIN |
|
Vue DATA_QUALITY_MONITORING_RESULTS |
Un des éléments suivants :
|
|
Fonction DATA_QUALITY_MONITORING_RESULTS |
Un des éléments suivants :
|
|
Si vous utilisez le rôle d’application DATA_QUALITY_MONITORING_LOOKUP, vous avez également besoin de :
|
|
Privilège requis sur la table ou la vue¶
L’une des exigences de contrôle d’accès pour associer une DMF à une table ou une vue est de disposer du privilège approprié sur cette table ou cette vue. Pour associer une DMF à un objet, votre rôle doit posséder l’un des privilèges suivants :
Privilège OWNERSHIP sur la table ou la vue
Privilège SELECT sur la table ou la vue
Si vous souhaitez que les rôles bénéficiant du privilège SELECT sur un objet puissent associer des DMFs à cet objet, vous devez définir la propriété EXECUTE AS ROLE lors de la définition de l’association. Cette propriété spécifie le rôle avec lequel la DMF s’exécute. Par exemple, supposons que le rôle analyst_role possède le privilège SELECT sur la table t1. Pour associer la DMF positive_number_count à la table t1 de sorte qu’elle fonctionne avec le rôle analyst_role, exécutez la commande suivante :
ALTER TABLE t1
ADD DATA METRIC FUNCTION governance.dfms.positive_number_count on (c1, c2, c3)
EXECUTE AS ROLE analyst_role;
Cette commande peut être exécutée par un utilisateur ayant le rôle analyst_role ou par un utilisateur dont le rôle est supérieur dans la hiérarchie des rôles (par exemple, le rôle ACCOUNTADMIN).
Si la propriété EXECUTE AS ROLE n’est pas spécifiée, la DMF s’exécute avec le rôle du propriétaire de la table. Le rôle avec lequel la DMF s’exécute est important, car il peut affecter les politiques de gouvernance des données qui se comportent différemment selon le rôle de l’utilisateur actuel.
Avantages de la propriété EXECUTE AS ROLE¶
La propriété EXECUTE AS ROLE permet à un non-propriétaire d’associer et d’exécuter une DMF sur une table ou une vue. Cela permet à un gouverneur de données de créer des contrôles de qualité des données sans avoir besoin de posséder la table.
Limitations¶
Vous ne pouvez pas utiliser la clause MODIFY DATA METRIC FUNCTION pour modifier le rôle spécifié par la propriété EXECUTE AS ROLE. Vous devez détruire l’association, puis la recréer avec un nouveau rôle EXECUTE AS ROLE.
Accorder le privilège USAGE sur les DMFs système¶
Associer et exécuter une DMF système requiert le privilège USAGE sur la DMF système. Vous pouvez accorder le rôle de base de données SNOWFLAKE.DATA_METRIC_USER pour donner aux utilisateurs le privilège USAGE sur toutes les DMFs système.
Par exemple, pour permettre aux utilisateurs disposant du rôle data_governor de travailler avec les DMFs système, exécutez la commande suivante :
GRANT DATABASE ROLE snowflake.data_metric_user TO ROLE data_governor;
Alternativement, les options de contrôle d’accès suivantes accordent également le privilège USAGE sur les DMFs système : Faites preuve de prudence, car ces options donnent accès à bien plus qu’aux DMFs système.
Accorder IMPORTED PRIVILEGES sur la base de données SNOWFLAKE au rôle de propriétaire de la table. Pour plus d’informations, voir Permettre à d’autres rôles d’utiliser des schémas dans la base de données SNOWFLAKE.
Utilisez le rôle ACCOUNTADMIN.
Accorder des privilèges sur une DMF personnalisée¶
Les commandes GRANT et REVOKE exigent que vous spécifiez les arguments de la DMF personnalisée que vous créez. Par exemple :
GRANT USAGE ON FUNCTION
governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
TO data_engineer;