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