Ausschließen von Daten von der automatischen Klassifizierung sensibler Daten

Durch die automatische Klassifizierung sensibler Daten legt Snowflake in regelmäßigen Abständen und ohne Benutzereingriff fest, ob Daten sensibel sind. Sie aktivieren das Feature, indem Sie ein Klassifizierungsprofil definieren und dann für die Datenbank mit den zu klassifizierenden Daten festlegen.

Sie können mit Klassifizierungsprofileinstellungen und System-Tags bestimmte Daten von der automatischen Klassifizierung ausschließen.

Nehmen wir als Beispiel an, dass die Datenbank my_db drei Tabellen umfasst: t1, t2 und t3. Wenn Sie ein Klassifizierungsprofil für my_db einstellen, werden standardmäßig alle drei Tabellen automatisch klassifiziert. Sie können Snowflake so konfigurieren, dass t2 bei der automatischen Klassifizierung übersprungen wird, also nur Tabellen t1 und t3 klassifiziert werden.

Workflow

Der Ausschluss von Daten aus der automatischen Klassifizierung sensibler Daten erfolgt in zwei Schritten:

  1. Wenden Sie das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION auf jedes Objekt an, das von der automatischen Klassifizierung sensibler Daten ausgeschlossen werden soll. Mehr erfahren

  2. Legen Sie den Schlüssel enable_tag_based_sensitive_data_exclusion des Qualifikationsprofils auf true fest. <label-auto_classify_exclude_define>Mehr erfahren `

Dieser Prozess wird als Tag-basierter Ausschluss sensibler Daten bezeichnet.

Bemerkung

Nachdem Sie das System-Tag angewendet und das Klassifizierungsprofil konfiguriert haben und die gespeicherte Prozedur SYSTEM$CLASSIFY aufrufen und das Klassifizierungsprofil angeben, schließt Snowflake die getaggten Objekte von der Klassifizierung aus.

Festlegen von Tags auf Datenobjekte

Ein Objekt-Tag ist ein Objekt, das für ein anderes Objekt festgelegt werden kann. Snowflake stellt mit SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION ein systemdefiniertes Tag bereit, das Sie für Objekte festlegen können, die von der automatischen Klassifizierung sensibler Daten ausgeschlossen werden sollen. Wenn der Wert dieses Tags TRUE lautet, dann überspringt Snowflake das Objekt bei der Klassifizierung.

Wenn Sie beispielsweise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE' für eine Tabelle einstellen, dann überspringt Snowflake die Tabelle, wenn die Datenbank der Tabelle automatisch klassifiziert wird.

Sie können das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION in einem Schema, einer Tabelle oder einer Spalte festlegen, um zu steuern, welche Daten von der automatischen Klassifizierung sensibler Daten ausgeschlossen werden sollen.

Festlegen von Tags für ein Schema

Wenn ein Klassifizierungsprofil für eine Datenbank festgelegt ist, werden bei der automatischen Klassifizierung alle Schemas in der Datenbank klassifiziert. Sie können das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION für ein Schema in der Datenbank festlegen, um das Schema vom Klassifizierungsprozess auszuschließen.

Angenommen, Sie möchten alle Schemas einer Datenbank außer dem Schema internal automatisch klassifizieren. Sie können den Befehl ALTER SCHEMA ausführen, um das systemdefinierte Tag auf das Schema zu setzen:

ALTER SCHEMA internal SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Wenn Snowflake Daten in der Datenbank automatisch klassifiziert, werden Daten im Schema internal übersprungen.

Informationen zu den Zugangssteuerungsanforderungen für die Festlegung des Tags SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION finden Sie unter Anforderungen an die Zugriffssteuerung.

Festlegen von Tags in eine Tabelle

Wenn ein Klassifizierungsprofil für eine Datenbank oder ein Schema festgelegt wird, werden bei der automatischen Klassifizierung alle Tabellen in diesem Objekt klassifiziert. Sie können das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION in einer Tabelle in der Datenbank oder im Schema festlegen, um die Tabelle vom Klassifizierungsprozess auszuschließen.

Angenommen, Sie möchten automatisch alle Tabellen in einer Datenbank mit Ausnahme der Tabelle my_table klassifizieren. Sie können den Befehl ALTER TABLE ausführen, um das systemdefinierte Tag in der Tabelle festzulegen:

ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Wenn Snowflake Daten in der Datenbank automatisch klassifiziert, werden die Daten in der Tabelle my_table übersprungen.

Festlegen von Tags in einer Spalte

Vielleicht möchten Sie einige, aber nicht alle Spalten einer Tabelle automatisch klassifizieren. Sie können das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION in einer Spalte festlegen, sodass Snowflake es bei der Klassifizierung des Rests der Tabelle überspringt. Wenn Sie eine Spalte ausschließen, enthält das Klassifizierungsergebnis einen leeren Wert für die Spalte, auch wenn es sensible Daten enthält.

Angenommen, Sie möchten mit Ausnahme der Spalte employee_id automatisch alle Spalten einer Tabelle klassifizieren. Sie können den Befehl ALTER TABLE … ALTER COLUMN ausführen, um das systemdefinierte Tag in der Spalte zu setzen:

ALTER TABLE my_table ALTER COLUMN employee_id
  SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Wenn Snowflake Daten in der Tabelle automatisch klassifiziert, ist das Feld employee_id im JSON-Ergebnis leer.

Definieren des Klassifizierungsprofils

Ein Klassifizierung enthält die Einstellungen, die steuern, wie Snowflake Daten in einer Datenbank oder einem Schema automatisch klassifiziert. Diese Einstellungen werden mit Schlüssel-Wert-Paaren in einem OBJECT angegeben.

Sie müssen den enable_tag_based_sensitive_data_exclusion-Schlüssel des Klassifizierungsprofils definieren, wenn Sie möchten, dass Daten von der automatischen Klassifizierung ausgeschlossen werden. Wenn Sie den Wert dieses Schlüssels nicht als true definiert haben, hat das Einstellen von SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION für Objekte keine Auswirkung.

Im Folgenden finden Sie ein Beispiel für ein Klassifizierungsprofil, das, wenn es für eine Datenbank festgelegt wurde, korrekt getaggte Objekte von der automatischen Klassifizierung ausschließt:

CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
  my_classification_profile(
    {
      'minimum_object_age_for_classification_days': 0,
      'maximum_classification_validity_days': 30,
      'auto_tag': true,
      'enable_tag_based_sensitive_data_exclusion': true
    });
Copy

Verwenden einer Methode zur Festlegung des Schlüssels für ein Klassifizierungsprofil

Bei einem bestehenden Klassifizierungsprofil können Sie die Methode SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION aufrufen, um den Schlüssel enable_tag_based_sensitive_data_exclusion des Profils festzulegen.

Rufen Sie zum Ausschluss von Objekten, die mit SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION getaggt sind, die Methode mit auf true eingestelltem Argument auf. Wenn zum Beispiel Daten von der Klassifizierung einer Datenbank mit festgelegtem my_classification_profile ausgeschlossen werden sollen, führen Sie den folgenden Befehl aus:

CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(true);
Copy

Um den Tag-basierten Ausschluss sensibler Daten für ein Klassifizierungsprofil zu deaktivieren, führen Sie den Befehl mit auf false gesetztem Argument aus:

CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(false);
Copy

Anforderungen an die Zugriffssteuerung

In den folgenden Abschnitten werden die Rollen und Berechtigungen beschrieben, die Sie haben müssen, um Objekte von der automatischen Klassifizierung auszuschließen:

Anforderungen für das Setzen des Tags

Die Datenbankrolle SNOWFLAKE.CLASSIFICATION_ADMIN ist erforderlich, um ein Klassifizierungsprofil zu erstellen. Dieselbe Datenbankrolle ist erforderlich, um das Systemtag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION für ein Schema, eine Tabelle oder eine Spalte festzulegen. Ohne zusätzliche Berechtigungen kann können Benutzende mit der Datenbankrolle SNOWFLAKE.CLASSIFICATION_ADMIN nur das System-Tag für die Objekte festlegen, deren Eigentümer sie sind.

Wenn Sie zum Beispiel Benutzenden mit der Rolle classify_admin erlauben wollen, das Tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION für Objekte festzulegen, deren Eigentümer sie sind, führen Sie den folgenden Befehl aus:

GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
Copy

Wenn Sie möchten, dass ein Administrator das System-TagSNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION für ein beliebiges Objekt festzulegen (unabhängig von der Eigentümerschaft), führen Sie die folgenden Befehle aus:

GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
GRANT APPLY TAG ON ACCOUNT TO ROLE classify_admin;
Copy

Anforderungen an die Konfiguration des Klassifizierungsprofils

Sie müssen über die PRIVACY_USER-Instanzrolle für das Klassifizierungsprofil verfügen, um den enable_tag_based_sensitive_data_exclusion-Schlüssel des Klassifizierungsprofils festzulegen.