

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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures"></a>

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_columnmask` Richtlinie erstellen.
+ Mitglied von`rds_superuser`.
+ Mitglied der durch den `pgcolumnmask.policy_admin_rolname` Parameter festgelegten Rolle des `pg_columnmask` Policy-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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.CreateMaskingPolicy"></a>

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

**Example 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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.AlterMaskingPolicy"></a>

Dieses Verfahren ändert eine bestehende Maskierungsrichtlinie. `ALTER_MASKING_POLICY`kann 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

**Example 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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.DropMaskingPolicy"></a>

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

**Example beim Löschen der Maskierungsrichtlinie customer\_mask**  

```
-- Drop a masking policy
    CALL pgcolumnmask.drop_masking_policy(
        'customer_mask',
        'public.customers',
    );
```