Topik ini membahas teknik de-identifikasi, atau transformasi, yang tersedia di Sensitive Data Protection.
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 surrogate yang ditentukan.
- Penyamaran: Mengganti sejumlah karakter nilai sensitif dengan karakter surrogate yang ditentukan, seperti tanda pagar (#) atau tanda bintang (*).
- Tokenisasi berbasis kripto: Mengenkripsi nilai data sensitif asli menggunakan kunci kriptografis. Sensitive Data Protection mendukung beberapa jenis tokenisasi, termasuk transformasi yang dapat dibalik, 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".)
- Pergeseran 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 Sensitive Data Protection untuk melakukan de-identifikasi data sensitif:
| Transformasi | Objek | Deskripsi | Dapat Dibalik1 | Integritas Referensial2 | Jenis Input |
|---|---|---|---|---|---|
| Penyuntingan | RedactConfig |
Menyamarkan nilai dengan menghapusnya. | Semua | ||
| Penggantian | ReplaceValueConfig |
Mengganti setiap nilai input dengan nilai yang diberikan. | 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 | ||
| Samarkan dengan karakter | CharacterMaskConfig |
Menyamarkan string sepenuhnya atau sebagian dengan mengganti sejumlah karakter tertentu dengan karakter tetap yang ditentukan. | Semua | ||
| Pseudonimisasi 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 pseudonimisasi untuk mempelajari lebih lanjut. | ✔ | String atau bilangan bulat | |
| Pseudonimisasi dengan mengganti token yang mempertahankan format kriptografis | CryptoReplaceFfxFpeConfig |
Mengganti nilai input dengan token, atau nilai surrogate, 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 berisi maksimal 95 karakter. |
| Pseudonimisasi dengan mengganti dengan token kriptografis | CryptoDeterministicConfig |
Mengganti nilai input dengan token, atau nilai surrogate, dengan panjang yang sama menggunakan AES dalam mode Synthetic Initialization Vector (AES-SIV). Metode transformasi ini, tidak seperti tokenisasi yang mempertahankan format, tidak memiliki batasan pada himpunan karakter string yang didukung, menghasilkan token yang identik untuk setiap instance nilai input yang identik, dan menggunakan pengganti untuk memungkinkan identifikasi ulang dengan kunci enkripsi asli. | ✔ | ✔ | Semua |
| Nilai bucket berdasarkan rentang ukuran tetap | FixedSizeBucketingConfig |
Menyamarkan nilai input dengan menggantinya dengan bucket, atau rentang yang mencakup nilai input. | Semua | ||
| Nilai bucket berdasarkan rentang ukuran kustom | BucketingConfig |
Mengelompokkan nilai input berdasarkan rentang yang dapat dikonfigurasi pengguna dan nilai pengganti. | Semua | ||
| Pergeseran Tanggal | DateShiftConfig |
Menggeser tanggal dengan jumlah hari acak, dengan opsi untuk konsisten dalam 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 penyuntingan
(RedactConfig di
DLP API).
Misalnya, Anda ingin melakukan penyamaran sederhana untuk semua infoType EMAIL_ADDRESS, 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 seperti berikut:
My name is Alicia Abernathy, and my email address is .
Contoh JSON dan kode dalam beberapa bahasa berikut menunjukkan cara membuat permintaan API dan apa yang ditampilkan oleh 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 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: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 yang diberikan 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]" guna 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 dalam beberapa bahasa berikut menunjukkan cara membuat permintaan API dan apa yang ditampilkan oleh 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 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: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 surrogate yang realistis.
Misalkan Anda ingin Sensitive Data Protection 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 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: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 sepenuhnya atau sebagian nilai sensitif yang terdeteksi (CharacterMaskConfig di DLP API) dengan mengganti setiap karakter dengan satu karakter penyamaran tetap seperti tanda bintang (*) atau tanda pagar (#). Penyamaran dapat dimulai dari awal atau akhir string. Transformasi ini juga berfungsi dengan jenis angka seperti bilangan bulat panjang.
Transformasi penyamaran Sensitive Data Protection memiliki opsi berikut yang dapat Anda tentukan:
- Karakter penyamaran (Argumen
maskingCharacterdi 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. Membalik urutan akan menyebabkan karakter dalam nilai yang cocok disamarkan 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 Sensitive Data Protection untuk membiarkan tanda hubung tetap ada saat menyamarkan nomor telepon. Anda juga dapat menentukan grup karakter umum (CharsToIgnore) yang akan diabaikan saat menyamarkan.
Misalnya, Anda mengirim string berikut ke Sensitive Data Protection dan menginstruksikannya untuk menggunakan transformasi penyamaran 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, Sensitive Data Protection akan menampilkan hal berikut:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Contoh JSON dan kode berikut menunjukkan cara kerja transformasi penyamaran.
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 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: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 sebagai "pseudonimisasi") adalah metode de-identifikasi yang mengganti nilai data sensitif asli dengan nilai terenkripsi. Sensitive Data Protection mendukung jenis tokenisasi berikut, termasuk transformasi yang dapat dibalik dan memungkinkan identifikasi ulang:
- Hashing kriptografis: Dengan
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 Synthetic Initialization Vector (AES-SIV). Metode transformasi ini tidak memiliki batasan pada himpunan karakter string yang didukung, menghasilkan token yang identik untuk setiap instance nilai input yang identik, dan menggunakan pengganti untuk memungkinkan identifikasi ulang dengan kunci enkripsi asli.
Hashing kriptografis
Transformasi hashing kriptografis
(CryptoHashConfig
di DLP API) mengambil nilai input (bagian dari 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.
Sensitive Data Protection menghasilkan representasi berenkode base64 dari nilai input yang di-hash sebagai pengganti nilai asli.
Sebelum menggunakan transformasi hashing kriptografis, perhatikan hal-hal berikut:
- Nilai input tidak dienkripsi, tetapi di-hash.
- Transformasi ini tidak dapat dibatalkan. Artinya, dengan nilai output transformasi yang di-hash dan kunci kriptografis asli, tidak ada cara untuk memulihkan nilai asli.
- Saat ini, hanya nilai string dan bilangan bulat yang dapat di-hash.
- Output transformasi yang di-hash selalu memiliki panjang yang sama, bergantung pada ukuran kunci kriptografis. Misalnya, jika Anda menggunakan transformasi hashing kriptografis pada nomor telepon 10 digit, setiap nomor telepon akan diganti dengan nilai hash berenkode base64 dengan panjang tetap.
Enkripsi dengan mempertahankan format
Metode transformasi enkripsi yang mempertahankan format (FPE)
(CryptoReplaceFfxFpeConfig
di DLP API) mengambil nilai input (bagian dari 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 terdiri dari minimal dua karakter (atau string kosong).
- Harus dienkode sebagai ASCII.
- Terdiri dari karakter yang ditentukan oleh "alfabet", yang merupakan kumpulan
antara 2 dan 95 karakter yang diizinkan dalam nilai input. Untuk
mengetahui informasi selengkapnya, lihat kolom alfabet di
CryptoReplaceFfxFpeConfig.
Token yang dihasilkan:
- Adalah nilai input yang dienkripsi.
- Mempertahankan himpunan karakter ("alfabet") dan panjang nilai input pasca-enkripsi.
- Dihitung menggunakan enkripsi yang mempertahankan format dalam mode FFX yang dikunci pada kunci kriptografis yang ditentukan.
- Tidak selalu unik, karena setiap instance dari nilai input yang sama melakukan de-identifikasi ke token yang sama. Hal ini memungkinkan integritas referensial, sehingga memungkinkan penelusuran data yang dide-identifikasi secara lebih efisien. Anda dapat mengubah perilaku ini menggunakan "penyesuaian" konteks, seperti yang dijelaskan dalam Konteks.
Jika ada beberapa instance nilai input dalam konten sumber, setiap instance akan dide-identifikasi ke token yang sama. FPE mempertahankan panjang dan ruang alfabet (himpunan karakter), yang dibatasi hingga 95 karakter. Anda dapat mengubah perilaku ini dengan menggunakan "tweak" 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.
Sensitive Data Protection menghitung token pengganti menggunakan kunci kriptografis. Anda memberikan kunci ini dengan salah satu dari tiga cara:
- Dengan menyematkannya tanpa enkripsi dalam permintaan API. Tindakan ini tidak direkomendasikan.
- Dengan meminta Sensitive Data Protection untuk membuatnya.
- Dengan menyematkannya dalam bentuk terenkripsi dalam permintaan API.
Jika Anda memilih untuk menyematkan kunci dalam permintaan API, Anda harus membuat kunci dan menggabungkannya (mengenkripsi) menggunakan kunci Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Membuat kunci yang digabungkan. Nilai yang ditampilkan adalah string berenkode base64 secara default. Untuk menetapkan nilai ini di Sensitive Data Protection, Anda harus mendekodenya menjadi string byte. Cuplikan kode berikut menyoroti cara melakukannya dalam beberapa bahasa. Contoh end-to-end disediakan 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 cara mengenkripsi dan mendekripsi data menggunakan Cloud KMS, lihat Mengenkripsi dan Mendekripsi Data.
Contoh enkripsi dengan 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 dengan mempertahankan format: de-identifikasi dengan jenis surrogate
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 dengan mempertahankan 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 kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan Sensitive Data Protection untuk mengidentifikasi ulang data sensitif yang telah dide-identifikasi 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 dengan mempertahankan format: identifikasi ulang teks
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan Sensitive Data Protection untuk melakukan re-identifikasi teks sensitif yang telah dide-identifikasi 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 surrogate
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan
Sensitive Data Protection untuk mengidentifikasi ulang data sensitif yang telah dide-identifikasi
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 data sensitif dalam tabel
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan Sensitive Data Protection untuk melakukan re-identifikasi data sensitif dalam tabel yang telah dide-identifikasi 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 (bagian data sensitif yang
telah dideteksi oleh Sensitive Data Protection), 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:
- Harus berisi minimal 1 karakter.
- Tidak memiliki batasan himpunan karakter.
Token yang dihasilkan:
- Merupakan representasi berenkode base64 dari nilai terenkripsi.
- Tidak mempertahankan himpunan karakter ("alfabet") atau panjang nilai input pasca-enkripsi.
- Dihitung menggunakan enkripsi AES dalam mode SIV (AES-SIV) dengan
CryptoKey. - Tidak selalu unik, karena setiap instance dari nilai input yang sama melakukan de-identifikasi ke token yang sama. Hal ini memungkinkan penelusuran data terenkripsi yang lebih efisien. Anda dapat mengubah perilaku ini menggunakan "penyesuaian" konteks, seperti yang dijelaskan dalam Konteks.
- Dibuat dengan awalan yang ditambahkan, dalam bentuk
[SURROGATE_TYPE]([LENGTH]):, dengan[SURROGATE_TYPE]mewakili infoType pengganti yang menjelaskan nilai input, dan[LENGTH]menunjukkan panjang karakternya. Surrogate memungkinkan token diidentifikasi ulang menggunakan kunci enkripsi asli yang digunakan untuk de-identifikasi.
Berikut adalah contoh konfigurasi JSON untuk de-identifikasi menggunakan
enkripsi deterministik. Perhatikan bahwa kami telah memilih untuk menggunakan "PHONE_SURROGATE" sebagai
jenis pengganti deskriptif karena kami melakukan de-identifikasi nomor telepon.
[CRYPTO_KEY] mewakili kunci kriptografis yang tidak digabungkan yang 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"
}
}
Melakukan de-identifikasi string "My phone number is 206-555-0574" menggunakan transformasi ini akan menghasilkan string yang dide-identifikasi 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 kriptografis yang sama yang digunakan untuk melakukan de-identifikasi 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 digabungkan (dienkripsi) untuk keamanan yang lebih baik, lihat Panduan memulai: Melakukan de-identifikasi dan re-identifikasi teks sensitif sebagai contoh. Saat Anda
siap menggunakan library klien untuk melakukan de-identifikasi konten, jangan lupa untuk mendekode
kunci yang digabungkan (yang merupakan string berenkode base64 secara default), 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 bucketing berfungsi untuk melakukan de-identifikasi data numerik dengan "memasukkannya" ke dalam rentang. Rentang angka yang dihasilkan adalah string yang dipisahkan tanda hubung yang terdiri dari batas bawah, tanda hubung, dan batas atas.
Bucketing ukuran tetap
Sensitive Data Protection dapat mengelompokkan nilai input numerik berdasarkan rentang ukuran tetap
(FixedSizeBucketingConfig
di DLP API). Anda menentukan hal berikut untuk mengonfigurasi bucketing ukuran tetap:
- Nilai batas bawah dari semua bucket. Setiap nilai yang kurang dari batas bawah dikelompokkan bersama dalam satu bucket.
- Nilai batas atas semua bucket. Setiap 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 bucketing, lihat Generalisasi dan Bucketing.
Bucketing yang dapat disesuaikan
Bucketing yang dapat disesuaikan
(BucketingConfig
di DLP API) menawarkan fleksibilitas yang lebih besar daripada bucketing 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 bucket satu per satu. Setiap bucket memiliki properti berikut:
- Batas bawah rentang bucket. Hilangkan nilai ini untuk membuat bucket yang tidak memiliki batas bawah.
- Batas atas rentang bucket. Hilangkan 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 yang berada dalam batas bawah dan atas. Jika Anda tidak memberikan nilai pengganti, rentang min-maks yang dipisahkan tanda hubung akan dibuat.
Misalnya, pertimbangkan konfigurasi JSON berikut untuk transformasi bucketing 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 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 bucketing, lihat Generalisasi dan Bucketing.
Pergeseran tanggal
Saat Anda menggunakan transformasi pergeseran tanggal
(DateShiftConfig
di DLP API pada nilai input tanggal, Sensitive Data Protection akan menggeser
tanggal dengan jumlah hari acak.
Teknik pergeseran tanggal menggeser sekumpulan tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu. Pergeseran tanggal biasanya dilakukan dalam konteks individu atau entitas. Artinya, Anda ingin menggeser semua tanggal untuk individu tertentu menggunakan perbedaan pergeseran yang sama, tetapi menggunakan perbedaan pergeseran terpisah untuk setiap individu lainnya.
Untuk mengetahui informasi selengkapnya tentang perubahan tanggal, lihat Perubahan tanggal.
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan Cloud DLP API untuk melakukan de-identifikasi tanggal menggunakan pergeseran 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
Melakukan ekstraksi waktu
(TimePartConfig
di DLP API) objek mempertahankan sebagian nilai yang cocok yang pada
tanggal, waktu, atau stempel waktu mempertahankan sebagian nilai yang cocok. Anda
menentukan jenis nilai waktu yang ingin diekstrak ke Sensitive Data Protection, termasuk tahun, bulan, hari dalam sebulan, dan sebagainya (dienumerasi 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 ditransformasi 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.