Sensible Daten automatisch klassifizieren

Die automatische Klassifizierung sensibler Daten ist ein serverloses Feature, das die automatische Erkennung und Kennzeichnung sensibler Daten ermöglicht. Das Feature überwacht kontinuierlich Tabellen innerhalb eines bestimmten Schemas und klassifiziert deren Spalten mit nativen und benutzerdefinierten Klassifizierungskategorien.

Mit der automatischen Klassifizierung sensibler Daten können Dateningenieure und -verwalter Folgendes tun:

  • Zeigen Sie, wie die automatische Klassifizierung von Tabellen den internen Anforderungen an Governance und Compliance entspricht.

  • Stellen Sie sicher, dass sensible Daten ordnungsgemäß gekennzeichnet sind.

  • Stellen Sie sicher, dass die richtigen Zugriffssteuerungen vorhanden sind, um die sensiblen Daten zu schützen.

Erste Schritte

Der grundlegende Arbeitsablauf zur automatischen Klassifizierung sensibler Daten besteht aus den folgenden Schritten:

  1. Erstellen Sie ein Klassifizierungsprofil, das steuert, wie oft sensible Daten in einem Schema automatisch klassifiziert werden, einschließlich der Frage, ob System-Tags nach der Klassifizierung automatisch angewendet werden sollen.

  2. Optional können Sie das Klassifizierungsprofil verwenden, um benutzerdefinierte Tags den System-Tags zuzuordnen, sodass eine Spalte mit sensiblen Daten auf der Grundlage ihrer Klassifizierung mit einem benutzerdefinierten Tag verknüpft werden kann.

  3. Fügen Sie optional einen benutzerdefinierten Klassifikator zum Klassifizierungsprofil hinzu, damit sensible Daten automatisch mit benutzerdefinierten semantischen und Datenschutzkategorien klassifiziert werden können.

  4. Legen Sie das Klassifizierungsprofil für ein Schema fest, damit die Tabellen in diesem Schema automatisch klassifiziert werden.

Beispiele für einen durchgängigen Arbeitsablauf finden Sie unter Beispiele.

Über Klassifizierungsprofile

Ein Data Engineer erstellt ein Klassifizierungsprofil, indem er eine Instanz der CLASSIFICATION_PROFILE Klasse erstellt, um die Kriterien zu definieren, die zur automatischen Klassifizierung von Tabellen in einem Schema verwendet werden. Diese Kriterien umfassen:

  • Wie lange eine Tabelle existieren soll, bevor sie automatisch klassifiziert wird.

  • Wie lange es dauert, bis zuvor klassifizierte Tabellen neu klassifiziert werden sollten.

  • Ob System- und benutzerdefinierte Tags nach der Klassifizierung automatisch auf Spalten gesetzt werden. Sie können entscheiden, ob Sie möchten, dass Snowflake die vorgeschlagenen Tags automatisch anwendet, oder ob Sie es vorziehen, die vorgeschlagenen Tag-Zuweisungen zu überprüfen und sie dann selbst anzuwenden.

  • Eine Zuordnung zwischen Systemklassifizierungs-Tags und benutzerdefinierten Objekt-Tags, sodass die benutzerdefinierten Tags automatisch angewendet werden können.

Wenn der Data Engineer das Klassifizierungsprofil einem Schema zuweist, werden sensible Daten in den Tabellen des Schemas automatisch nach dem durch das Profil definierten Zeitplan klassifiziert. Ein Data Engineer kann dasselbe Klassifizierungsprofil mehreren Schemas zuweisen oder mehrere Klassifizierungsprofile erstellen, wenn unterschiedliche Klassifizierungskriterien für verschiedene Schemas festgelegt werden müssen.

Der Prozess der automatischen Klassifizierung von Daten erfordert den Zugriff auf die Rohdaten in der Tabelle. Die Rohdaten enthalten Tabellen, denen eine Maskierungsrichtlinie für eine Spalte zugewiesen wurde. Snowflake behält jedoch die Absicht bei, den Zugriff auf geschützte Daten zu regeln, indem eine interne Rolle zur automatischen Klassifizierung von Daten verwendet wird. Die interne Rolle kann auf Daten zugreifen, die durch eine Maskierungsrichtlinie geschützt sind, aber diese Rolle ist für Benutzer nicht zugänglich.

Ein Beispiel für die Verwendung des Befehls CREATE CLASSIFICATION_PROFILE zur Erstellung eines Klassifizierungsprofils finden Sie unter Beispiele.

Über die Zuordnung von Tags

Sie können das Klassifizierungsprofil verwenden, um SEMANTIC_CATEGORY System-Tags einem oder mehreren Objekt-Tags zuzuordnen. Mit dieser Tag-Zuordnung kann einer Spalte mit sensiblen Daten automatisch ein benutzerdefiniertes Tag auf der Grundlage ihrer Klassifizierung zugewiesen werden. Die Tag-Zuordnung kann bei der Erstellung des Klassifizierungsprofils oder später durch Aufruf der Methode <classification_profile_name>!SET_TAG_MAP hinzugefügt werden.

Da benutzerdefinierte Objekt-Tags mit einer Maskierungsrichtlinie verknüpft sein können, können Sie eine Tag-Zuordnung verwenden, um die automatische Tag-basierte Maskierung zu aktivieren. Wenn Sie sich dafür entscheiden, Tags nach der Klassifizierung automatisch anzuwenden, können Sie den gesamten Prozess des Schutzes von Spalten mit einer Maskierungsrichtlinie auf Basis der Klassifizierung von Daten automatisieren. Wenn neue Daten zu einem Schema hinzugefügt werden, werden die Tag-basierten Maskierungsrichtlinien automatisch den Spalten zugewiesen, die sensible Daten enthalten.

Unabhängig davon, ob Sie die Tag-Zuordnung während der Erstellung des Klassifizierungsprofils oder danach definieren, wird der Inhalt der Zuordnung als JSON-Objekt angegeben. Dieses JSON-Objekt enthält den 'column_tag_map' Schlüssel, bei dem es sich um ein Array von Objekten handelt, die ein benutzerdefiniertes Tag, den Zeichenfolgenwert dieses Tags und die semantischen Kategorien, denen das Tag zugeordnet ist, angeben. Nachdem die Tag-Map mit einem Klassifizierungsprofil verknüpft ist und Sie Tabellen in einem Schema automatisch klassifizieren, wird das Tag den Spalten zugewiesen, die den semantischen Kategorien entsprechen.

Im Folgenden finden Sie ein Beispiel für eine Tag-Zuordnung:

'tag_map': {
  'column_tag_map': [
    {
      'tag_name':'tag_db.sch.pii',
      'tag_value':'Highly Confidential',
      'semantic_categories':[
        'NAME',
        'NATIONAL_IDENTIFIER'
      ]
    },
    {
      'tag_name': 'tag_db.sch.pii',
      'tag_value':'Confidential',
      'semantic_categories': [
        'EMAIL'
      ]
    }
  ]
}
Copy

Wenn Sie eine Spalte mit E-Mail-Adressen haben und der Klassifizierungsprozess feststellt, dass die Spalte diese Adressen enthält, wird auf der Grundlage dieser Zuordnung das Tag tag_db.sch.pii = 'Confidential' für die Spalte mit den E-Mail-Adressen gesetzt.

Wenn Ihre Tag-Zuordnung mehrere JSON-Objekte enthält, die Tags, Tag-Werte und Kategorie-Werte zuordnen, bestimmt die Reihenfolge der JSON-Objekte, welches Tag und welcher Wert im Falle eines Konflikts in der Spalte gesetzt wird. Geben Sie die JSON-Objekte in der gewünschten Zuordnungsreihenfolge von links nach rechts an, oder von oben nach unten, wenn Sie JSON formatieren.

Tipp

Jedes Objekt im Feld column_tag_map hat nur einen erforderlichen Schlüssel: tag_name. Wenn Sie die Schlüssel tag_value und semantic_categories weglassen, wird das benutzerdefinierte Tag auf jede Spalte angewendet, auf die das System-Tag SEMANTIC_CATEGORY angewendet wird, und der Wert des benutzerdefinierten Tags entspricht dem Wert des Tags SEMANTIC_CATEGORY für eine bestimmte Spalte.

Wenn es einen Konflikt zwischen einem manuell zugewiesenen Tag und einem durch die automatische Klassifizierung zugewiesenen Tag gibt, tritt ein Fehler auf. Informationen zur Verfolgung dieser Fehler finden Sie unter Problembehandlung.

Implementierung der automatischen benutzerdefinierten Klassifizierung

Mit Snowflake können Sie benutzerdefinierte Klassifikatoren definieren, die eine benutzerdefinierte Logik verwenden, um sensible Daten zu identifizieren und zu klassifizieren. Sie können z. B. einen benutzerdefinierten Klassifikator erstellen, der einen regulären Ausdruck verwendet, um ICD-10-Codes zu identifizieren und sie als zur semantischen Kategorie ICD_10_CODES gehörend einzustufen.

Nachdem Sie einen benutzerdefinierten Klassifikator erstellt haben, können Sie ihn zum Klassifizierungsprofil hinzufügen, damit Snowflake die Daten automatisch auf der Grundlage seiner Logik klassifiziert. Sie können den benutzerdefinierten Klassifikator bei der Erstellung des Klassifizierungsprofils oder durch den Aufruf der Methode <classification_profile_name>!SET_CUSTOM_CLASSIFIERS hinzufügen.

Wenn Sie sowohl benutzerdefinierte Klassifikatoren als auch eine Tag-Zuordnung in Ihr Klassifizierungsprofil aufnehmen, erhalten Sie eine leistungsstarke Governance-Lösung. Sie ermöglicht Ihnen, Daten automatisch zu klassifizieren, basierend auf Ihrem Wissen darüber, was sensibel ist, und sie mit einem benutzerdefinierten Tag zu versehen, das Sie verfolgen können. Wenn Sie dieses benutzerdefinierte Tag verwenden, um die Tag-basierte Maskierung zu implementieren, werden Ihre domänenspezifischen sensiblen Daten automatisch durch eine Maskierungsrichtlinie geschützt, wenn Daten zu einem Schema hinzugefügt werden.

Wichtig

Die automatische Klassifizierung speichert die Definition eines benutzerdefinierten Klassifikators, keine Referenz. Wenn Sie den benutzerdefinierten Klassifikator ändern, müssen Sie die Methode SET_CUSTOM_CLASSIFIERS verwenden, um das Klassifizierungsprofil mit der neuen Definition zu aktualisieren.

Ergebnisse der automatischen Klassifizierung anzeigen

Sie können die Ergebnisse der automatischen Klassifizierung auf folgende Weise anzeigen:

  • Rufen Sie die gespeicherte SYSTEM$GET_CLASSIFICATION_RESULT-Prozedur auf. Beispiel:

    CALL SYSTEM$GET_CLASSIFICATION_RESULT('mydb.sch.t1');
    
    Copy

    Sie können die Ergebnisse erst zurückgeben, wenn der Klassifizierungsprozess abgeschlossen ist. Der automatische Klassifizierungsprozess beginnt erst eine Stunde nach der Einstellung des Klassifizierungsprofils auf dem Schema.

  • Verwenden Sie eine Rolle, die die Datenbankrolle SNOWFLAKE.GOVERNANCE_VIEWER hat, um die Ansicht DATA_CLASSIFICATION_LATEST abzufragen. Beispiel:

    SELECT * FROM snowflake.account_usage.data_classification_latest;
    
    Copy

    Die Ergebnisse werden möglicherweise erst drei Stunden nach Abschluss der Klassifizierung angezeigt.

Einschränkungen

  • Klassifizierungsprofile können nicht auf einem Leserkonto eingerichtet werden.

  • Sie können Ansichten nicht automatisch klassifizieren.

  • Es kann nur ein Klassifizierungsprofil für ein Schema festgelegt werden.

  • Ein und dasselbe Klassifizierungsprofil kann nicht für mehr als 10.000 Schemas festgelegt werden.

  • Einem Schema können maximal 100 Millionen Tabellen zugeordnet werden.

  • Sie können eine Tabelle nicht automatisch klassifizieren, wenn sie eines der folgenden Merkmale aufweist:

    • Hat mehr als 10.000 Spalten.

    • Hat eine Spalte mit einem Namen, der mehr als 255 Zeichen hat.

    • Hat eine Spalte mit einem Namen, der das Zeichen $ enthält.

    • Stammt aus einer Freigabe.

Zugriffssteuerung

Dieser Abschnitt beschreibt die Berechtigungen und Rollen, mit denen Sie mit Klassifizierungsprofilen arbeiten und die automatische Klassifizierung sensibler Daten aktivieren können.

Aufgabe

Erforderliche Berechtigungen/Rollen

Anmerkungen

Erstellen Sie ein Klassifizierungsprofil

SNOWFLAKE.CLASSIFICATION_ADMIN Datenbankrolle

Informationen darüber, wie Sie diese Datenbankrolle anderen Rollen zuweisen können, finden Sie unter Verwenden von SNOWFLAKE-Datenbankrollen.

CREATESNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE auf dem Schema

Sie benötigen diese Berechtigung für das Schema, in dem Sie die Klassifizierungsprofilinstanz erstellen möchten.

Legen Sie das Klassifizierungsprofil für ein Schema fest

Eine der folgenden Berechtigungen:

  • EXECUTE AUTO CLASSIFICATION auf Konto

  • EXECUTE AUTO CLASSIFICATION auf dem Schema

Standardmäßig hat der Eigentümer des Schemas die Berechtigung EXECUTE AUTO CLASSIFICATION für dieses Schema.

Berechtigung für Datenbank

Sie benötigen mindestens eine Berechtigung für die Datenbank, die das Schema enthält, für das Sie das Klassifizierungsprofil festlegen.

Berechtigung für Schema

Sie benötigen mindestens eine Berechtigung für das Schema, das die Tabelle enthält, die Sie automatisch klassifizieren möchten. Die Berechtigung EXECUTE AUTO CLASSIFICATION erfüllt diese Anforderung.

Eine der folgenden Berechtigungen:

  • OWNERSHIP auf Klassifizierungsprofil-Instanz.

  • <classification_profile>!PRIVACY_USER-Instanzrolle auf dem Klassifizierungsprofil.

Informationen darüber, wie Sie anderen Rollen die Instanzrolle PRIVACY_USER zuweisen können, finden Sie unter Instanzrollen.

APPLY TAG auf dem Konto

Aufruf von Methoden auf einer Klassifizierungsprofilinstanz

<classification_profile>!PRIVACY_USER-Instanzrolle

Informationen darüber, wie Sie diese Instanzrolle anderen Rollen zuweisen können, finden Sie unter Instanzrollen.

Klassifizierungsprofile auflisten

<classification_profile>!PRIVACY_USER-Instanzrolle

Klassifizierungsprofile löschen

OWNERSHIP auf Klassifizierungsprofil-Instanz

Ein Beispiel für die Gewährung dieser Berechtigungen und Datenbankrollen für die Rolle eines Data Engineers finden Sie unter Einfaches Beispiel: Automatisches Klassifizieren von Tabellen in einem Schema.

Kosten für die automatische Klassifizierung sensibler Daten

Die automatische Klassifizierung sensibler Daten verbraucht Credits, da sie serverlose Computeressourcen verwendet, um Tabellen im Schema zu klassifizieren. Weitere Informationen zu den Preisen für diesen Verbrauch finden Sie in Tabelle 5 in der Snowflake Service Consumption Table.

Sie können Ansichten in den Schemas ACCOUNT_USAGE und ORGANIZATION_USAGE abfragen, um festzustellen, wie viel für die automatische Klassifizierung sensibler Daten ausgegeben wurde. Um den Credit-Verbrauch zu überwachen, fragen Sie die folgenden Ansichten ab:

METERING_HISTORY-Ansicht (ACCOUNT_USAGE)

Ermöglicht es Ihnen, die stündlichen Kosten der automatischen Klassifizierung abzurufen, indem Sie sich auf SENSITIVE_DATA_CLASSIFICATION in der Spalte SERVICE_TYPE konzentrieren. Beispiel:

SELECT
  service_type,
  start_time,
  end_time,
  entity_id,
  name,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used,
  budget_id
  FROM snowflake.account_usage.metering_history
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
METERING_DAILY_HISTORY anzeigen (ACCOUNT_USAGE und ORGANIZATION_USAGE)

Ermöglicht es Ihnen, die täglichen Kosten der automatischen Klassifizierung abzurufen, indem Sie sich auf SENSITIVE_DATA_CLASSIFICATION in der Spalte SERVICE_TYPE konzentrieren. Beispiel:

SELECT
  service_type,
  usage_date,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used
  FROM snowflake.account_usage.metering_daily_history
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)

Ermöglicht es Ihnen, die täglichen Kosten der automatischen Klassifizierung abzurufen, indem Sie sich auf SENSITIVE_DATA_CLASSIFICATION in der Spalte SERVICE_TYPE konzentrieren. Verwenden Sie diese Ansicht, um die Kosten in Währung zu ermitteln, nicht in Credits.

Beispiele

Einfaches Beispiel: Automatisches Klassifizieren von Tabellen in einem Schema

Führen Sie diese Schritte aus, um eine Tabelle im Schema automatisch zu klassifizieren:

  1. Geben Sie als Administrator dem Data Engineer die Rollen und Berechtigungen, die er benötigt, um Tabellen in einem Schema automatisch zu klassifizieren.

    USE ROLE ACCOUNTADMIN;
    
    GRANT USAGE ON DATABASE mydb TO ROLE data_engineer;
    GRANT EXECUTE AUTO CLASSIFICATION ON SCHEMA mydb.sch TO ROLE data_engineer;
    
    GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE data_engineer;
    GRANT CREATE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE ON SCHEMA mydb.sch TO ROLE data_engineer;
    
    GRANT APPLY TAG ON ACCOUNT TO ROLE data_engineer;
    
    Copy
  2. Wechseln Sie in die Rolle des Data Engineers:

    USE ROLE data_engineer;
    
    Copy
  3. Erstellen Sie das Klassifizierungsprofil als eine Instanz der Klasse CLASSIFICATION_PROFILE:

    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
        });
    
    Copy
  4. Rufen Sie die Methode DESCRIBE für die Instanz auf, um ihre Eigenschaften zu bestätigen:

    SELECT my_classification_profile!DESCRIBE();
    
    Copy
  5. Legen Sie die Instanz des Klassifizierungsprofils für das Schema fest, die im Hintergrund den Prozess der Überwachung der Tabellen im Schema und deren automatische Klassifizierung auf sensible Daten startet.

    ALTER SCHEMA mydb.sch
     SET CLASSIFICATION_PROFILE = 'mydb.sch.my_classification_profile';
    
    Copy

    Bemerkung

    Zwischen dem Einstellen des Klassifizierungsprofils für das Schema und dem Beginn der Klassifizierung des Schemas durch Snowflake vergeht eine Stunde.

  6. Nachdem Sie eine Stunde gewartet haben, rufen Sie die gespeicherte Prozedur SYSTEM$GET_CLASSIFICATION_RESULT auf, um die Ergebnisse der automatischen Klassifizierung zu erhalten.

    CALL SYSTEM$GET_CLASSIFICATION_RESULT('mydb.sch.t1');
    
    Copy
  7. Wenn Sie die automatische Klassifizierung von Tabellen in einem Schema nicht mehr benötigen, deaktivieren Sie das Klassifizierungsprofil in dem Schema:

    ALTER SCHEMA mydb.sch UNSET CLASSIFICATION_PROFILE;
    
    Copy
  8. Löschen Sie alle nicht benötigten Klassifizierungsprofile mit dem Befehl DROP CLASSIFICATION_PROFILE.

Beispiel: Verwendung einer Tag-Zuordnung und benutzerdefinierter Klassifikatoren

  1. Geben Sie als Administrator dem Data Engineer die Rollen und Berechtigungen, die er benötigt, um Tabellen in einem Schema automatisch zu klassifizieren und Tags für Spalten zu setzen.

  2. Erstellen Sie das Klassifizierungsprofil.

    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
        });
    
    Copy
  3. Rufen Sie die Methode SET_TAG_MAP für die Instanz auf, um eine Tag-Zuordnung zum Klassifizierungsprofil hinzuzufügen. Dadurch können benutzerdefinierte Tags automatisch auf Spalten angewendet werden, die sensible Daten enthalten.

    CALL my_classification_profile!SET_TAG_MAP(
      {'column_tag_map':[
        {
          'tag_name':'my_db.sch1.pii',
          'tag_value':'sensitive',
          'semantic_categories':['NAME']
        }]});
    
    Copy

    Alternativ hätten Sie diese Zuordnung auch bei der Erstellung des Klassifizierungsprofils hinzufügen können.

  4. Rufen Sie die Methode SET_CUSTOM_CLASSIFIERS auf, um benutzerdefinierte Klassifizierer zum Klassifizierungsprofil hinzuzufügen. So können sensible Daten automatisch mit vom Benutzer definierten semantischen und datenschutzrechtlichen Kategorien klassifiziert werden.

    CALL my_classification_profile!set_custom_classifiers(
      {
        'medical_codes': medical_codes!list(),
        'finance_codes': finance_codes!list()
      });
    
    Copy

    Alternativ hätten Sie die benutzerdefinierten Klassifikatoren auch bei der Erstellung des Klassifizierungsprofils hinzufügen können.

  5. Rufen Sie die Methode DESCRIBE für die Instanz auf, um zu bestätigen, dass die Tag-Map und die benutzerdefinierten Klassifikatoren dem Klassifizierungsprofil hinzugefügt wurden.

    SELECT my_classification_profile!DESCRIBE();
    
    Copy
  6. Legen Sie die Instanz des Klassifizierungsprofils für das Schema fest.

    ALTER SCHEMA mydb.sch
     SET CLASSIFICATION_PROFILE = 'mydb.sch.my_classification_profile';
    
    Copy
  7. Weisen Sie dem Tag tag_db.sch.pii eine Maskierungsrichtlinie zu, um die tagbasierte Maskierung zu aktivieren.

    ALTER TAG tag_db.sch.pii SET MASKING POLICY pii_mask;
    
    Copy

Beispiel: Testen eines Klassifizierungsprofils vor der Aktivierung der automatischen Klassifizierung

  1. Geben Sie als Administrator dem Data Engineer die Rollen und Berechtigungen, die er benötigt, um Tabellen in einem Schema automatisch zu klassifizieren und Tags für Spalten zu setzen.

  2. Erstellen Sie das Klassifizierungsprofil mit einer Tag-Zuordnung und benutzerdefinierten Klassifikatoren:

    CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE my_classification_profile(
      {
        'minimum_object_age_for_classification_days':0,
        'auto_tag':true,
        'tag_map': {
          'column_tag_map':[
            {
              'tag_name':'tag_db.sch.pii',
              'tag_value':'highly sensitive',
              'semantic_categories':['NAME','NATIONAL_IDENTIFIER']
            },
            {
              'tag_name':'tag_db.sch.pii',
              'tag_value':'sensitive',
              'semantic_categories':['EMAIL','MEDICAL_CODE']
            }
          ]
        },
        'custom_classifiers': {
          'medical_codes': medical_codes!list(),
          'finance_codes': finance_codes!list()
        }
      }
    );
    
    Copy
  3. Rufen Sie die gespeicherte Prozedur SYSTEM$CLASSIFY auf, um die Tag-Zuordnungen in der Tabelle table1 zu testen, bevor Sie die automatische Klassifizierung aktivieren.

    CALL SYSTEM$CLASSIFY(
     'db.sch.table1',
     'db.sch.my_classification_profile'
    );
    
    Copy

    Der Schlüssel tags in der Ausgabe enthält die Details darüber, ob das Tag gesetzt wurde (true wenn gesetzt, false andernfalls), den Namen des Tags, der gesetzt wurde, und den Wert des Tags:

    {
      "classification_profile_config": {
        "classification_profile_name": "db.schema.my_classification_profile"
      },
      "classification_result": {
        "EMAIL": {
          "alternates": [],
          "recommendation": {
            "confidence": "HIGH",
            "coverage": 1,
            "details": [],
            "privacy_category": "IDENTIFIER",
            "semantic_category": "EMAIL",
            "tags": [
              {
                "tag_applied": true,
                "tag_name": "snowflake.core.semantic_category",
                "tag_value": "EMAIL"
              },
              {
                "tag_applied": true,
                "tag_name": "snowflake.core.privacy_category",
                "tag_value": "IDENTIFIER"
              },
              {
                "tag_applied": true,
                "tag_name": "tag_db.sch.pii",
                "tag_value": "sensitive"
              }
            ]
          },
          "valid_value_ratio": 1
        },
        "FIRST_NAME": {
          "alternates": [],
          "recommendation": {
            "confidence": "HIGH",
            "coverage": 1,
            "details": [],
            "privacy_category": "IDENTIFIER",
            "semantic_category": "NAME",
            "tags": [
              {
                "tag_applied": true,
                "tag_name": "snowflake.core.semantic_category",
                "tag_value": "NAME"
              },
              {
                "tag_applied": true,
                "tag_name": "snowflake.core.privacy_category",
                "tag_value": "IDENTIFIER"
              },
              {
                "tag_applied": true,
                "tag_name": "tag_db.sch.pii",
                "tag_value": "highly sensitive"
              }
            ]
          },
          "valid_value_ratio": 1
        }
      }
    }
    
  4. Nachdem Sie sich vergewissert haben, dass die automatische Klassifizierung auf der Grundlage des Klassifizierungsprofils das gewünschte Ergebnis liefert, legen Sie die Instanz des Klassifizierungsprofils im Schema fest.

    ALTER SCHEMA mydb.sch
     SET CLASSIFICATION_PROFILE = 'mydb.sch.my_classification_profile';
    
    Copy

Problembehandlung

Standardmäßig verwendet Snowflake die Ereignistabelle des Benutzers, um Ereignisse im Zusammenhang mit der automatischen Klassifizierung von sensiblen Daten zu protokollieren. Wenn Sie verhindern möchten, dass Klassifizierungsereignisse protokolliert werden, setzen Sie den Kontoparameter ENABLE_AUTOMATIC_SENSITIVE_DATA_CLASSIFICATION_LOG auf FALSE.

Mit der folgenden Abfrage können Sie auf Fehlermeldungen aus der Ereignistabelle zugreifen:

SELECT
  record_type,
  record:severity_text::string log_level,
  parse_json(value) error_message
  FROM log_db.log_schema.log_table
  WHERE record_type='LOG' and scope:name ='snow.automatic_sensitive_data_classification'
  ORDER BY log_level;
Copy

Nachfolgend finden Sie mögliche Fehlermeldungen, wobei die Ausgabe so gekürzt wird, dass sie den Schlüssel "failure_reason" und seinen Wert (die Fehlermeldung) enthält:

Fehler

"failure_reason":"NO_TAGGING_PRIVILEGE"

Ursache

Die Rolle, die für die automatische Klassifizierung verwendet wurde, hat nicht die richtigen Berechtigungen, um Tags zu setzen.

Lösung

Gewähren Sie der für die automatische Klassifizierung verwendeten Rolle die erforderlichen Berechtigungen. Weitere Informationen dazu finden Sie unter Tag-Berechtigungen.

Fehler

"failure_reason":"MANUALLY_APPLIED_VALUE_PRESENT"

Ursache

Ein weiteres Tag wird manuell für die Spalte gesetzt.

Lösung

Legen Sie fest, ob Sie das manuell gesetzte Tag für die Spalte beibehalten möchten. Wenn nicht, deaktivieren Sie das Tag, bevor Sie die Tabelle mit der automatischen Klassifizierung oder der gespeicherten Prozedur SYSTEM$CLASSIFY klassifizieren.

Fehler

"failure_reason":"TAG_NOT_ACCESSIBLE_OR_AUTHORIZED"

Ursache

Die Rolle, die für die Klassifizierung verwendet wurde, kann nicht auf das Tag zugreifen.

Lösung

  • Wenn das Tag nicht existiert, erstellen Sie das Tag.

  • Wenn das Tag existiert, gewähren Sie der Rolle, mit der Sie das Schema klassifiziert haben, Berechtigungen für das Tag oder die Datenbank und das Schema, das das Tag enthält.

Weitere Informationen zu Ereignistabellenmeldungen finden Sie unter Anzeigen von Protokollmeldungen.