Topik ini membahas teknik de-identifikasi, atau transformasi, yang tersedia di Perlindungan Data Sensitif.
Jenis teknik de-identifikasi
Memilih transformasi de-identifikasi yang ingin Anda gunakan bergantung pada jenis data yang ingin Anda de-identifikasi dan tujuan Anda melakukan de-identifikasi data tersebut. Teknik de-identifikasi yang didukung Sensitive Data Protection termasuk dalam kategori umum berikut:
- Penyuntingan: Menghapus semua atau sebagian nilai sensitif yang terdeteksi.
- Penggantian: Mengganti nilai sensitif yang terdeteksi dengan nilai pengganti yang ditentukan.
- Penyamaran: Mengganti sejumlah karakter nilai sensitif dengan karakter pengganti yang ditentukan, seperti hash (#) atau tanda bintang (*).
- Tokenisasi berbasis kriptografi: Mengenkripsi nilai data sensitif asli menggunakan kunci kriptografi. Sensitive Data Protection mendukung beberapa jenis tokenisasi, termasuk transformasi yang dapat dibatalkan, atau "diidentifikasi ulang".
- Pengelompokan: "Menggeneralisasi" nilai sensitif dengan menggantinya dengan rentang nilai. (Misalnya, mengganti usia tertentu dengan rentang usia, atau suhu dengan rentang yang sesuai dengan "Panas", "Sedang", dan "Dingin".)
- Penggeseran tanggal: Menggeser nilai tanggal sensitif dengan jumlah waktu acak.
- Ekstraksi waktu: Mengekstrak atau mempertahankan bagian tertentu dari nilai tanggal dan waktu.
Bagian selanjutnya dari topik ini membahas setiap jenis transformasi de-identifikasi yang berbeda dan memberikan contoh penggunaannya.
Metode transformasi
Tabel berikut mencantumkan transformasi yang disediakan Perlindungan Data Sensitif untuk melakukan de-identifikasi data sensitif:
Transformasi | Objek | Deskripsi | Dapat Membalikkan1 | Integritas Referensial2 | Jenis Input |
---|---|---|---|---|---|
Penyuntingan | RedactConfig |
Menyamarkan nilai dengan menghapusnya. | Semua | ||
Penggantian | ReplaceValueConfig |
Mengganti setiap nilai input dengan nilai tertentu. | Semua | ||
Ganti dengan kamus | ReplaceDictionaryConfig
|
Mengganti nilai input dengan nilai yang dipilih secara acak dari daftar kata. | Semua | ||
Ganti dengan infoType | ReplaceWithInfoTypeConfig |
Mengganti nilai input dengan nama infoType-nya. | Semua | ||
Masker dengan karakter | CharacterMaskConfig |
Menyamarkan string sepenuhnya atau sebagian dengan mengganti sejumlah karakter dengan karakter tetap yang ditentukan. | Semua | ||
Penyamaran dengan mengganti nilai input dengan hash kriptografis | CryptoHashConfig |
Mengganti nilai input dengan string heksadesimal 32 byte yang dihasilkan menggunakan kunci enkripsi data tertentu. Lihat dokumentasi konseptual pseudonymisasi untuk mempelajari lebih lanjut. | ✔ | String atau bilangan bulat | |
Penyamaran dengan mengganti dengan token yang mempertahankan format kriptografis | CryptoReplaceFfxFpeConfig |
Mengganti nilai input dengan token, atau nilai pengganti, dengan
panjang yang sama menggunakan enkripsi yang mempertahankan format (FPE) dengan
mode operasi FFX. Hal ini memungkinkan output digunakan dalam sistem yang memiliki
validasi format pada panjang. Hal ini berguna untuk sistem lama yang
panjang stringnya harus dipertahankan.
Penting: Untuk input yang panjangnya bervariasi atau memiliki
panjang lebih dari 32 byte, gunakan CryptoDeterministicConfig .
Agar tetap aman, batas berikut direkomendasikan oleh
National Institute of Standards and Technology:
|
✔ | ✔ | String atau bilangan bulat dengan jumlah karakter terbatas dan panjang yang seragam. Alfabet harus terdiri dari minimal 2 karakter dan tidak boleh lebih dari 95 karakter. |
Penyemaran nama dengan mengganti nama dengan token kriptografis | CryptoDeterministicConfig |
Mengganti nilai input dengan token, atau nilai pengganti, dengan panjang yang sama menggunakan AES dalam mode Vektor Inisialisasi Sintetis (AES-SIV). Metode transformasi ini, tidak seperti tokenisasi yang mempertahankan format, tidak memiliki batasan pada set karakter string yang didukung, menghasilkan token yang identik untuk setiap instance nilai input yang identik, dan menggunakan pengganti untuk mengaktifkan identifikasi ulang dengan kunci enkripsi asli. | ✔ | ✔ | Semua |
Nilai bucket berdasarkan rentang ukuran tetap | FixedSizeBucketingConfig |
Menyamarkan nilai input dengan menggantinya dengan bucket, atau rentang dalam nilai input berada. | Semua | ||
Nilai bucket berdasarkan rentang ukuran kustom | BucketingConfig |
Mengelompokkan nilai input berdasarkan rentang yang dapat dikonfigurasi pengguna dan nilai pengganti. | Semua | ||
Perubahan Tanggal | DateShiftConfig |
Mengubah tanggal dengan jumlah hari acak, dengan opsi untuk konsisten untuk konteks yang sama. | ✔ Mempertahankan urutan dan durasi |
Tanggal/Waktu | |
Mengekstrak data waktu | TimePartConfig |
Mengekstrak atau mempertahankan sebagian nilai Date ,
Timestamp , dan TimeOfDay . |
Tanggal/Waktu |
Catatan kaki
content.reidentify
.
Penyuntingan
Jika Anda hanya ingin menghapus data sensitif dari konten input, Sensitive Data Protection mendukung transformasi penghapusan (RedactConfig
di DLP API).
Misalnya, anggap saja Anda ingin melakukan penyamaran sederhana pada semua
EMAIL_ADDRESS
infoType, dan string berikut dikirim ke
Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
String yang ditampilkan akan menjadi berikut:
My name is Alicia Abernathy, and my email address is .
Contoh JSON dan kode berikut dalam beberapa bahasa menunjukkan cara membuat permintaan API dan apa yang ditampilkan DLP API.
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 mulai cepat JSON untuk mengetahui informasi selengkapnya tentang penggunaan DLP API dengan JSON.
Metode HTTP dan URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Ganti PROJECT_ID
dengan project ID.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Penggantian
Transformasi penggantian mengganti setiap nilai input dengan nilai token tertentu atau dengan nama infoType-nya.
Penggantian dasar
Transformasi penggantian dasar
(ReplaceValueConfig
di DLP API) mengganti nilai data sensitif yang terdeteksi dengan nilai
yang Anda tentukan. Misalnya, Anda telah memberi tahu Sensitive Data Protection untuk menggunakan
"[fake@example.com]" untuk mengganti semua infoType EMAIL_ADDRESS
yang terdeteksi, dan
string berikut dikirim ke Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
String yang ditampilkan adalah sebagai berikut:
My name is Alicia Abernathy, and my email address is [fake@example.com].
Contoh JSON dan kode berikut dalam beberapa bahasa menunjukkan cara membuat permintaan API dan apa yang ditampilkan DLP API.
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 mulai cepat JSON untuk mengetahui informasi selengkapnya tentang penggunaan DLP API dengan JSON.
Metode HTTP dan URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Ganti PROJECT_ID
dengan project ID.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is [email-address]."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Penggantian kamus
Penggantian kamus
(ReplaceDictionaryConfig
)
mengganti setiap bagian data sensitif yang terdeteksi dengan nilai yang
dipilih secara acak oleh Sensitive Data Protection dari daftar kata yang Anda berikan.
Metode transformasi ini berguna jika Anda ingin menggunakan nilai pengganti yang realistis.
Misalkan Anda ingin Perlindungan Data Sensitif mendeteksi alamat email dan mengganti setiap nilai yang terdeteksi dengan salah satu dari tiga alamat email pengganti.
Anda mengirim string input berikut ke Sensitive Data Protection bersama dengan daftar alamat email pengganti:
String input
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Daftar kata
- izumi@example.com
- alex@example.com
- tal@example.com
String yang ditampilkan dapat berupa salah satu dari berikut:
My name is Alicia Abernathy, and my email address is izumi@example.com.
My name is Alicia Abernathy, and my email address is alex@example.com.
My name is Alicia Abernathy, and my email address is tal@example.com.
Contoh JSON berikut menunjukkan cara membuat permintaan API dan apa yang ditampilkan DLP API.
Lihat mulai cepat JSON untuk mengetahui informasi selengkapnya tentang penggunaan DLP API dengan JSON.
Metode HTTP dan URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Ganti PROJECT_ID
dengan project ID.
Input JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig": {
"infoTypeTransformations": {
"transformations": [
{
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
],
"primitiveTransformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
}
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is izumi@example.com."
},
"overview": {
"transformedBytes": "22",
"transformationSummaries": [
{
"infoType": {
"name": "EMAIL_ADDRESS"
},
"transformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
},
"results": [
{
"count": "1",
"code": "SUCCESS"
}
],
"transformedBytes": "22"
}
]
}
}
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.
Penggantian InfoType
Anda juga dapat menentukan penggantian infoType
(ReplaceWithInfoTypeConfig
di DLP API). Transformasi ini melakukan hal yang sama seperti transformasi penggantian
dasar, tetapi mengganti setiap nilai data sensitif yang terdeteksi
dengan infoType dari nilai yang terdeteksi.
Misalnya, Anda telah memberi tahu Sensitive Data Protection untuk mendeteksi alamat email dan nama belakang, serta mengganti setiap nilai yang terdeteksi dengan infoType nilai tersebut. Anda mengirim string berikut ke Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
String yang ditampilkan adalah sebagai berikut:
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
Penyamaran
Anda dapat mengonfigurasi Sensitive Data Protection untuk menyamarkan nilai sensitif yang terdeteksi sepenuhnya atau sebagian (CharacterMaskConfig
di DLP API) dengan mengganti setiap karakter dengan karakter penyamaran tunggal tetap seperti tanda bintang (*) atau hash (#). Penyamaran dapat dimulai dari awal atau akhir string. Transformasi ini juga berfungsi dengan jenis angka
seperti bilangan bulat panjang.
Transformasi penyamaran Perlindungan Data Sensitif memiliki opsi berikut yang dapat Anda tentukan:
- Karakter penyamaran (Argumen
maskingCharacter
di DLP API): Karakter yang akan digunakan untuk menyamarkan setiap karakter nilai sensitif. Misalnya, Anda dapat menentukan tanda bintang (*) atau tanda dolar ($) untuk menyamarkan serangkaian angka seperti yang ada dalam nomor kartu kredit. - Jumlah karakter yang akan disamarkan (
numberToMask
): Jika Anda tidak menentukan nilai ini, semua karakter akan disamarkan. - Apakah akan membalikkan urutan (
reverseOrder
): Apakah akan menyamarkan karakter dalam urutan terbalik. Membalikkan urutan akan menyebabkan karakter dalam nilai yang cocok ditutupi dari akhir ke awal nilai. - Karakter yang akan diabaikan (
charactersToIgnore
): Satu atau beberapa karakter yang akan dilewati saat menyamarkan nilai. Misalnya, Anda dapat memberi tahu Perlindungan Data Sensitif untuk membiarkan tanda hubung tetap ada saat menyamarkan nomor telepon. Anda juga dapat menentukan grup karakter umum (CharsToIgnore
) yang akan diabaikan saat membuat mask.
Misalkan Anda mengirim string berikut ke Sensitive Data Protection dan menginstruksikannya untuk menggunakan transformasi masking karakter pada alamat email:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Dengan karakter penyamaran yang dikirim ke '#,' karakter yang akan diabaikan ditetapkan ke himpunan karakter umum, dan setelan default lainnya, Perlindungan Data Sensitif akan menampilkan hasil berikut:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Contoh JSON dan kode berikut menunjukkan cara kerja transformasi masking.
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.
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.
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.
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.
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.
REST
Lihat mulai cepat JSON untuk mengetahui informasi selengkapnya tentang penggunaan DLP API dengan JSON.
Metode HTTP dan URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Ganti PROJECT_ID
dengan project ID.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"reverseOrder":false,
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ##########@#######.###."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Transformasi tokenisasi berbasis kripto
Transformasi tokenisasi berbasis kripto (juga disebut "pseudonimisasi") adalah metode de-identifikasi yang mengganti nilai data sensitif asli dengan nilai terenkripsi. Perlindungan Data Sensitif mendukung jenis tokenisasi berikut, termasuk transformasi yang dapat dibatalkan dan memungkinkan identifikasi ulang:
- Hashing kriptografis: Mengingat
CryptoKey
, Sensitive Data Protection menggunakan kode autentikasi pesan berbasis SHA-256 (HMAC-SHA-256) pada nilai input, lalu mengganti nilai input dengan nilai hash yang dienkode dalam base64. Tidak seperti jenis transformasi berbasis kripto lainnya, jenis transformasi ini tidak dapat dibatalkan. - Enkripsi yang mempertahankan format: Mengganti nilai input dengan token yang telah dibuat menggunakan enkripsi yang mempertahankan format (FPE) dengan mode operasi FFX. Metode transformasi ini menghasilkan token yang terbatas pada alfabet yang sama dengan nilai input dan memiliki panjang yang sama dengan nilai input. FPE juga mendukung identifikasi ulang dengan kunci enkripsi asli.
- Enkripsi deterministik: Mengganti nilai input dengan token yang telah dibuat menggunakan AES dalam mode Vektor Inisialisasi Sintetis (AES-SIV). Metode transformasi ini tidak memiliki batasan pada set karakter string yang didukung, membuat token yang identik untuk setiap instance nilai input yang identik, dan menggunakan pengganti untuk memungkinkan identifikasi ulang mengingat kunci enkripsi asli.
Hashing kriptografi
Transformasi hashing kriptografi
(CryptoHashConfig
di DLP API) mengambil nilai input (sepotong data sensitif yang
telah dideteksi oleh Sensitive Data Protection) dan menggantinya dengan nilai hash. Nilai
hash dibuat menggunakan kode autentikasi pesan berbasis SHA-256
(HMAC-SHA-256)
) pada nilai input dengan
CryptoKey
.
Perlindungan Data Sensitif menghasilkan representasi berenkode base64 dari nilai input yang di-hash di tempat nilai asli.
Sebelum menggunakan transformasi hashing kriptografi, perhatikan hal-hal berikut:
- Nilai input tidak dienkripsi, tetapi di-hash.
- Transformasi ini tidak dapat dibatalkan. Artinya, dengan nilai output yang di-hash dari transformasi dan kunci kriptografi asli, tidak ada cara untuk memulihkan nilai asli.
- Saat ini, hanya nilai string dan bilangan bulat yang dapat di-hash.
- Output yang di-hash dari transformasi selalu memiliki panjang yang sama, bergantung pada ukuran kunci kriptografi. Misalnya, jika Anda menggunakan transformasi hashing kriptografi pada nomor telepon 10 digit, setiap nomor telepon akan diganti dengan nilai hash yang dienkode base64 dengan panjang tetap.
Enkripsi dengan mempertahankan format
Metode transformasi enkripsi yang mempertahankan format (FPE)
(CryptoReplaceFfxFpeConfig
di DLP API) mengambil nilai input (sepotong data sensitif
yang telah dideteksi oleh Sensitive Data Protection), mengenkripsinya menggunakan enkripsi yang mempertahankan format dalam mode FFX dan
CryptoKey
,
lalu mengganti nilai asli dengan nilai terenkripsi, atau token.
Nilai input:
- Harus minimal dua karakter (atau string kosong).
- Harus dienkode sebagai ASCII.
- Terdiri dari karakter yang ditentukan oleh "alfabet", yaitu kumpulan
antara 2 dan 95 karakter yang diizinkan dalam nilai input. Untuk
informasi selengkapnya, lihat kolom alfabet di
CryptoReplaceFfxFpeConfig
.
Token yang dibuat:
- Adalah nilai input terenkripsi.
- Mempertahankan himpunan karakter ("alfabet") dan panjang nilai input setelah dienkripsi.
- Dihitung menggunakan enkripsi yang mempertahankan format dalam mode FFX yang dikunci pada kunci kriptografi yang ditentukan.
- Tidak selalu unik, karena setiap instance dari nilai input yang sama dide-identifikasi ke token yang sama. Hal ini memungkinkan integritas referensial, dan oleh karena itu memungkinkan penelusuran data yang di-de-identifikasi secara lebih efisien. Anda dapat mengubah perilaku ini dengan menggunakan "penyesuaian" konteks, seperti yang dijelaskan dalam Konteks.
Jika ada beberapa instance nilai input dalam konten sumber, setiap instance akan dianonimkan ke token yang sama. FPE mempertahankan panjang dan ruang alfabet (himpunan karakter), yang dibatasi hingga 95 karakter. Anda dapat mengubah perilaku ini dengan menggunakan "penyesuaian" konteks, yang dapat meningkatkan keamanan. Penambahan penyesuaian konteks pada transformasi memungkinkan Sensitive Data Protection melakukan de-identifikasi beberapa instance dari nilai input yang sama ke token yang berbeda. Jika Anda tidak perlu mempertahankan panjang dan ruang alfabet dari nilai asli, gunakan enkripsi deterministik, yang dijelaskan di bawah.
Perlindungan Data Sensitif menghitung token pengganti menggunakan kunci kriptografi. Anda memberikan kunci ini dengan salah satu dari tiga cara:
- Dengan menyematkannya tanpa dienkripsi dalam permintaan API. Tindakan ini tidak direkomendasikan.
- Dengan meminta Sensitive Data Protection untuk membuatnya.
- Dengan menyematkannya yang dienkripsi dalam permintaan API.
Jika memilih untuk menyematkan kunci dalam permintaan API, Anda harus membuat kunci dan melapisinya (mengenkripsi) menggunakan kunci Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Membuat kunci terenkapsulasi. Nilai yang ditampilkan adalah string yang dienkode base64 secara default. Untuk menetapkan nilai ini di Sensitive Data Protection, Anda harus mendekodenya menjadi string byte. Cuplikan kode berikut menunjukkan cara melakukannya dalam beberapa bahasa. Contoh end-to-end diberikan setelah cuplikan ini.
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
Untuk mengetahui informasi selengkapnya tentang mengenkripsi dan mendekripsi data menggunakan Cloud KMS, lihat Mengenkripsi dan Mendekripsi Data.
Contoh enkripsi yang mempertahankan format: de-identifikasi
Contoh ini menggunakan metode transformasi
CryptoReplaceFfxFpeConfig
untuk melakukan de-identifikasi data sensitif. Untuk mengetahui informasi selengkapnya, lihat
Enkripsi yang mempertahankan format di halaman ini.
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.
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.
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.
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.
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.
Contoh enkripsi yang mempertahankan format: de-identifikasi dengan jenis pengganti
Contoh ini menggunakan metode transformasi
CryptoReplaceFfxFpeConfig
untuk melakukan de-identifikasi data sensitif. Untuk mengetahui informasi selengkapnya, lihat
Enkripsi yang mempertahankan format di halaman ini.
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.
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.
Contoh enkripsi yang tidak mengacak format: de-identifikasi data sensitif dalam tabel
Contoh ini menggunakan metode transformasi
CryptoReplaceFfxFpeConfig
untuk melakukan de-identifikasi data sensitif dalam tabel. Untuk mengetahui informasi selengkapnya, lihat Enkripsi yang mempertahankan format di halaman ini.
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.
Contoh enkripsi dengan mempertahankan format: identifikasi ulang
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Sensitive Data Protection untuk mengidentifikasi ulang data sensitif yang telah di-deidentifikasi
melalui
metode transformasi
CryptoReplaceFfxFpeConfig
. Untuk mengetahui informasi selengkapnya, lihat Enkripsi yang mempertahankan format di halaman ini.
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.
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.
Contoh enkripsi yang mempertahankan format: identifikasi ulang teks
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan Perlindungan Data Sensitif untuk mengidentifikasi ulang teks sensitif yang telah dianonimkan melalui metode transformasi
CryptoReplaceFfxFpeConfig
. Untuk mengetahui informasi selengkapnya, lihat Enkripsi yang mempertahankan format di halaman ini.
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.
Contoh enkripsi dengan mempertahankan format: identifikasi ulang dengan jenis pengganti
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Sensitive Data Protection untuk mengidentifikasi ulang data sensitif yang telah di-deidentifikasi
melalui metode transformasi
CryptoReplaceFfxFpeConfig
. Untuk mengetahui informasi selengkapnya, lihat Enkripsi yang mempertahankan format di halaman ini.
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.
Contoh enkripsi yang tidak mengacak format: identifikasi ulang data sensitif dalam tabel
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Sensitive Data Protection untuk mengidentifikasi ulang data sensitif dalam tabel yang
telah dianonimkan melalui metode transformasi
CryptoReplaceFfxFpeConfig
. Untuk mengetahui informasi selengkapnya, lihat Enkripsi yang mempertahankan format di halaman ini.
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.
Enkripsi deterministik
Metode transformasi enkripsi deterministik
CryptoDeterministicConfig
di DLP API mengambil nilai input (sepotong data sensitif yang
telah dideteksi oleh Perlindungan Data Sensitif), mengenkripsinya menggunakan
AES-SIV
dengan
CryptoKey
,
lalu mengganti nilai asli dengan representasi berenkode base64 dari
nilai terenkripsi.
Penggunaan transformasi enkripsi deterministik memungkinkan penelusuran data terenkripsi yang lebih efisien.
Nilai input:
- Minimal harus 1 karakter.
- Tidak memiliki batasan set karakter.
Token yang dibuat:
- Adalah representasi berenkode base64 dari nilai terenkripsi.
- Tidak mempertahankan himpunan karakter ("alfabet") atau panjang nilai input setelah dienkripsi.
- Dihitung menggunakan enkripsi AES dalam mode SIV (AES-SIV) dengan
CryptoKey
. - Tidak selalu unik, karena setiap instance dari nilai input yang sama dide-identifikasi ke token yang sama. Hal ini memungkinkan penelusuran data terenkripsi yang lebih efisien. Anda dapat mengubah perilaku ini dengan menggunakan "penyesuaian" konteks, seperti yang dijelaskan dalam Konteks.
- Dibuat dengan awalan yang ditambahkan, dalam bentuk
[SURROGATE_TYPE]([LENGTH]):
, dengan[SURROGATE_TYPE]
merepresentasikan infoType pengganti yang menjelaskan nilai input, dan[LENGTH]
menunjukkan panjang karakternya. Pengganti memungkinkan token diidentifikasi ulang menggunakan kunci enkripsi asli yang digunakan untuk de-identifikasi.
Berikut adalah contoh konfigurasi JSON untuk penghapusan identitas menggunakan
enkripsi deterministik. Perhatikan bahwa kami telah memilih untuk menggunakan "PHONE_SURROGATE" sebagai
jenis pengganti deskriptif karena kami menyamarkan identitas nomor telepon.
[CRYPTO_KEY]
mewakili kunci kriptografi yang tidak digabung dan diperoleh dari
Cloud KMS.
{
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
]
},
"item":{
"value":"My phone number is 206-555-0574, call me"
}
}
Menghilangkan identitas string "My phone number is 206-555-0574" menggunakan transformasi ini akan menghasilkan string yang identitasnya dihilangkan seperti berikut:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Untuk mengidentifikasi ulang string ini, Anda dapat menggunakan permintaan JSON seperti berikut, dengan [CRYPTO_KEY] adalah kunci kriptografi yang sama yang digunakan untuk mengidentifikasi ulang konten.
{
"reidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_SURROGATE"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"PHONE_SURROGATE"
},
"surrogateType":{
}
}
]
},
"item":{
"value":"My phone number is [PHONE_SURROGATE](36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me"
}
}
Mengidentifikasi ulang string ini akan menghasilkan string asli:
My phone number is 206-555-0574, call me
Jika Anda ingin menggunakan CryptoKey
yang di-wrap (dienkripsi) untuk keamanan yang lebih baik, lihat Panduan memulai cepat: Menghilangkan identitas dan mengidentifikasi ulang teks sensitif untuk melihat contohnya. Saat Anda
siap menggunakan library klien untuk menganonimkan konten, jangan lupa untuk mendekode
kunci yang dienkapsulasi (yang secara default merupakan string berenkode base64), seperti yang ditunjukkan dalam
Enkripsi yang mempertahankan format
di halaman ini.
Contoh enkripsi deterministik: de-identifikasi
Contoh ini menggunakan metode transformasi
CryptoDeterministicConfig
untuk melakukan de-identifikasi data sensitif. Untuk mengetahui informasi selengkapnya, lihat
Enkripsi deterministik di halaman ini.
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.
Contoh enkripsi deterministik: identifikasi ulang
Contoh ini menunjukkan cara mengidentifikasi ulang data sensitif yang telah
dide-identifikasi melalui metode transformasi
CryptoDeterministicConfig
. Untuk mengetahui informasi selengkapnya, lihat Enkripsi deterministik
di halaman ini.
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.
Pengelompokan
Transformasi pengelompokan berfungsi untuk menghilangkan identitas data numerik dengan "mengelompokkan" data tersebut ke dalam rentang. Rentang angka yang dihasilkan adalah string dengan tanda hubung yang terdiri dari batas bawah, tanda hubung, dan batas atas.
Pengelompokan ukuran tetap
Sensitive Data Protection dapat mengelompokkan nilai input numerik berdasarkan rentang ukuran tetap
(FixedSizeBucketingConfig
di DLP API). Anda menentukan hal berikut untuk mengonfigurasi pengelompokan berukuran tetap:
- Nilai batas bawah semua bucket. Semua nilai yang kurang dari batas bawah dikelompokkan menjadi satu bucket.
- Nilai batas atas semua bucket. Nilai yang lebih besar dari batas atas dikelompokkan bersama dalam satu bucket.
- Ukuran setiap bucket selain bucket minimum dan maksimum.
Misalnya, jika batas bawah ditetapkan ke 10, batas atas ditetapkan ke 89, dan ukuran bucket ditetapkan ke 10, bucket berikut akan digunakan: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+.
Untuk mengetahui informasi selengkapnya tentang konsep pengelompokan, lihat Generalisasi dan Pengelompokan.
Pengelompokan yang dapat disesuaikan
Pengelompokan yang dapat disesuaikan
(BucketingConfig
di DLP API) menawarkan fleksibilitas yang lebih besar daripada pengelompokan ukuran tetap.
Daripada menentukan batas atas dan bawah serta nilai interval untuk membuat bucket berukuran sama, Anda menentukan nilai maksimum dan minimum untuk setiap bucket yang ingin dibuat. Setiap pasangan nilai maksimum dan minimum harus memiliki jenis yang sama.
Anda menyiapkan pengelompokan yang dapat disesuaikan dengan menentukan setiap kelompok. Setiap bucket memiliki properti berikut:
- Batas bawah rentang bucket. Hilangkan nilai ini untuk membuat bucket yang tidak memiliki batas bawah.
- Batas atas rentang bucket. Jangan sertakan nilai ini untuk membuat bucket yang tidak memiliki batas atas.
- Nilai pengganti untuk rentang bucket ini. Ini adalah nilai yang akan menggantikan semua nilai yang terdeteksi dan berada dalam batas bawah dan atas. Jika Anda tidak memberikan nilai pengganti, rentang min-maks dengan tanda hubung akan dibuat.
Misalnya, pertimbangkan konfigurasi JSON berikut untuk transformasi pengelompokan ini:
"bucketingConfig":{
"buckets":[
{
"min":{
"integerValue":"1"
},
"max":{
"integerValue":"30"
},
"replacementValue":{
"stringValue":"LOW"
}
},
{
"min":{
"integerValue":"31"
},
"max":{
"integerValue":"65"
},
"replacementValue":{
"stringValue":"MEDIUM"
}
},
{
"min":{
"integerValue":"66"
},
"max":{
"integerValue":"100"
},
"replacementValue":{
"stringValue":"HIGH"
}
}
]
}
Hal ini menentukan perilaku berikut:
- Nilai bilangan bulat yang berada di antara 1 dan 30 disamarkan dengan diganti dengan
LOW
. - Nilai bilangan bulat yang berada di antara 31-65 akan disamarkan dengan diganti dengan
MEDIUM
. - Nilai bilangan bulat yang berada di antara 66-100 disamarkan dengan diganti dengan
HIGH
.
Untuk mengetahui informasi selengkapnya tentang konsep pengelompokan, lihat Generalisasi dan Pengelompokan.
Perubahan tanggal
Saat Anda menggunakan transformasi penggeseran tanggal
(DateShiftConfig
di DLP API pada nilai input tanggal, Sensitive Data Protection menggeser
tanggal dengan jumlah hari acak.
Teknik penggeseran tanggal menggeser sekumpulan tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu. Perubahan tanggal biasanya dilakukan dalam konteks individu atau entitas. Artinya, Anda ingin menggeser semua tanggal untuk individu tertentu menggunakan selisih pergeseran yang sama, tetapi menggunakan selisih pergeseran yang berbeda untuk setiap individu lainnya.
Untuk mengetahui informasi selengkapnya tentang perubahan tanggal, lihat Perubahan tanggal.
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan Cloud DLP API untuk melakukan de-identifikasi tanggal menggunakan pengubahan tanggal.
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.
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.
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.
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.
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.
Ekstraksi waktu
Objek yang melakukan ekstraksi waktu (TimePartConfig
di DLP API) mempertahankan sebagian nilai yang cocok yang pada
tanggal, waktu, atau stempel waktu mempertahankan sebagian nilai yang cocok. Anda
menentukan kepada Sensitive Data Protection jenis nilai waktu yang ingin diekstrak, termasuk tahun, bulan, hari dalam bulan, dan sebagainya (didaftar dalam objek
TimePart
).
Misalnya, Anda telah mengonfigurasi transformasi timePartConfig
dengan
menetapkan bagian waktu yang akan diekstrak ke YEAR
. Setelah mengirim data di kolom pertama di bawah ke Sensitive Data Protection, Anda akan mendapatkan nilai yang telah diubah di kolom kedua:
Nilai asli | Nilai yang diubah |
---|---|
9/21/1976 |
1976 |
6/7/1945 |
1945 |
1/20/2009 |
2009 |
7/4/1776 |
1776 |
8/1/1984 |
1984 |
4/21/1982 |
1982 |
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.