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.
Verfahren zur Verwaltung von Datenmaskierungsrichtlinien
Sie können Maskierungsrichtlinien mithilfe der von der Erweiterung bereitgestellten Verfahren verwalten. pg_columnmask Um Maskierungsrichtlinien zu erstellen, zu ändern oder zu löschen, benötigen Sie eines der folgenden Rechte:
-
Besitzer der Tabelle, für die Sie die
pg_columnmaskRichtlinie erstellen. -
Mitglied von
rds_superuser. -
Mitglied der durch den
pgcolumnmask.policy_admin_rolnameParameter festgelegten Rolle despg_columnmaskPolicy-Managers.
Mit dem folgenden Befehl wird eine Tabelle erstellt, die in nachfolgenden Abschnitten verwendet wird:
CREATE TABLE public.customers ( id SERIAL PRIMARY KEY, name TEXT, phone TEXT, address TEXT, email TEXT );
CREATE_MASKING_POLICY
Das folgende Verfahren erstellt eine neue Maskierungsrichtlinie für eine Benutzertabelle:
Syntax
create_masking_policy( policy_name, table_name, masking_expressions, roles, weight)
Argumente
| Parameter | Datatype | Description |
|---|---|---|
policy_name |
NAME |
Der Name der Maskierungsrichtlinie. Muss pro Tabelle eindeutig sein. |
table_name |
REGCLASS |
Der qualified/unqualified Name oder die OID der Tabelle, auf die die Maskierungsrichtlinie angewendet werden soll. |
masking_expressions |
JSONB |
JSON-Objekt, das Paare aus Spaltennamen und Maskierungsfunktionen enthält. Jeder Schlüssel ist ein Spaltenname und sein Wert ist der Maskierungsausdruck, der auf diese Spalte angewendet werden soll. |
roles |
NAME [] |
Die Rollen, für die diese Maskierungsrichtlinie gilt. Die Standardeinstellung ist PUBLIC. |
weight |
INT |
Gewicht der Maskierungsrichtlinie. Wenn für die Anfrage eines bestimmten Benutzers mehrere Richtlinien gelten, wird die Richtlinie mit der höchsten Gewichtung (höhere Ganzzahl) auf jede maskierte Spalte angewendet. Standard = 0. Keine zwei Maskierungsrichtlinien in der Tabelle können dieselbe Gewichtung haben. |
Rückgabetyp
Keine
Beispiel beim Erstellen einer Maskierungsrichtlinie, die die E-Mail-Spalte für die Rolle maskiert: test_user
CALL pgcolumnmask.create_masking_policy( 'customer_mask', 'public.customers', JSON_OBJECT('{ "email", "pgcolumnmask.mask_email(email)" }')::JSONB, ARRAY['test_user'], 100 );
ALTER_MASKING_POLICY
Dieses Verfahren ändert eine bestehende Maskierungsrichtlinie. ALTER_MASKING_POLICYkann die Maskierungsausdrücke der Richtlinie, die Gruppe der Rollen, für die die Richtlinie gilt, und die Gewichtung der Maskierungsrichtlinie ändern. Wenn einer dieser Parameter weggelassen wird, bleibt der entsprechende Teil der Richtlinie unverändert.
Syntax
alter_masking_policy( policy_name, table_name, masking_expressions, roles, weight)
Argumente
| Parameter | Datatype | Description |
|---|---|---|
policy_name |
NAME |
Bestehender Name der Maskierungsrichtlinie. |
table_name |
REGCLASS |
Die qualified/unqualified Name-OID der Tabelle, die die Maskierungsrichtlinie enthält. |
masking_expressions |
JSONB |
Neues JSON-Objekt mit Spaltennamen und Maskierungsfunktionspaaren oder andernfalls NULL. |
roles |
NAME [] |
Die Liste der neuen Rollen, für die diese Maskierungsrichtlinie gilt, andernfalls NULL. |
weight |
INT |
Neue Gewichtung für die Maskierungsrichtlinie oder andernfalls NULL. |
Rückgabetyp
Keine
Beispiel zum Hinzufügen der Analystenrolle zu einer vorhandenen Maskierungsrichtlinie, ohne andere Richtlinienattribute zu ändern.
CALL pgcolumnmask.alter_masking_policy( 'customer_mask', 'public.customers', NULL, ARRAY['test_user', 'analyst'], NULL ); -- Alter the weight of the policy without altering other details CALL pgcolumnmask.alter_masking_policy( 'customer_mask', 'customers', NULL, NULL, 4 );
DROP_MASKING_POLICY
Durch dieses Verfahren wird eine bestehende Maskierungsrichtlinie entfernt.
Syntax
drop_masking_policy( policy_name, table_name)
Argumente
| Parameter | Datatype | Description |
|---|---|---|
policy_name |
NAME |
Bestehender Name der Maskierungsrichtlinie. |
table_name |
REGCLASS |
Die qualified/unqualified Name-OID der Tabelle, die die Maskierungsrichtlinie enthält. |
Rückgabetyp
Keine
Beispiel beim Löschen der Maskierungsrichtlinie customer_mask
-- Drop a masking policy CALL pgcolumnmask.drop_masking_policy( 'customer_mask', 'public.customers', );