Arbeiten mit Datenschutzbudgets

Unter diesem Thema werden die Aufgaben beschrieben, die ein Datenanbieter, der Differential Privacy (differentielle Privatsphäre) implementiert hat, zur Verwaltung von Datenschutzbudgets durchführen kann. Eine Einführung in Datenschutzbudgets und wie sie dazu beitragen, dass Abfragen keine sensiblen Informationen über eine Entität preisgeben, finden Sie unter Beschränkung des Datenschutzverlustes.

Ein Datenschutzbudget wird automatisch erstellt, wenn Sie einen Namen für das Datenschutzbudget im Textteil (Body) der Datenschutzrichtlinie festlegen. Sie erstellen kein Datenschutzbudget unabhängig von einer Datenschutzrichtlinie.

Um ein Datenschutzbudget zu verwalten, benötigen Sie die OWNERSHIP-Berechtigung für die Datenschutzrichtlinie, in der das Datenschutzbudget festgelegt ist.

Datenschutzbudget anzeigen

Jedes Datenschutzbudget hat einen Namespace für eine Datenschutzrichtlinie. Es kann mehrere Datenschutzbudgets mit demselben Namen geben, aber jedes ist einzigartig für eine Datenschutzrichtlinie. Innerhalb einer Datenschutzrichtlinie wird ein Datenschutzbudget dem Konto des Verbrauchers zugeordnet, das den Datenschutzverlust verursacht <label-diff_privacy_loss_budgets>. Daher können mehrere Konten ein Datenschutzbudget mit demselben Namen und derselben Beschränkung des Datenschutzverlusts haben, aber Snowflake berechnet den kumulierten Datenschutzverlust für jedes Konto separat.

Wenn Sie sich ein Datenschutzbudget anzeigen, sehen Sie seine Beschränkung für den Datenschutzverlust sowie den kumulativen Datenschutzverlust der Benutzer, die mit diesem Budget verbunden sind. Anhand dieser Informationen können Sie feststellen, ob sich der kumulierte Datenschutzverlust der Beschränkung des Datenschutzbudgets nähert.

Bemerkung

Der mit einem Datenschutzbudget verbundene kumulative Datenschutzverlust umfasst nicht den Datenschutzverlust, der auf Konten außerhalb des Kontos des Datenanbieters entsteht.

Sie haben die folgenden zwei Optionen zur Anzeige von Datenschutzbudgets. Bei beiden Optionen wird ein Datenschutzbudget nur angezeigt, wenn die mit dem Datenschutzbudget verbundenen Analysten einen Datenschutzverlust erlitten haben oder wenn ein Administrator das Datenschutzbudget zurückgesetzt hat.

  • Um alle Datenschutzbudgets des Kontos abzufragen, verwenden Sie die Ansicht PRIVACY_BUDGETS im Schema „Account Usage“. Die Ansicht PRIVACY_BUDGETS im Schema ACCOUNT USAGE enthält alle Datenschutzbudgets des Kontos. Sie können damit die Datenschutzbudgets aller Ihrer Datenschutzrichtlinien anzeigen und die Ergebnisse nach Namen filtern, um sich auf bestimmte Datenschutzbudgets zu konzentrieren. Wenn Sie sich beispielsweise auf ein bestimmtes Datenschutzbudget konzentrieren möchten, das mit der Datenschutzrichtlinie patients_policy verbunden ist, könnten Sie die folgende Abfrage ausführen:

    SELECT * FROM snowflake.account_usage.privacy_budgets
      WHERE policy_name='patients_policy' AND budget_name='analyst_budget';
    
    Copy
  • Um die mit einer bestimmten Datenschutzrichtlinie verbundenen Datenschutzbudgets einzusehen, verwenden Sie die Funktionstabelle CUMULATIVE_PRIVACY_LOSSES. Sie können die Tabellenfunktion CUMULATIVE_PRIVACY_LOSSES verwenden, um die mit einer bestimmten Datenschutzrichtlinie verbundenen Datenschutzbudgets abzurufen. Im Gegensatz zur Ansicht PRIVACY_BUDGETS im Schema ACCOUNT USAGE hat diese Funktion keine feste Latenzzeit und liefert die Echtzeitwerte für die kumulierten Datenschutzverluste. Beim Aufruf der Funktion muss der Name der Datenschutzrichtlinie vollständig qualifiziert sein.

    Um beispielsweise die in der Richtlinie my_policy_privacy festgelegten Datenschutzbudgets anzuzeigen, führen Sie Folgendes aus:

    SELECT *
      FROM TABLE(SNOWFLAKE.DATA_PRIVACY.CUMULATIVE_PRIVACY_LOSSES(
        'my_policy_db.my_policy_schema.my_policy_privacy'));
    
    Copy

Datenschutzeinstellungen für ein Datenschutzbudget festlegen

Mit Snowflake können Sie die Beschränkung des Datenschutzbudgets und den maximalen Betrag des Datenschutzbudgets pro Aggregat (in der differentiellen Privatsphäre als Epsilon bekannt) anpassen. Sie legen diese Kontrollen fest, indem Sie die folgenden Parameter im Textteil (Body) der Datenschutzrichtlinie angeben:

  • BUDGET_LIMIT — Legt die Beschränkung des Datenschutzbudgets für den kumulativen Datenschutzverlust fest.

  • MAX_BUDGET_PER_AGGREGATE – Legt die maximale Höhe des Datenschutzbudgets fest, das pro Aggregat ausgegeben wird (d. h. der maximale Datenschutzverlust, der durch jede Aggregatfunktion in einer Abfrage entsteht).

Wenn Sie zum Beispiel den Befehl ALTER PRIVACY POLICY verwenden möchten, um die Datenschutzkontrollen eines vorhandenen Datenschutzbudgets anzupassen, könnten Sie diesen Befehl ausführen:

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts',
  BUDGET_LIMIT=>300,
  MAX_BUDGET_PER_AGGREGATE=>0.1);
Copy

Sie können diese Steuerelemente auch definieren, wenn Sie den Befehl CREATE PRIVACY POLICY ausführen, um die Datenschutzrichtlinie zu erstellen.

Vorsicht

Wenn Sie den Parameter BUDGET_LIMIT, MAX_BUDGET_PER_AGGREGATE oder BUDGET_WINDOW ändern, wird jeder Parameter, der nicht in Ihrem Befehl ALTER PRIVACY POLICY angegeben ist, auf seinen Standardwert zurückgesetzt. Im vorherigen Beispiel wird also der Parameter BUDGET_WINDOW, der bestimmt, wie oft Snowflake das Datenschutzbudget zurücksetzt, auf seinen Standardwert zurückgesetzt.

Weitere Informationen zum Festlegen der Datenschutzkontrollen finden Sie unter Datenschutzeinstellungen anpassen.

Aktualisieren des Datenschutzbudgets

Über den Aktualisierungszeitraum

Snowflake setzt den kumulativen Datenschutzverlust eines Datenschutzbudgets in regelmäßigen Abständen auf 0 zurück, damit Analysten eine neue Reihe von Abfragen durchführen können. Dieser Zeitraum wird als Budgetfenster bezeichnet. Dank dieser automatischen Aktualisierung können Analysten auf neue Daten zugreifen, sobald diese zu einer Tabelle hinzugefügt werden. Theoretisch hat der Analyst noch keine Informationen über diese neuen Daten erfahren, daher ist es angebracht, ihn weitere Abfragen durchführen zu lassen.

Das Standardbudgetfenster ist wöchentlich.

Aktualisierungszeitraum

Um den Zeitraum für die Aktualisierung des Datenschutzbudgets zu ändern, aktualisieren Sie den Wert budget_window der Datenschutzrichtlinie privacy_budget. Beispiel:

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts', BUDGET_WINDOW=>'daily');
Copy

Vorsicht

Wenn Sie den Parameter BUDGET_LIMIT, MAX_BUDGET_PER_AGGREGATE oder BUDGET_WINDOW ändern, wird jeder Parameter, der nicht in Ihrem Befehl ALTER PRIVACY POLICY angegeben ist, auf seinen Standardwert zurückgesetzt. Im vorherigen Beispiel werden also BUDGET_LIMIT und MAX_BUDGET_PER_AGGREGATE auf die Standardwerte zurückgesetzt.

Kumulativen Datenschutzverlust zurücksetzen

Wenn Analysten Abfragen auf Daten ausführen, die durch eine Richtlinie geschützt sind, ermittelt Snowflake den kumulativen Datenschutzverlust durch diese Abfragen. Sie können die gespeicherte Prozedur RESET_PRIVACY_BUDGET aufrufen, um den kumulativen Datenschutzverlust auf 0 zurückzusetzen, damit die Analysten weitere Abfragen durchführen können.

Die gespeicherte Prozedur RESET_PRIVACY_BUDGET ist dazu gedacht, das Budget zurückzusetzen, wenn Analysten versehentlich einen Datenschutzverlust erleiden und von vorne beginnen möchten. Denken Sie daran, dass der Datenschutzverlust automatisch auf 0 gesetzt wird, wenn das Datenschutzbudget von aktualisiert wird.

Nur der kumulative Datenschutzverlust, der mit Analysten in dem angegebenen Konto verbunden ist, wird auf 0 zurückgesetzt, auch wenn das Datenschutzbudget mit Analysten in mehreren Konten verbunden ist.

Bemerkung

Wenn Sie RESET_PRIVACY_BUDGET aufrufen, wird der kumulative Datenschutzverlust nicht sofort zurückgesetzt. Wird bei der nächsten Abfrage, bei der ein Datenschutzverlust auftritt, zurückgesetzt. Wenn Sie das Datenschutzbudget nach dem Aufruf der Funktion, aber vor der ersten Abfrage anzeigen, ist der kumulative Datenschutzverlust daher nicht 0.

Beispiel

Hier ist ein Beispiel für das Zurücksetzen der Zählung der Datenschutznutzung für alle Benutzer, die Abfragen im companyorg.account_123-Konto ausführen:

CALL SNOWFLAKE.DATA_PRIVACY.RESET_PRIVACY_BUDGET(
  'my_policy_db.my_policy_schema.my_policy',
  'analyst_budget',
  'companyorg',
  'account_123');
Copy