Excluding data from sensitive data classification

Durch die Klassifizierung sensibler Daten bestimmt Snowflake in regelmäßigen Abständen und ohne Benutzereingriff die Sensibilität von Daten. Sie können mit Einstellungen und System-Tags bestimmte Daten vom Klassifizierungsprozess ausschließen.

For example, suppose a database my_db has three tables, t1, t2, and t3. By default, when you classify my_db, all three tables are automatically classified. You can configure Snowflake to skip t2 during classification so only tables t1 and t3 are classified.

Workflow

Excluding data from sensitive data classification is a two-step process:

  1. Apply the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag to every object that you want excluded from sensitive data classification.

  2. Aktivieren Sie die Ausschlusseinstellung für den Tag-basierten Ausschluss sensibler Daten.

Festlegen von Tags auf Datenobjekte

An object tag is an object that can be set on another object. Snowflake provides a system-defined tag, SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, that you can set on objects that you want excluded from sensitive data classification. When the value of this tag is TRUE, then Snowflake skips the object during classification.

You can set the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag on a schema, table, or column to control which data is excluded from sensitive data classification.

Schließen Sie ein Schema aus

You can set the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag on a schema in the database to exclude the schema from the classification process. For example:

ALTER SCHEMA my_schema SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy
Schließen Sie eine Tabelle aus

You can set the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag on a table in the database or schema to exclude the table from the classification process. For example:

ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy
Schließen Sie eine Spalte aus

You can set the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag on a column so that Snowflake skips it when classifying the table. If you exclude a column, the classification result contains an empty value for the column, even if it contains sensitive data.

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.

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

Aktivieren Sie die Ausschlusseinstellung

Setting the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION tag on objects has no effect until you enable the setting for tag-based sensitive data exclusion.

Sie können diese Einstellung über die Benutzeroberfläche des Trust Centers oder mithilfe von SQL-Befehlen aktivieren.

Use the Trust Center to enable tag-based sensitive data exclusion

  1. Melden Sie sich bei Snowsight als Benutzer mit den erforderlichen Berechtigungen an.

  2. Wählen Sie im Navigationsmenü die Option Governance & security » Trust Center aus.

  3. Wählen Sie die Registerkarte Data Security aus.

  4. Wählen Sie die Registerkarte Settings aus.

  5. Führen Sie eine der folgenden Aktionen aus:

    • Wenn Sie die Einstellung für ein bestehendes Klassifizierungsprofil aktivieren, suchen Sie das Profil und wählen Sie Drei vertikale Punkte, die weitere Optionen anzeigen » Edit.

    • Wenn Sie zum ersten Mal ein erweitertes Klassifizierungsprofil einrichten, wählen Sie Create New aus.

  6. Gehen Sie die Klassifizierungseinstellungen durch, bis Sie zur Seite Define classification criteria gelangen.

  7. Wählen Sie im Abschnitt Exclusion criteria die Option Exclude SKIP_SENSITIVE_DATA_CLASSIFICATION tagged objects aus.

Use SQL to enable tag-based sensitive data exclusion

A classification profile contains the settings that control how Snowflake automatically classifies data in a database. These settings are specified using key-value pairs in an OBJECT.

You must define the enable_tag_based_sensitive_data_exclusion key of the classification profile if you want data excluded from sensitive data classification.

The following is an example of a classification profile that, when set on a database, excludes properly tagged objects from sensitive data classification:

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

You can also execute the SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION method to enable the setting for an existing classification profile.

Anforderungen an die Zugriffssteuerung

By default, a user with the ability to enable or disable classification settings can set the SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION system tag only on their own schemas and tables.

If you want a user to be able to set the system tag on all objects, not just the ones they own, run the following command:

GRANT APPLY TAG ON ACCOUNT TO ROLE <classify_user>;
Copy