Verwenden der externen Tokenisierung

Unter diesem Thema wird eine Anleitung zum Konfigurieren und Verwenden der externen Tokenisierung in Snowflake bereitgestellt.

Snowflake unterstützt externe Tokenisierung auf AWS und Azure.

Wichtig

Für die externe Tokenisierung sind Externe Funktionen erforderlich, die in der Snowflake Standard Edition enthalten sind, und Sie können externe Funktionen mit einem Tokenisierungsanbieter (d. h. Protegrity) verwenden.

Wenn Sie jedoch Ihren Tokenisierungsanbieter in Snowflake Externe Tokenisierung integrieren möchten, müssen Sie ein Upgrade auf Enterprise Edition oder höher durchführen.

Wenden Sie sich für ein Upgrade direkt an den Snowflake-Support.

Verwenden der externen Tokenisierung auf AWS

Registrieren Sie sich für die Protegrity + Snowflake-Testversion, um die externe Tokenisierung auf AWS mit Snowflake und Protegrity zu konfigurieren und zu verwenden.

Befolgen Sie nach der Registrierung alle Anweisungen auf der Protegrity-Website, um die externe Tokenisierung zu konfigurieren und zu verwenden.

Externe Tokenisierung auf Azure

Im Folgenden finden Sie eine repräsentative Vorgehensweise zur Konfiguration und Verwendung der externen Tokenisierung auf Azure.

Schritt 1: Externe Funktionen auf Azure erstellen

Für externe Funktionen muss Ihre Azure-Umgebung so konfiguriert sein, dass sie mit Snowflake kommunizieren kann.

Konfigurieren Sie Ihre Azure-Umgebung und externe Funktionen unter Snowflake mithilfe der folgenden Schritte.

Schritt 2: Benutzerdefinierter Rolle Maskierungsrichtlinienberechtigungen erteilen

Ein Sicherheits- oder Datenschutzbeauftragter sollte als Administrator der Maskierungsrichtlinie (d. h. benutzerdefinierte Rolle: MASKING_ADMIN) fungieren und über Berechtigungen zum Definieren, Verwalten und Anwenden von Maskierungsrichtlinien auf Spalten verfügen.

Snowflake stellt die folgenden Berechtigungen zur Verfügung, die einem Sicherheits- oder Datenschutzbeauftragten für Maskierungsrichtlinien für Sicherheit auf Spaltenebene erteilt werden können:

Berechtigung

Beschreibung

CREATE MASKING POLICY

Diese Berechtigung auf Schemaebene steuert, wer Maskierungsrichtlinien erstellen kann.

APPLY MASKING POLICY

Diese Berechtigung auf Kontoebene steuert, wer Maskierungsrichtlinien für Spalten festlegen/aufheben kann. Sie wird standardmäßig der Rolle ACCOUNTADMIN erteilt. . Diese Berechtigung ermöglicht nur das Anwenden einer Maskierungsrichtlinie auf eine Spalte und bietet keine der zusätzlichen Tabellenberechtigungen, die in Zugriffssteuerungsrechte beschrieben sind.

APPLY ON MASKING POLICY

Optional. Diese Berechtigung auf Richtlinienebene kann von einem Richtlinieneigentümer verwendet werden, um die Operationen zum Festlegen/Aufheben einer bestimmten Maskierungsrichtlinie für bestimmte Spalten an die Objekteigentümer (d. h. der Rolle mit der OWNERSHIP-Berechtigung für das Objekt) zu übergeben. . Snowflake unterstützt die besitzverwaltete Zugriffssteuerung, bei der Objekteigentümer auch als Dateneigentümer gelten. . Wenn der Richtlinienadministrator den Objekteigentümern hinsichtlich der Dateneigentümerschaft für geschützte Spalten vertraut, kann der Richtlinienadministrator diese Berechtigung verwenden, um die Operationen zum Festlegen/Aufheben von Richtlinien zu dezentralisieren.

Im folgenden Beispiel wird die Rolle MASKING_ADMIN erstellt, und dieser Rolle werden Maskierungsrichtlinienberechtigungen erteilt.

-- create a masking policy administrator custom role

CREATE ROLE masking_admin;

-- grant privileges to masking_admin role.

GRANT CREATE MASKING POLICY on SCHEMA <schema_name> to ROLE masking_admin;

GRANT APPLY MASKING POLICY on ACCOUNT to ROLE masking_admin;

-- allow table_owner role to set or unset the ssn_mask masking policy (optional)

GRANT APPLY ON MASKING POLICY ssn_mask to ROLE table_owner;

Wobei:

  • Schemaname

    Gibt den Bezeichner des Schemas an, dem die Berechtigung erteilt werden soll.

Weitere Informationen dazu finden Sie unter:

Schritt 3: Maskierungsrichtlinie erstellen

In diesem typischen Beispiel werden Benutzern mit der Rolle ANALYST die detokenisierten E-Mail-Werte angezeigt. Benutzern ohne die Rolle ANALYST werden tokenisierte Werte angezeigt.

Die externe Funktion zum Detokenisieren der E-Mail-Werte ist de_email().

-- create masking policy

create or replace masking policy email_de_token as (val string) returns string ->
  case
    when current_role() in ('ANALYST') then de_email(val)
    else val
  end;

Tipp

Wenn Sie eine bestehende Maskierungsrichtlinie aktualisieren möchten und dazu die aktuelle Definition der Richtlinie anzeigen müssen, können Sie die Funktion GET_DDL aufrufen oder den Befehl DESCRIBE MASKING POLICY ausführen.

Schritt 4: Maskierungsrichtlinie auf Tabellen- oder Ansichtsspalte anwenden

Führen Sie die folgenden Anweisungen aus, um die Richtlinie auf eine Tabellenspalte oder eine Ansichtsspalte anzuwenden.

-- apply masking policy to a table column

alter table if exists user_info modify column email set masking policy email_de_token;

-- apply the masking policy to a view column

alter view user_info_v modify column email set masking policy email_de_token;

Schritt 5: Daten in Snowflake abfragen

Führen Sie in Snowflake zwei verschiedene Abfragen aus, eine Abfrage mit der Rolle ANALYST und eine andere Abfrage mit einer anderen Rolle, um zu überprüfen, ob Benutzern ohne ANALYST-Rolle die tokenisierten Werte angezeigt werden.

-- using the ANALYST role

use role ANALYST;
select email from user_info; -- should see plain text value

-- using the PUBLIC role

use role public;
select email from user_info; -- should see tokenized value

Best Practices für externe Tokenisierung

Nächste Themen: