Prosedur untuk mengelola kebijakan penyembunyian data - Amazon Aurora

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

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

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 masking 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.

Default-nya adalah 0. Tidak ada dua kebijakan masking di atas meja yang dapat memiliki kekuatan yang sama.

Jenis pengembalian

Tidak ada

contoh 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

Prosedur ini memodifikasi kebijakan masking yang ada. ALTER_MASKING_POLICYdapat 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

contoh 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

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

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