Vordefinierte Datenmaskierungsfunktionen - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Vordefinierte Datenmaskierungsfunktionen

pg_columnmaskDie Erweiterung bietet integrierte Hilfsfunktionen, die in der Sprache C geschrieben sind (für eine schnellere Ausführung) und als Maskierungsausdruck für pg_columnmask Richtlinien verwendet werden können.

mask_text

Eine Funktion zum Maskieren von Textdaten mit konfigurierbaren Sichtbarkeitsoptionen.

Argumente

Parameter Datatype Description
input TEXT

Die ursprüngliche Textzeichenfolge, die maskiert werden soll

mask_char CHAR (1)

Für die Maskierung verwendetes Zeichen (Standard: 'X')

visible_prefix INT

Anzahl der Zeichen am Anfang des Eingabetextes, die unmaskiert bleiben (Standard: 0)

visible_suffix INT

Anzahl der Zeichen am Ende des Eingabetextes, die unmaskiert bleiben (Standard: 0)

use_hash_mask BOOLEAN

Bei TRUE wird anstelle von mask_char eine Hash-basierte Maskierung verwendet (Standard: FALSE)

Beispiel der Verwendung verschiedener Maskierungsoptionen

Maskiert die gesamte Eingabezeichenfolge mit dem Standardzeichen 'X'

postgres=> SELECT pgcolumnmask.mask_text('Hello World'); mask_text ------------- XXXXXXXXXXX

Verwenden Sie das mask_char Argument, um Texteingaben mit einem anderen Zeichen zu maskieren

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*'); mask_text ------------- ***********

Verwenden Sie visible_prefix und visible_suffix -Parameter, um zu steuern, wie viele Zeichen am Anfang und Ende des Textes unmaskiert bleiben

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 5, 1); mask_text ------------- Hello*****d

Wenn wahr, use_hash_mask wird die Eingabezeichenfolge mit zufälligen Zeichen maskiert, mask_char das Argument wird ignoriert, aber trotzdem visible_prefix berücksichtigt visible_suffix

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 2, 2, true); mask_text ------------- Hex36dOHild

mask_timestamp

Parameter Datatype Description
ts_to_mask TIMESTAMP (ZEITSTEMPEL)

Der ursprüngliche Zeitstempel, der maskiert werden soll

mask_part TEXT

Gibt an, welcher Teil des Zeitstempels maskiert werden soll (Standard: 'all') Gültige Werte: 'Jahr', 'Monat', 'Tag', 'Stunde', 'Minute', 'Sekunde', 'alles'

mask_value TIMESTAMP (ZEITSTEMPEL)

Der Zeitstempelwert, der für die Maskierung verwendet werden soll (Standard: '1900-01-01 00:00:00 ')

Beispiel Verwendung von mask_timestamps

Diese Beispiele veranschaulichen die vollständige Maskierung des Zeitstempels auf einen Standardwert, die teilweise Maskierung bestimmter Zeitstempelkomponenten (nur Jahr) und die Maskierung mit einem benutzerdefinierten Ersatzwert.

Maskiert den Eingabewert vollständig mit dem Standardzeitstempel

postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00'); mask_timestamp --------------------- 1900-01-01 00:00:00

Um nur einen Teil des Zeitstempels zu maskieren, zum Beispiel nur das Jahr

postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'year'); mask_timestamp --------------------- 1900-06-15 14:30:00

Um den maskierten Wert für den Zeitstempel zu ändern, verwenden Sie das Argument mask_value

postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'all', '2012-12-12 12:12:12'); mask_timestamp --------------------- 2012-12-12 12:12:12

mask_timestamp

Eine Funktion zum Maskieren von E-Mail-Adressen unter Beibehaltung der E-Mail-Struktur.

Parameter Datatype Description
input TEXT

Die ursprüngliche E-Mail-Adresse, die maskiert werden soll

mask_char CHAR (1)

Für die Maskierung verwendetes Zeichen (Standard: 'X')

mask_local BOOLEAN

Bei TRUE wird der lokale Teil der E-Mail (vor @) maskiert (Standard: TRUE)

mask_domain BOOLEAN

Bei TRUE wird der Domänenteil der E-Mail (nach @) maskiert (Standard: TRUE)

Beispiel Verwendung von mask_email

Diese Beispiele veranschaulichen die vollständige E-Mail-Maskierung, benutzerdefinierte Maskenzeichen und die selektive Maskierung entweder des lokalen Teils oder des Domainteils der E-Mail-Adresse.

Vollständige Maskierung

postgres=> SELECT pgcolumnmask.mask_email('user@example.com'); mask_email ------------------ XXXX@XXXXXXX.com

Dient mask_char zum Ändern des für die Maskierung verwendeten Zeichens

postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*'); mask_email ------------------ ****@*******.com

Verwenden Sie mask_local undmask_domain, um die Maskierung auf lokaler Ebene und in der Domäne zu steuern

postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*', true, false); mask_email ------------------ ****@example.com postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*', false, true); mask_email ------------------ user@*******.com