Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi penyembunyian data yang telah ditentukan sebelumnya
pg_columnmaskekstensi menyediakan fungsi utilitas bawaan yang ditulis dalam bahasa C (untuk eksekusi lebih cepat) yang dapat digunakan sebagai ekspresi masking untuk pg_columnmask kebijakan.
mask_text
Fungsi untuk menutupi data teks dengan opsi visibilitas yang dapat dikonfigurasi.
Argumen
| Parameter | JenisData | Deskripsi |
|---|---|---|
input |
TEXT |
String teks asli yang akan disamarkan |
mask_char |
ARANG (1) |
Karakter yang digunakan untuk masking (default: 'X') |
visible_prefix |
INT |
Jumlah karakter di awal teks masukan yang akan tetap terbuka kedoknya (default: 0) |
visible_suffix |
INT |
Jumlah karakter di akhir teks masukan yang akan tetap terbuka kedoknya (default: 0) |
use_hash_mask |
BOOLEAN |
Jika TRUE, gunakan masking berbasis hash alih-alih mask_char (default: FALSE) |
contoh menggunakan opsi masking yang berbeda
Tutupi seluruh string input dengan karakter 'X' default
postgres=> SELECT pgcolumnmask.mask_text('Hello World'); mask_text ------------- XXXXXXXXXXX
Gunakan mask_char argumen untuk menutupi masukan teks menggunakan karakter yang berbeda
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*'); mask_text ------------- ***********
Gunakan visible_prefix dan visible_suffix parameter untuk mengontrol berapa banyak karakter yang tetap dibuka kedoknya di awal dan akhir teks
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 5, 1); mask_text ------------- Hello*****d
Kapan use_hash_mask benar, string input ditutupi menggunakan mask_char argumen karakter acak diabaikan tetapi visible_prefix dan visible_suffix masih dihormati
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 2, 2, true); mask_text ------------- Hex36dOHild
mask_timestamp
| Parameter | JenisData | Deskripsi |
|---|---|---|
ts_to_mask |
TIMESTAMP |
Stempel waktu asli yang akan ditutup |
mask_part |
TEXT |
Menentukan bagian mana dari stempel waktu untuk menutupi (default: 'all') Nilai yang valid: 'year', 'month', 'day', 'hour', 'minute', 'second', 'all' |
mask_value |
TIMESTAMP |
Nilai stempel waktu yang digunakan untuk masking (default: '1900-01-01 00:00:00 ') |
contoh menggunakan mask_timestamps
Contoh-contoh ini menunjukkan masking stempel waktu lengkap ke nilai default, penyembunyian sebagian komponen stempel waktu tertentu (hanya tahun), dan penyembunyian dengan nilai penggantian khusus.
Sepenuhnya menutupi nilai input ke stempel waktu default
postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00'); mask_timestamp --------------------- 1900-01-01 00:00:00
Untuk menutupi hanya satu bagian stempel waktu dari contoh hanya tahun
postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'year'); mask_timestamp --------------------- 1900-06-15 14:30:00
Untuk mengubah nilai masked untuk stempel waktu gunakan argumen 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
Fungsi untuk menutupi alamat email sambil mempertahankan struktur email.
| Parameter | JenisData | Deskripsi |
|---|---|---|
input |
TEXT |
Alamat email asli yang akan disamarkan |
mask_char |
ARANG (1) |
Karakter yang digunakan untuk masking (default: 'X') |
mask_local |
BOOLEAN |
Jika TRUE, menutupi bagian lokal email (sebelum @) (default: TRUE) |
mask_domain |
BOOLEAN |
Jika TRUE, menutupi bagian domain email (setelah @) (default: TRUE) |
contoh menggunakan mask_email
Contoh-contoh ini menunjukkan masking email lengkap, karakter topeng kustom, dan penyembunyian selektif dari bagian lokal atau bagian domain dari alamat email.
Masking lengkap
postgres=> SELECT pgcolumnmask.mask_email('user@example.com'); mask_email ------------------ XXXX@XXXXXXX.com
Gunakan mask_char untuk mengubah karakter yang digunakan untuk masking
postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*'); mask_email ------------------ ****@*******.com
Gunakan mask_local dan mask_domain untuk mengontrol masking pada lokal dan domain
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