Kamus kustom memberikan kemampuan yang sederhana tetapi efektif untuk mencocokkan daftar kata atau frasa. Anda dapat menggunakan kamus kustom sebagai detektor atau sebagai daftar pengecualian untuk detektor bawaan. Anda juga dapat menggunakan kamus kustom untuk melengkapi detektor infoType bawaan agar cocok dengan temuan tambahan.
Bagian ini menjelaskan cara membuat pendeteksi kamus kustom reguler dari daftar kata.
Anatomi detektor infoType kustom kamus
Seperti yang dirangkum dalam ringkasan API, untuk membuat detektor infoType kustom kamus, tentukan objek CustomInfoType
yang berisi hal berikut:
- Nama yang ingin Anda berikan ke detektor infoType kustom, dalam objek
InfoType
. - Nilai
Likelihood
opsional. Jika Anda menghilangkan kolom ini, kecocokan dengan item kamus akan menampilkan kemungkinan default sebesarVERY_LIKELY
. - Objek
DetectionRule
opsional, atau aturan frasa pengaktif. Aturan ini menyesuaikan kemungkinan temuan dalam jarak tertentu dari frasa pengaktif yang ditentukan. Pelajari aturan frasa pengaktif lebih lanjut di Menyesuaikan kemungkinan pencocokan. Nilai
SensitivityScore
opsional. Jika Anda menghilangkan 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 dipisahkan baris baru untuk dipindai.
Sebagai objek JSON, detektor infoType kustom kamus yang menyertakan semua komponen opsional akan terlihat seperti berikut. JSON ini mencakup 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 Perlindungan Data Sensitif mencocokkan kata dan frasa kamus. Poin-poin ini berlaku untuk kamus khusus reguler dan besar:
- Kata kamus tidak peka huruf besar/kecil. Jika kamus Anda menyertakan
Abby
, kamus akan cocok denganabby
,ABBY
,Abby
, dan seterusnya. - Semua karakter—dalam kamus atau dalam konten yang akan dipindai—selain
huruf dan angka yang terdapat dalam
Basic Multilingual Plane
Unicode
dianggap sebagai spasi kosong saat memindai kecocokan. Jika kamus Anda
memindai
Abby Abernathy
, kamus akan cocok diabby abernathy
,Abby, Abernathy
,Abby (ABERNATHY)
, dan seterusnya. - Karakter yang mengelilingi pencocokan apa pun harus memiliki jenis yang berbeda (huruf
atau angka) dari karakter yang bersebelahan dalam kata. Jika kamus Anda
memindai
Abi
, kamus akan cocok dengan tiga karakter pertamaAbi904
, tetapi bukanAbigail
. - Kata kamus yang berisi karakter dalam Sistem Multibahasa Tambahan standar Unicode dapat menghasilkan temuan yang tidak terduga. Contoh karakter tersebut adalah bahasa China, Jepang, Korea, dan emoji.
Contoh
Daftar kata sederhana
Misalkan Anda memiliki data yang berisi ruang rumah sakit tempat pasien dirawat selama kunjungan. Lokasi ini dapat dianggap sensitif dalam set data tertentu, tetapi bukan sesuatu yang akan diambil oleh detektor bawaan Perlindungan Data Sensitif.
Ruang tersebut tercantum sebagai:
- "RM-Oranye"
- "RM-Kuning"
- "RM-Hijau"
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 melakukan de-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 MEMPOSTING 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 dengan benar nomor kamar yang ditentukan dalam pesan WordList
kamus kustom. Perhatikan bahwa item bahkan dicocokkan saat kasus dan tanda hubung (-
) tidak ada, seperti dalam contoh kedua, "rm green".
Daftar pengecualian
Misalkan 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 menyamarkannya.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 subset alamat email dalam pesan WordList
(jack@example.org dan jill@example.org), serta menetapkan nama infoType kustom DEVELOPER_EMAIL
. JSON ini menginstruksikan Perlindungan Data Sensitif 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 POSTING JSON ini ke content:deidentify
, respons JSON berikut akan ditampilkan:
{
"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 dengan benar user1@example.com sebagai yang cocok dengan detektor infoType EMAIL_ADDRESS
dan jack@example.org yang cocok dengan detektor infoType kustom DEVELOPER_EMAIL
. Perhatikan bahwa karena kita memilih untuk hanya
mengubah EMAIL_ADDRESS
, jack@example.org tidak akan berubah.
Memperkuat detektor infotype bawaan
Pertimbangkan skenario saat detektor infoType bawaan tidak menampilkan
nilai yang benar. Misalnya, Anda ingin menampilkan kecocokan untuk nama orang, tetapi detektor PERSON_NAME
bawaan Perlindungan Data Sensitif gagal menampilkan kecocokan untuk beberapa nama orang yang umum dalam set data Anda.
Dengan Perlindungan Data Sensitif, Anda dapat meningkatkan detektor infoType bawaan dengan menyertakan detektor bawaan dalam deklarasi untuk deteksi infoType kustom, seperti yang ditunjukkan dalam contoh berikut. Cuplikan ini menggambarkan cara mengonfigurasi Perlindungan Data Sensitif sehingga detektor 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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 mengautentikasi 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.