Zugriffssteuerung für Datenqualität

In den folgenden Abschnitten werden die Anforderungen an die Zugriffssteuerung für Aktionen im Zusammenhang mit Datenqualitäts- und Datenmetrikfunktionen (DMFs) beschrieben.

Allgemeine Aufgaben

Bemerkung

USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.

Aufgabe

Erforderliche Berechtigungen/Rollen

Anmerkungen

Verknüpfen einer DMF mit einer Tabelle oder Ansicht

EXECUTE DATA METRIC FUNCTION für das Konto

USAGE-Berechtigung für die DMF

Eine der folgenden Berechtigungen:

  • Rolle mit OWNERSHIP-Berechtigung für die Tabelle

  • Rolle, die die SELECT-Berechtigung für die Tabelle hat und durch die EXECUTE AS ROLE-Eigenschaft angegeben wird.

Weitere Informationen zur EXECUTE AS ROLE-Eigenschaft finden Sie unter:ref:label-data_quality_access_control_object_privilege.

Anzeigen von Verknüpfungen zwischen Objekten und DMFs

USAGE-Berechtigung für die DMF

SELECT-Berechtigung für die Tabelle oder Ansicht, die mit der DMF verknüpft ist

Eine benutzerdefinierte DMF erstellen

Berechtigung CREATE DATA METRIC FUNCTION für das Schema

Eine DMF aufrufen

USAGE-Berechtigung für die DMF

SELECT-Berechtigung für die im Aufruf angegebene Tabelle oder Ansicht

Anzeigen der Datenqualitätsergebnisse

Anzeigeoption

Erforderliche Berechtigungen/Rollen

Anmerkungen

DATA_QUALITY_MONITORING_RESULTS_RAW-Ereignistabelle

DATA_QUALITY_MONITORING_ADMIN-Anwendungsrolle

Ansicht DATA_QUALITY_MONITORING_RESULTS

Eine der folgenden Berechtigungen:

  • DATA_QUALITY_MONITORING_ADMIN-Anwendungsrolle

  • DATA_QUALITY_MONITORING_VIEWER-Anwendungsrolle

Funktion DATA_QUALITY_MONITORING_RESULTS

Eine der folgenden Berechtigungen:

  • DATA_QUALITY_MONITORING_ADMIN-Anwendungsrolle

  • DATA_QUALITY_MONITORING_VIEWER-Anwendungsrolle

  • DATA_QUALITY_MONITORING_LOOKUP-Anwendungsrolle

Bei Verwendung der DATA_QUALITY_MONITORING_LOOKUP-Anwendungsrolle benötigen Sie außerdem Folgendes:

  • OWNERSHIP- oder SELECT-Berechtigung für die Tabelle, die mit der DMF verknüpft ist

  • USAGE-Berechtigung für die DMF

Erforderliche Berechtigung für die Tabelle oder Ansicht

Eine der Anforderungen für Zugriffssteuerung für das Verknüpfen einer DMF mit einer Tabelle oder Ansicht bedeutet, die entsprechende Berechtigung für diese Tabelle oder Ansicht zu haben. Um eine DMF mit einem Objekt zu verknüpfen, muss Ihre Rolle über eine der folgenden Berechtigungen verfügen:

  • OWNERSHIP-Berechtigung für die Tabelle oder Ansicht

  • SELECT-Berechtigung für die Tabelle oder Ansicht

Wenn Rollen mit der SELECT-Berechtigung für ein Objekt DMFs Mit dem Objekt verknüpfen können sollen, müssen Sie die EXECUTE AS ROLE-Eigenschaft bei der Definition der Verknüpfung festlegen. Diese Eigenschaft gibt die Rolle an, mit der die DMF ausgeführt wird. Angenommen, die Rolle analyst_role hat die SELECT-Berechtigung für die Tabelle t1. Um die positive_number_count DMF mit der Tabelle t1 zu verknüpfen, damit sie mit der Rolle analyst_role ausgeführt wird, führen Sie den folgenden Befehl aus:

ALTER TABLE t1
  ADD DATA METRIC FUNCTION governance.dfms.positive_number_count on (c1, c2, c3)
    EXECUTE AS ROLE analyst_role;
Copy

Dieser Befehl kann von Benutzenden mit der Rolle analyst_role oder Benutzenden mit einer Rolle ausgeführt werden, die in der Rollenhierarchie höher steht (z. B. die ACCOUNTADMIN-Rolle).

Wenn die EXECUTE AS ROLE-Eigenschaft nicht angegeben ist, wird die DMF mit der Rolle des Tabelleneigentümers ausgeführt. Die Rolle, mit der die DMF ausgeführt wird, ist wichtig, weil sie sich auf Data Governance-Richtlinien auswirken kann, die sich je nach Rolle der aktuellen Benutzenden unterschiedlich verhalten.

Vorteile der EXECUTE AS ROLE-Eigenschaft

Die EXECUTE AS ROLE-Eigenschaft ermöglicht es einem Nicht-Eigentümer, eine DMF für eine Tabelle oder Ansicht zu verknüpfen und auszuführen. Dadurch kann ein Datenverwalter Datenqualitätsprüfungen erstellen, ohne Eigentümer der Tabelle sein zu müssen.

Einschränkungen

Sie können die MODIFY DATA METRIC FUNCTION-Klausel nicht verwenden, um die durch die EXECUTE AS ROLE-Eigenschaft angegebene Rolle zu ändern. Sie müssen die Zuordnung löschen und sie dann mit einer neuen EXECUTE AS ROLE-Rolle erneut erstellen.

Gewähren der USAGE-Berechtigung für System-DMFs

Das Zuordnen und Ausführen einer System-DMF erfordert die USAGE-Berechtigung für die System-DMF. Sie können die SNOWFLAKE.DATA_METRIC_USER-Datenbankrolle gewähren, um Benutzenden die die USAGE-Berechtigung für alle System-DMFs zu geben.

Um z. B. Benutzenden mit der data_governor-Rolle das Arbeiten mit System-DMFs zu erlauben, führen Sie den folgenden Befehl aus:

GRANT DATABASE ROLE snowflake.data_metric_user TO ROLE data_governor;
Copy

Alternativ dazu gewähren die folgenden Zugriffssteuerungsoptionen auch die USAGE-Berechtigung für System-DMFs. Seien Sie vorsichtig, da diese Optionen Zugriff auf mehr als nur System-DMFs bieten.

Erteilen von Berechtigungen für eine kundenspezifische DMF

Für die Befehle GRANT und REVOKE müssen Sie die Argumente der von Ihnen erstellten kundenspezifischen DMF angeben. Beispiel:

GRANT USAGE ON FUNCTION
  governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
  TO data_engineer;
Copy