

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Prosedur untuk mengelola kebijakan penyembunyian data
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures"></a>

Anda dapat mengelola kebijakan masking menggunakan prosedur yang disediakan oleh `pg_columnmask` ekstensi. Untuk membuat, memodifikasi, atau menghapus kebijakan masking, Anda harus memiliki salah satu hak istimewa berikut:
+ Pemilik tabel tempat Anda membuat `pg_columnmask` kebijakan.
+ Anggota dari`rds_superuser`.
+ Anggota peran manajer `pg_columnmask` kebijakan yang ditetapkan oleh `pgcolumnmask.policy_admin_rolname` parameter.

Perintah berikut membuat tabel yang digunakan di bagian berikutnya:

```
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>

Prosedur berikut membuat kebijakan masking baru untuk tabel pengguna:

**Sintaksis**

```
create_masking_policy(
    policy_name,
    table_name,
    masking_expressions,
    roles,
    weight)
```

**Argumen**


| Parameter | JenisData | Deskripsi | 
| --- | --- | --- | 
| policy\_name | NAME | Nama kebijakan masking. Harus unik per tabel. | 
| table\_name | REGCLASS |  qualified/unqualified Nama atau oid tabel untuk menerapkan kebijakan masking. | 
| masking\_expressions | JSONB | Objek JSON yang berisi nama kolom dan pasangan fungsi masking. Setiap kunci adalah nama kolom dan nilainya adalah ekspresi masking yang akan diterapkan pada kolom itu. | 
| roles | NAMA [] | Peran yang diterapkan kebijakan penyembunyian ini. Defaultnya adalah PUBLIK. | 
| weight | INT | Bobot kebijakan masking. Jika beberapa kebijakan berlaku untuk kueri pengguna tertentu, kebijakan dengan bobot tertinggi (bilangan bulat lebih tinggi) akan diterapkan ke setiap kolom bertopeng.<br />Default-nya adalah 0. Tidak ada dua kebijakan masking di atas meja yang dapat memiliki kekuatan yang sama. | 

**Jenis pengembalian**

Tidak ada

**Example membuat kebijakan masking yang menutupi kolom email untuk `test_user` peran tersebut:**  

```
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>

Prosedur ini memodifikasi kebijakan masking yang ada. `ALTER_MASKING_POLICY`dapat memodifikasi ekspresi masking kebijakan, serangkaian peran yang diterapkan kebijakan dan bobot kebijakan masking. Ketika salah satu parameter tersebut dihilangkan, bagian yang sesuai dari kebijakan tidak berubah.

**Sintaksis**

```
alter_masking_policy(
    policy_name,
    table_name,
    masking_expressions,
    roles,
    weight)
```

**Argumen**


| Parameter | JenisData | Deskripsi | 
| --- | --- | --- | 
| policy\_name | NAME | Nama kebijakan masking yang ada. | 
| table\_name | REGCLASS |  qualified/unqualified Nama oid dari tabel yang berisi kebijakan masking. | 
| masking\_expressions | JSONB | Objek JSON baru yang berisi nama kolom dan pasangan fungsi masking atau NULL sebaliknya. | 
| roles | NAMA [] | Daftar peran baru yang diterapkan kebijakan penyembunyian ini atau NULL sebaliknya. | 
| weight | INT | Bobot baru untuk kebijakan masking atau NULL sebaliknya. | 

**Jenis pengembalian**

Tidak ada

**Example menambahkan peran analis ke kebijakan masking yang ada tanpa mengubah atribut kebijakan lainnya.**  

```
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>

Prosedur ini menghapus kebijakan masking yang ada.

**Sintaksis**

```
drop_masking_policy(
        policy_name,
        table_name)
```

**Argumen**


| Parameter | JenisData | Deskripsi | 
| --- | --- | --- | 
| policy\_name | NAME | Nama kebijakan masking yang ada. | 
| table\_name | REGCLASS |  qualified/unqualified Nama oid dari tabel yang berisi kebijakan masking. | 

**Jenis pengembalian**

Tidak ada

**Example menjatuhkan kebijakan masking customer\_mask**  

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