Kamus kustom memberikan kemampuan sederhana tetapi efektif untuk mencocokkan daftar kata atau frasa. Anda dapat menggunakan kamus kustom sebagai pendeteksi atau sebagai daftar pengecualian untuk pendeteksi bawaan. Anda juga dapat menggunakan kamus kustom untuk meningkatkan pendeteksi infoType bawaan agar cocok dengan temuan tambahan.
Bagian ini menjelaskan cara membuat pendeteksi kamus kustom reguler dari daftar kata.
Anatomi pendeteksi infoType kustom kamus
Seperti yang diringkas dalam
ringkasan API, untuk membuat
detektor infoType kustom kamus, Anda menentukan objek
CustomInfoType
yang berisi hal berikut:
- Nama yang ingin Anda berikan ke pendeteksi infoType kustom, dalam objek
InfoType
. - Nilai
Likelihood
opsional. Jika Anda menghapus kolom ini, kecocokan dengan item kamus akan menampilkan kemungkinan defaultVERY_LIKELY
. - Objek
DetectionRule
opsional, atau aturan kata kunci. Aturan ini menyesuaikan kemungkinan penemuan dalam jarak tertentu dari kata kunci yang ditentukan. Pelajari lebih lanjut aturan kata panas di Menyesuaikan kemungkinan pencocokan. Nilai
SensitivityScore
opsional. Jika Anda menghapus kolom ini, kecocokan dengan item kamus akan menampilkan tingkat sensitivitas defaultHIGH
.Skor sensitivitas digunakan dalam profil data. Saat membuat profil data Anda, Perlindungan Data Sensitif menggunakan skor sensitivitas infoType untuk menghitung tingkat sensitivitas.
Dictionary
, sebagaiWordList
yang berisi daftar kata yang akan dipindai atauCloudStoragePath
ke satu file teks yang berisi daftar kata yang dibatasi baris baru yang akan dipindai.
Sebagai objek JSON, detektor infoType kustom kamus yang menyertakan semua komponen opsional akan terlihat seperti berikut. JSON ini menyertakan jalur ke file teks kamus yang disimpan di Cloud Storage. Untuk melihat daftar kata inline, lihat bagian Contoh, nanti dalam topik ini.
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
...
],
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
"dictionary":
{
"cloudStoragePath":
{
"path": "gs://PATH_TO_TXT_FILE"
}
}
}
],
...
}
Detail pencocokan kamus
Berikut adalah panduan tentang cara Sensitive Data Protection mencocokkan kata dan frasa dalam kamus. Poin-poin ini berlaku untuk kamus kustom reguler dan besar:
- Kata dalam kamus tidak peka huruf besar/kecil. Jika kamus Anda menyertakan
Abby
, kamus akan cocok denganabby
,ABBY
,Abby
, dan sebagainya. - Semua karakter—dalam kamus atau dalam konten yang akan dipindai—selain huruf, angka, dan karakter alfabet lainnya yang terdapat dalam Basic Multilingual Plane Unicode dianggap sebagai spasi kosong saat memindai kecocokan. Jika kamus Anda
memindai
Abby Abernathy
, kamus akan cocok denganabby abernathy
,Abby, Abernathy
,Abby (ABERNATHY)
, dan sebagainya. - Karakter yang mengelilingi kecocokan apa pun harus dari jenis yang berbeda (huruf
atau angka) dengan karakter yang berdekatan dalam kata. Jika kamus Anda
memindai
Abi
, kamus akan cocok dengan tiga karakter pertamaAbi904
, tetapi tidak cocok denganAbigail
. - Kata kamus yang berisi karakter dalam Supplementary Multilingual Plane dari standar Unicode dapat menghasilkan temuan yang tidak terduga. Contoh karakter tersebut adalah emoji, simbol ilmiah, dan skrip historis.
Huruf, angka, dan karakter alfabet lainnya didefinisikan sebagai berikut:
- Huruf: karakter dengan kategori umum
Lu
,Ll
,Lt
,Lm
, atauLo
dalam spesifikasi Unicode - Angka: karakter dengan kategori umum
Nd
dalam spesifikasi Unicode - Karakter alfabet lainnya: karakter dengan kategori umum
Nl
dalam spesifikasi Unicode atau dengan properti kontribusiOther_Alphabetic
seperti yang ditentukan oleh Standar Unicode
Contoh
Daftar kata sederhana
Misalnya, Anda memiliki data yang menyertakan ruangan rumah sakit tempat pasien dirawat selama kunjungan. Lokasi ini mungkin dianggap sensitif dalam set data tertentu, tetapi bukan sesuatu yang akan terdeteksi oleh detektor bawaan Perlindungan Data Sensitif.
Kamar tercantum sebagai:
- "RM-Orange"
- "RM-Yellow"
- "RM-Green"
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Contoh JSON berikut menentukan kamus kustom yang dapat Anda gunakan untuk menghapus identifikasi nomor kamar kustom.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:deidentify?key={YOUR_API_KEY}
{
"item":{
"value":"Patient was seen in RM-YELLOW then transferred to rm green."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"primitiveTransformation":{
"replaceWithInfoTypeConfig":{
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_ROOM_ID"
},
"dictionary":{
"wordList":{
"words":[
"RM-GREEN",
"RM-YELLOW",
"RM-ORANGE"
]
}
}
}
]
}
}
Output JSON:
Saat kita mem-POST input JSON ke
content:deidentify
,
respons JSON berikut akan ditampilkan:
{
"item":{
"value":"Patient was seen in [CUSTOM_ROOM_ID] then transferred to [CUSTOM_ROOM_ID]."
},
"overview":{
"transformedBytes":"17",
"transformationSummaries":[
{
"infoType":{
"name":"CUSTOM_ROOM_ID"
},
"transformation":{
"replaceWithInfoTypeConfig":{
}
},
"results":[
{
"count":"2",
"code":"SUCCESS"
}
],
"transformedBytes":"17"
}
]
}
}
Perlindungan Data Sensitif telah mengidentifikasi nomor kamar dengan benar
yang ditentukan dalam pesan
WordList
kamus kustom. Perhatikan bahwa item bahkan cocok jika huruf besar/kecil dan tanda hubung (-
)
tidak ada, seperti pada contoh kedua, "rm green".
Daftar pengecualian
Misalnya, Anda memiliki data log yang menyertakan ID pelanggan seperti alamat email, dan Anda ingin menyamarkan informasi ini. Namun, log ini juga menyertakan alamat email developer internal, dan Anda tidak ingin menyamarkan alamat tersebut.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Contoh JSON berikut membuat kamus kustom yang mencantumkan sebagian alamat email dalam pesan WordList
(jack@example.org dan jill@example.org), dan menetapkan nama infoType kustom DEVELOPER_EMAIL
. JSON ini menginstruksikan
Sensitive Data Protection untuk mengabaikan alamat email yang ditentukan, sekaligus
mengganti alamat email lain yang terdeteksi dengan string yang sesuai
dengan infoType-nya (dalam hal ini, EMAIL_ADDRESS
):
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:deidentify?key={YOUR_API_KEY}
{
"item":{
"value":"jack@example.org accessed customer record of user5@example.com"
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"primitiveTransformation":{
"replaceWithInfoTypeConfig":{
}
},
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"DEVELOPER_EMAIL"
},
"dictionary":{
"wordList":{
"words":[
"jack@example.org",
"jill@example.org"
]
}
}
}
],
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
"ruleSet": [
{
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
],
"rules": [
{
"exclusionRule": {
"excludeInfoTypes": {
"infoTypes": [
{
"name": "DEVELOPER_EMAIL"
}
]
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
}
Output JSON:
Saat kita mengirim JSON ini ke
content:deidentify
,
JSON akan menampilkan respons JSON berikut:
{
"item":{
"value":"jack@example.org accessed customer record of [EMAIL_ADDRESS]"
},
"overview":{
"transformedBytes":"17",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceWithInfoTypeConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"17"
}
]
}
}
Output telah mengidentifikasi user1@example.com dengan benar sebagai cocok dengan
pendeteksi infoType EMAIL_ADDRESS
dan jack@example.org sebagai cocok dengan
pendeteksi infoType kustom DEVELOPER_EMAIL
. Perhatikan bahwa karena kita memilih untuk hanya
mengubah EMAIL_ADDRESS
, jack@example.org dibiarkan apa adanya.
Memperkuat pendeteksi infotype bawaan
Pertimbangkan skenario saat detektor infoType bawaan tidak menampilkan
nilai yang benar. Misalnya, Anda ingin menampilkan kecocokan pada nama orang, tetapi detector PERSON_NAME
bawaan Sensitive Data Protection gagal menampilkan kecocokan pada beberapa nama orang yang umum di set data Anda.
Sensitive Data Protection memungkinkan Anda meningkatkan detektor infoType bawaan
dengan menyertakan detektor bawaan dalam deklarasi untuk detektor infoType
kustom, seperti yang ditunjukkan dalam contoh berikut. Cuplikan ini mengilustrasikan cara
mengonfigurasi Perlindungan Data Sensitif sehingga pendeteksi infoType bawaan
PERSON_NAME
juga akan cocok dengan nama "Quasimodo:"
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
... "inspectConfig":{ "customInfoTypes":[ { "infoType":{ "name":"PERSON_NAME" }, "dictionary":{ "wordList":{ "words":[ "quasimodo" ] } } } ] } ...
Langkah selanjutnya
Pelajari kamus kustom besar.