Kategorien:

Funktionen für Differential Privacy (differentielle Privatsphäre) , Tabellenfunktionen

ESTIMATE_REMAINING_DP_AGGREGATES

Gibt die geschätzte Anzahl der Funktionen zurück, die ausgeführt werden können, bevor die Beschränkung eines Datenschutzbudgets erreicht ist. Die Anzahl der verbleibenden Aggregate wird geschätzt. Die tatsächliche Anzahl der erlaubten Aggregatunktionen, bevor die Beschränkung des Datenschutzbudgets erreicht wird, kann in der Praxis von verschiedenen Faktoren abhängen.

Diese Funktion ist sowohl für die Implementierung von Differential Privacy (differentielle Privatsphäre) als auch für die Abfrage von datenschutzgeschützten Tabellen nützlich:

  • Analysten können diese Funktion nutzen, um grob abzuschätzen, wie viel Datenschutzbudget ihnen in einem Budgetfenster noch zur Verfügung steht.

  • Eigentümer von Datenschutzrichtlinien können mit dieser Funktion ihre Einstellungen des Datenschutzbudgets feinabstimmen, sodass die Beschränkung des Datenschutzbudgets für jeden Benutzer angemessen ist.

Das Datenschutzbudget wird pro Aggregatfunktion berechnet, nicht pro Abfrage. Die Abfrage SELECT SUM(age), COUNT(age) FROM T GROUP BY STATE; verursacht also einen doppelt so hohen Datenschutzverlust wie die Abfrage SELECT SUM(age) FROM T; (d. h. die Abfrage „kostet“ doppelt so viel). Im Allgemeinen kosten alle Aggregatfunktionen gleich viel: den Wert des Parameters MAX_BUDGET_PER_AGGREGATE im Textteil (Body) der Datenschutzrichtlinie. Beachten Sie, dass eine GROUP BY-Klausel nicht als eine Aggregatfunktion betrachtet wird und keinen Datenschutzverlust mit sich bringt.

Die Funktion gibt auch das ausgegebene Budget zurück (d. h. den aktuellen kumulativen Datenschutzverlust), aber Snowflake empfiehlt, sich bei der Verwendung der Funktion auf das geschätzte verbleibende Budget und nicht auf das ausgegebene Budget zu konzentrieren. Das ausgegebene Budget ist keine lineare Funktion (Anzahl der Aggregationen * Kosten pro Aggregation), sondern eine sublineare Funktion. Das bedeutet, dass die Gesamtkosten für zusätzliche Aggregationen mit der Nutzung während eines Budgetfensters abnehmen. Aus diesem Grund ist die geschätzte Anzahl der verbleibenden Aggregate größer als die Formel (verbleibendes Budget des Datenschutzverlustes) / (Datenschutzverlust pro Funktion).

Syntax

SNOWFLAKE.DATA_PRIVACY.ESTIMATE_REMAINING_DP_AGGREGATES('<table_name>')
Copy

Argumente

table_name

Der Name der Tabelle, die durch eine Richtlinie für Differential Privacy (differentielle Privatsphäre) geschützt ist. Die Funktion gibt die Daten des Datenschutzbudgets basierend auf den Abfragen zurück, die Sie seit der letzten Budgetaktualisierung für diese Tabelle ausgeführt haben.

Ausgabe

Die Funktion gibt eine Tabelle mit den folgenden Spalten zurück:

Spalte

Datentyp

Beschreibung

NUMBER_OF_REMAINING_DP_AGGREGATES

INT

Die geschätzte Anzahl der verbleibenden Aggregatunktionen, die ein Analyst aufrufen kann, bevor er die Beschränkung des Datenschutzbudgets überschreitet.

BUDGET_LIMIT

DECIMAL

Die aktuelle Beschränkung des Datenschutzbudgets zum Schutz der angegebenen Tabelle, wie in der Datenschutzrichtlinie definiert.

Um die Beschränkung des Datenschutzbudgets anzupassen, siehe Datenschutzeinstellungen für ein Datenschutzbudget festlegen.

BUDGET_WINDOW

STRING

Der Zeitraum für die Aktualisierung des Datenschutzbudgets, d. h. wie oft der kumulierte Datenschutzverlust auf 0 zurückgesetzt wird. In der Datenschutzrichtlinie zum Schutz der Tabelle definiert.

Um das Budgetfenster anzupassen, siehe Aktualisierungszeitraum.

BUDGET_SPENT

DECIMAL

Der kumulative Datenschutzverlust, der dem aktuellen Benutzer bei der Verwendung der aktuellen Rolle während des aktuellen Budgetfensters entstanden ist.

Zugriffssteuerungsrechte

Sie benötigen die folgenden Berechtigungen, um diese Funktion auszuführen:

  • SELECT-Berechtigung für die angegebene Tabelle

  • USAGE-Berechtigung auf die Datenbank und das Schema der angegebenen Tabelle.

Nutzungshinweise

  • Schätzungen basieren auf den Abfragen, die der Benutzer ausführt, der die Funktion ausführt. Eine Abfrage wird auf der Grundlage mehrerer Bedingungen mit einem Datenschutzbudget verbunden. Achten Sie also darauf, dass die Umgebung, die Sie zur Ausführung dieser Funktion verwenden, genau mit derjenigen übereinstimmt, in der die Abfragen ausgeführt werden (z. B. Benutzer, Rolle und Konto).

  • Wenn Sie eine Abfrage durchführen, die mehrere Tabellen verwendet, sollten Sie ESTIMATE_REMAINING_DP_AGGREGATES einmal pro Tabelle ausführen und dann den niedrigsten NUMBER_OF_REMAINING_DP_AGGREGATES Wert als geschätzte Nutzungsobergrenze verwenden.

  • Eine leere Ausgabe bedeutet, dass die Tabelle nicht durch Differential Privacy (differentielle Privatsphäre) geschützt ist (d. h. ihr ist keine Datenschutzrichtlinie zugewiesen).

Beispiele

SELECT * FROM TABLE(SNOWFLAKE.DATA_PRIVACY.ESTIMATE_REMAINING_DP_AGGREGATES('my_table'));
Copy
+-----------------------------------+--------------+---------------+--------------+
| NUMBER_OF_REMAINING_DP_AGGREGATES | BUDGET_LIMIT | BUDGET_WINDOW | BUDGET_SPENT |
|-----------------------------------+--------------+---------------+--------------|
|                 994               |     233      |     WEEKLY    |     1.8      |
+-----------------------------------+--------------+---------------+--------------+

Ein erweitertes Beispiel, das zeigt, wie Sie die Funktion ESTIMATE_REMAINING_DP_AGGREGATES verwenden können, um die Auswirkungen von Abfragen zu sehen, finden Sie unter Änderungsverfolgung der Ausgaben aus dem Datenschutzbudget.