Dengan menggunakan aturan frasa pengaktif, Anda dapat memperluas detektor infoType bawaan dan kustom dengan aturan konteks yang efektif. Aturan frasa pengaktif menginstruksikan Sensitive Data Protection untuk menyesuaikan kemungkinan temuan, bergantung pada apakah frasa pengaktif muncul di dekat temuan tersebut. Aturan frasa pengaktif adalah jenis aturan pemeriksaan, yang ditentukan dalam set aturan. Setiap aturan diterapkan ke kumpulan infoType bawaan atau kustom.
Anatomi aturan frasa pengaktif
Detektor infoType dapat memiliki nol atau beberapa aturan frasa pengaktif. Dalam
konfigurasi pemeriksaan, Anda
menentukan setiap objek HotwordRule
di dalam array rules, sebagai berikut:
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"REGEX_PATTERN"
},
"proximity":{
"windowAfter":"NUM_CHARS_TO_CONSIDER_AFTER_FINDING",
"windowBefore":"NUM_CHARS_TO_CONSIDER_BEFORE_FINDING"
}
"likelihoodAdjustment":{
"fixedLikelihood":"LIKELIHOOD_VALUE"
-- OR --
"relativeLikelihood":"LIKELIHOOD_ADJUSTMENT"
},
}
},
...
]
Ganti kode berikut:
- REGEX_PATTERN: ekspresi reguler
(objek
Regex) yang menentukan apa yang memenuhi syarat sebagai hotword. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: rentang karakter setelah temuan. Sensitive Data Protection menganalisis rentang ini untuk menentukan apakah kata kunci muncul di dekat temuan.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: rentang karakter sebelum temuan. Sensitive Data Protection menganalisis rentang ini untuk menentukan apakah kata kunci muncul di dekat temuan.
LIKELIHOOD_VALUE: tingkat
Likelihoodtetap untuk menetapkan temuan.LIKELIHOOD_ADJUSTMENT: angka yang menunjukkan seberapa besar Sensitive Data Protection harus meningkatkan atau menurunkan kemungkinan temuan. Bilangan bulat positif meningkatkan tingkat kemungkinan, dan bilangan bulat negatif menurunkannya. Misalnya, jika temuan akan menjadi
POSSIBLEtanpa aturan deteksi danrelativeLikelihoodadalah 1, temuan tersebut akan diupgrade keLIKELY. JikarelativeLikelihoodadalah -1, temuan akan diturunkan keUNLIKELY. Kemungkinan tidak akan pernah turun lebih rendah dariVERY_UNLIKELYatau melebihiVERY_LIKELY. Dalam kasus ini, tingkat kemungkinan tetap sama. Misalnya, jika kemungkinan dasar adalahVERY_LIKELYdanrelativeLikelihoodadalah 1, kemungkinan akhir tetapVERY_LIKELY.
Contoh kata kunci: Mencocokkan nomor rekam medis
Misalnya, Anda ingin mendeteksi infoType kustom seperti nomor rekam medis (MRN) dalam bentuk "###-#-#####". Selain itu, Anda ingin Sensitive Data Protection meningkatkan kemungkinan kecocokan setiap temuan yang mengikuti kata kunci "MRN".
Contoh nilai:
- 123-4-56789 akan cocok sebagai
POSSIBLE. - MRN 123-4-56789 akan cocok sebagai
VERY_LIKELY.
Contoh JSON dan cuplikan kode berikut menunjukkan cara mengonfigurasi aturan frasa pengaktif. Contoh ini menggunakan pendeteksi ekspresi reguler kustom.
Dalam contoh ini, perhatikan hal berikut:
- Permintaan ini menentukan infoType kustom
C_MRN, yang merupakan detektor untuk string apa pun yang cocok dengan ekspresi reguler[0-9]{3}-[0-9]{1}-[0-9]{5}. - Ekspresi reguler
(?i)(mrn|medical)(?-i)menentukan hotword. Sensitive Data Protection menelusuri hotword ini dalam rentang karakter yang ditentukan di kolomproximity. - Untuk setiap temuan
C_MRNyang memiliki hotword dalam setproximity, Sensitive Data Protection menetapkan tingkat kemungkinan keVERY_LIKELY.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Lihat panduan memulai JSON untuk mengetahui informasi selengkapnya tentang cara menggunakan DLP API dengan JSON.
Metode HTTP dan URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Ganti PROJECT_ID dengan project ID.
Input JSON:
{
"item":{
"value":"Patient's MRN 444-5-22222 and just a number 333-2-33333"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
},
"likelihood":"POSSIBLE",
}
],
"ruleSet":[
{
"infoTypes": [{"name" : "C_MRN"}],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"(?i)(mrn|medical)(?-i)"
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
},
"proximity":{
"windowBefore":10
}
}
}
]
}
]
}
}
Output JSON (disingkat):
{
"result": {
"findings": [
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"start": "14",
"end": "25"
},
"codepointRange": { ... }
}
},
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "POSSIBLE",
"byteRange": {
"start": "44",
"end": "55"
},
"codepointRange": { ... }
}
}
]
}
}
Output menunjukkan bahwa Sensitive Data Protection mengidentifikasi nomor rekam medis dengan benar menggunakan detektor infoType kustom C_MRN.
Selanjutnya, karena pencocokan konteks
dalam aturan frasa pengaktif, Sensitive Data Protection menetapkan hasil pertama—yang
memiliki MRN dalam proximity yang ditetapkan—kemungkinan VERY_LIKELY, seperti yang dikonfigurasi. Temuan kedua
tidak memiliki konteks, sehingga likelihood tetap di POSSIBLE.
Contoh hotword: Menetapkan kemungkinan kecocokan kolom tabel
Contoh ini menunjukkan cara menetapkan kemungkinan kecocokan seluruh kolom data. Pendekatan ini berguna, misalnya, jika Anda ingin mengecualikan kolom data dari hasil pemeriksaan.
Perhatikan tabel berikut. Satu kolom berisi nomor Jaminan Sosial (SSN) placeholder, dan kolom lainnya berisi SSN asli.
| Nomor Jaminan Sosial Palsu | Nomor Jaminan Sosial yang Valid |
|---|---|
| 111-11-1111 | 222-22-2222 |
Untuk meminimalkan gangguan dalam hasil pemeriksaan, Anda dapat mengecualikan temuan apa pun di kolom Fake Social Security Number. Tetapkan tingkat kemungkinan rendah ke kolom ini. Kemudian, konfigurasikan permintaan sedemikian rupa sehingga kecocokan dengan tingkat kemungkinan tersebut
dikecualikan dari hasil.
Dalam contoh ini, perhatikan hal berikut:
- Aturan frasa pengaktif diterapkan ke infoType
US_SOCIAL_SECURITY_NUMBER. - Ekspresi reguler hotword
(Fake Social Security Number)berisi nama kolom yang memiliki nilai placeholder. - Properti
windowBeforeditetapkan ke 1, yang berarti hotword berada di header kolom, dan temuan harus berada di kolom. - Untuk setiap temuan
US_SOCIAL_SECURITY_NUMBERdi kolom ini, Sensitive Data Protection menetapkan tingkat kemungkinan keVERY_UNLIKELY. - Properti
minLikelihoodditetapkan kePOSSIBLE, yang berarti bahwa setiap temuan yang memiliki tingkat kemungkinan lebih rendah dariPOSSIBLEakan dikecualikan dari hasil pemeriksaan.
Lihat panduan memulai JSON untuk mengetahui informasi selengkapnya tentang cara menggunakan DLP API dengan JSON.
Metode HTTP dan URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Ganti PROJECT_ID dengan project ID.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Input JSON:{
"item": {
"table": {
"headers": [
{
"name": "Fake Social Security Number"
},
{
"name": "Real Social Security Number"
}
],
"rows": [
{
"values": [
{
"stringValue": "111-11-1111"
},
{
"stringValue": "222-22-2222"
}
]
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"includeQuote": true,
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_UNLIKELY"
},
"proximity": {
"windowBefore": 1
}
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
Output JSON:
{
"result": {
"findings": [
{
"quote": "222-22-2222",
"infoType": {
"name": "US_SOCIAL_SECURITY_NUMBER"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"end": "11"
},
"codepointRange": {
"end": "11"
},
"contentLocations": [
{
"recordLocation": {
"fieldId": {
"name": "Real Social Security Number"
},
"tableLocation": {}
}
}
]
},
"createTime": "TIMESTAMP",
"findingId": "TIMESTAMP"
}
]
}
}
Nilai 111-11-1111, yang ada di kolom Fake Social Security Number, cocok dengan aturan frasa pengaktif, sehingga Sensitive Data Protection menetapkan tingkat kemungkinan VERY_UNLIKELY kepadanya . Tingkat ini lebih rendah daripada kemungkinan minimum yang ditetapkan dalam konfigurasi pemeriksaan (POSSIBLE), sehingga temuan ini dikecualikan dari hasil pemeriksaan.
Anda dapat bereksperimen dengan contoh ini dengan menghapus set aturan. Perhatikan bahwa Sensitive Data Protection menyertakan 111-11-1111 dalam hasilnya.