Topik ini membahas teknik de-identifikasi yang tersedia, atau transformasi, dalam Perlindungan Data Sensitif.
Jenis teknik de-identifikasi
Memilih transformasi de-identifikasi yang ingin Anda gunakan bergantung pada jenis data yang ingin Anda lakukan de-identifikasi dan untuk tujuan apa Anda melakukan de-identifikasi data tersebut. Teknik de-identifikasi yang didukung oleh Perlindungan Data Sensitif termasuk dalam kategori umum berikut:
- Penyamaran: Menghapus semua atau sebagian nilai sensitif yang terdeteksi.
- Penggantian: Mengganti nilai sensitif yang terdeteksi dengan nilai surrogate yang ditentukan.
- Penyamaran: Mengganti sejumlah karakter dari nilai sensitif dengan karakter surrogate yang ditentukan, seperti hash (#) atau tanda bintang (*).
- Tokenisasi berbasis kripto: Mengenkripsi nilai data sensitif asli menggunakan kunci kriptografis. Perlindungan Data Sensitif mendukung beberapa jenis tokenisasi, termasuk transformasi yang dapat dibalik, atau "diidentifikasi ulang".
- Bucketing: "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 jangka waktu acak.
- Ekstraksi waktu: Mengekstrak atau mempertahankan bagian nilai tanggal dan waktu yang ditentukan.
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 Referensi2 | Jenis Masukan |
---|---|---|---|---|---|
Penyamaran | RedactConfig |
Menyamarkan nilai dengan menghapusnya. | Any | ||
Penggantian | ReplaceValueConfig |
Mengganti setiap nilai input dengan nilai yang diberikan. | Any | ||
Ganti dengan kamus | ReplaceDictionaryConfig
|
Mengganti nilai input dengan nilai yang dipilih secara acak dari daftar kata. | Any | ||
Ganti dengan infoType | ReplaceWithInfoTypeConfig |
Mengganti nilai input dengan nama infoType-nya. | Any | ||
Topeng dengan karakter | CharacterMaskConfig |
Menyamarkan string sepenuhnya atau sebagian dengan mengganti sejumlah karakter tertentu dengan karakter tetap yang ditentukan. | Any | ||
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 menggantinya dengan token yang mempertahankan format kriptografis | CryptoReplaceFfxFpeConfig |
Mengganti nilai input dengan token, atau nilai surrogate, dengan panjang yang sama menggunakan enkripsi yang menjaga format (FPE) dengan mode operasi FFX. Hal ini memungkinkan output digunakan dalam sistem yang memiliki validasi format. Hal ini berguna untuk sistem lama yang
harus mempertahankan panjang string.
Penting: Untuk input yang panjangnya bervariasi atau memiliki
panjang di atas 32 byte, gunakan CryptoDeterministicConfig .
Agar tetap aman, batasan berikut direkomendasikan oleh
National Institute of Standards and Technology (Institut Standar dan Teknologi Nasional):
|
✔ | ✔ | String atau bilangan bulat dengan jumlah karakter yang terbatas dan panjangnya sama. Alfabet harus terdiri dari minimal 2 karakter dan berisi maksimal 95 karakter. |
Pseudonimisasi dengan menggantinya dengan token kriptografi | CryptoDeterministicConfig |
Mengganti nilai input dengan token, atau nilai surrogate, yang panjangnya sama menggunakan AES dalam mode Synthetic Initialization Vector (AES-SIV). Tidak seperti tokenisasi dengan format yang mempertahankan format ini, metode ini tidak memiliki batasan pada himpunan karakter string yang didukung, sehingga menghasilkan token yang identik untuk setiap instance nilai input yang identik, dan menggunakan pengganti untuk mengaktifkan identifikasi ulang yang diberikan kunci enkripsi asli. | ✔ | ✔ | Any |
Nilai bucket berdasarkan rentang ukuran tetap | FixedSizeBucketingConfig |
Menyamarkan nilai input dengan menggantinya dengan bucket, atau rentang tempat nilai input berada. | Any | ||
Nilai bucket berdasarkan rentang ukuran kustom | BucketingConfig |
Bucket memasukkan nilai berdasarkan rentang dan nilai pengganti yang dapat dikonfigurasi oleh pengguna. | Any | ||
Pergeseran Tanggal | DateShiftConfig |
Mengubah tanggal dengan jumlah hari yang acak, dengan opsi agar konsisten untuk konteks yang sama. | ✔ Mempertahankan urutan dan durasi |
Tanggal/Waktu | |
Mengekstrak data waktu | TimePartConfig |
Mengekstrak atau mempertahankan sebagian dari nilai Date , Timestamp , dan TimeOfDay . |
Tanggal/Waktu |
Catatan kaki
content.reidentify
.
Penyamaran
Jika Anda hanya ingin menghapus data sensitif dari konten input,
Perlindungan Data Sensitif mendukung transformasi penyamaran
(RedactConfig
dalam
DLP API).
Misalnya, Anda ingin melakukan penyamaran sederhana pada semua infoTypes EMAIL_ADDRESS
, dan string berikut dikirim ke Perlindungan Data Sensitif:
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 .
Contoh dan kode JSON dalam beberapa bahasa berikut menunjukkan cara membuat permintaan API dan apa yang ditampilkan DLP API.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Lihat panduan memulai 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 Perlindungan Data Sensitif untuk menggunakan
"[fake@example.com]" untuk mengganti semua infoTypes EMAIL_ADDRESS
yang terdeteksi, dan
string berikut dikirim ke Perlindungan Data Sensitif:
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 dan kode JSON dalam beberapa bahasa berikut menunjukkan cara membuat permintaan API dan apa yang ditampilkan DLP API.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Lihat panduan memulai 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 Perlindungan Data Sensitif dari daftar kata yang Anda berikan.
Metode transformasi ini berguna jika Anda ingin menggunakan nilai surrogate
yang realistis.
Misalkan Anda ingin Perlindungan Data Sensitif mendeteksi alamat email dan mengganti setiap nilai yang terdeteksi dengan salah satu dari tiga alamat email surrogate.
Anda mengirimkan string input berikut ke Perlindungan Data Sensitif bersama dengan daftar alamat email surrogate:
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 lebih lanjut 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Penggantian InfoType
Anda juga dapat menentukan pengganti infoType
(ReplaceWithInfoTypeConfig
di DLP API). Transformasi ini melakukan hal yang sama dengan transformasi penggantian dasar, tetapi mengganti setiap nilai data sensitif yang terdeteksi dengan infoType dari nilai yang terdeteksi.
Misalnya, Anda telah memberi tahu Perlindungan Data Sensitif untuk mendeteksi alamat email dan nama belakang, serta mengganti setiap nilai yang terdeteksi dengan infoType nilai. Anda mengirim string berikut ke Perlindungan Data Sensitif:
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 Perlindungan Data Sensitif untuk menyamarkan
nilai sensitif yang terdeteksi sepenuhnya atau sebagian
(CharacterMaskConfig
di DLP API) dengan mengganti setiap karakter dengan karakter masking 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 yang panjang.
Transformasi penyamaran Perlindungan Data Sensitif memiliki opsi berikut yang dapat Anda tentukan:
- Karakter mask (Argumen
maskingCharacter
di DLP API): Karakter yang digunakan untuk menyamarkan setiap karakter dari nilai sensitif. Misalnya, Anda dapat menentukan tanda bintang (*) atau tanda dolar ($) untuk menyamarkan serangkaian angka seperti yang ada di nomor kartu kredit. - Jumlah karakter yang akan disamarkan (
numberToMask
): Jika Anda tidak menentukan nilai ini, semua karakter akan disamarkan. - Apakah akan membalik urutan (
reverseOrder
): Apakah akan menyamarkan karakter dalam urutan terbalik. Membalik urutan menyebabkan karakter dalam nilai yang cocok akan 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 Perlindungan Data Sensitif untuk tidak menyertakan tanda hubung saat menyamarkan nomor telepon. Anda juga dapat menentukan sekelompok karakter umum (CharsToIgnore
) yang akan diabaikan saat melakukan masking.
Misalkan Anda mengirim string berikut ke Perlindungan Data Sensitif 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, atau setelan default, Perlindungan Data Sensitif akan menampilkan hal berikut:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Contoh kode dan JSON berikut menunjukkan cara kerja transformasi masking.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Lihat panduan memulai 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 token berbasis kripto (juga disebut sebagai "pseudonimisasi") adalah metode de-identifikasi yang menggantikan nilai data sensitif asli dengan nilai terenkripsi. Perlindungan Data Sensitif mendukung jenis tokenisasi berikut, termasuk transformasi yang dapat dikembalikan dan memungkinkan identifikasi ulang:
- Hashing kriptografis: Dengan mempertimbangkan
CryptoKey
, Perlindungan Data Sensitif menggunakan kode autentikasi pesan berbasis SHA-256 (HMAC-SHA-256) pada nilai input, lalu mengganti nilai input dengan nilai yang di-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 menjaga format (FPE) dengan mode operasi FFX. Metode transformasi ini menghasilkan token yang dibatasi pada alfabet yang sama dengan nilai input dan panjangnya 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.
{i>Hashing <i}kriptografis
Transformasi hashing kriptografis
(CryptoHashConfig
dalam DLP API) mengambil nilai input (bagian data sensitif yang
telah terdeteksi oleh Perlindungan Data Sensitif) dan menggantinya dengan nilai yang di-hash. Nilai
hash dihasilkan 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, bukan nilai asli.
Sebelum menggunakan transformasi hashing kriptografis, perhatikan hal-hal berikut ini:
- Nilai input tidak dienkripsi, tetapi di-hash.
- Transformasi ini tidak dapat dibatalkan. Artinya, dengan nilai output yang di-hash dari transformasi 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 sama panjangnya, 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 panjang tetap.
Enkripsi dengan format yang dipertahankan
Metode transformasi enkripsi dengan format (FPE)
(CryptoReplaceFfxFpeConfig
di DLP API) mengambil nilai input (bagian data sensitif
yang telah terdeteksi oleh Perlindungan Data Sensitif), mengenkripsinya menggunakan enkripsi
yang mempertahankan format dalam mode FFX dan
CryptoKey
,
lalu mengganti nilai asli dengan nilai atau token yang dienkripsi.
Nilai input:
- Minimal harus 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
informasi selengkapnya, lihat kolom alfabet di
CryptoReplaceFfxFpeConfig
.
Token yang dihasilkan:
- Adalah nilai input terenkripsi.
- Mempertahankan himpunan karakter ("alfabet") dan panjang nilai input setelah enkripsi.
- Dikomputasi menggunakan enkripsi yang mempertahankan format dalam mode FFX dengan kunci kunci kriptografis yang ditentukan.
- Tidak selalu unik, karena setiap instance dari nilai input yang sama dide-identifikasi ke token yang sama. Hal ini memungkinkan integritas referensial, sehingga memungkinkan penelusuran data yang tidak teridentifikasi secara lebih efisien. Anda dapat mengubah perilaku ini menggunakan "tweak" 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 spasi alfabet (set karakter), yang dibatasi hingga 95 karakter. Anda dapat mengubah perilaku ini menggunakan "tweak" konteks, yang dapat meningkatkan keamanan. Penambahan penyesuaian konteks pada transformasi memungkinkan Perlindungan Data Sensitif 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 kriptografis. Anda memberikan kunci ini dengan salah satu dari tiga cara berikut:
- Dengan menyematkan aset yang tidak dienkripsi dalam permintaan API. Tindakan ini tidak direkomendasikan.
- Dengan meminta agar Perlindungan Data Sensitif membuatnya.
- Dengan menyematkannya, dienkripsi dalam permintaan API.
Jika memilih untuk menyematkan kunci tersebut dalam permintaan API, Anda harus membuat kunci dan menggabungkannya menggunakan kunci Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Membuat kunci gabungan. Nilai yang ditampilkan adalah string berenkode base64 secara default. Untuk menetapkan nilai ini di Perlindungan Data Sensitif, Anda harus mendekodenya ke string byte. Cuplikan kode berikut menyoroti cara melakukannya dalam beberapa bahasa. Contoh menyeluruh disediakan mengikuti 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 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang 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 dengan format yang dipertahankan di halaman ini.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang teks
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif untuk mengidentifikasi ulang teks sensitif yang 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang dengan jenis surrogate
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif untuk mengidentifikasi ulang data sensitif yang dideidentifikasi
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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang data sensitif dalam tabel
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif untuk mengidentifikasi ulang data sensitif dalam tabel yang
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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Enkripsi deterministik
Metode transformasi enkripsi deterministik CryptoDeterministicConfig
di DLP API mengambil nilai input (sepotong data sensitif yang telah terdeteksi oleh Perlindungan Data Sensitif), mengenkripsinya menggunakan AES-SIV dengan CryptoKey
, lalu mengganti nilai asli dengan representasi berenkode base64 dari nilai terenkripsi.
Menggunakan transformasi enkripsi deterministik memungkinkan penelusuran data terenkripsi yang lebih efisien.
Nilai input:
- Minimal harus 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 setelah enkripsi.
- Dikomputasi 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 menggunakan "tweak" konteks, seperti yang dijelaskan dalam Konteks.
- Dibuat dengan penambahan awalan, dalam bentuk
[SURROGATE_TYPE]([LENGTH]):
, dengan[SURROGATE_TYPE]
mewakili surrogate infoType 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 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 dengan 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"
}
}
Identifikasi ulang string ini akan menghasilkan string asli:
My phone number is 206-555-0574, call me
Jika Anda ingin menggunakan CryptoKey
yang digabungkan (terenkripsi) untuk keamanan
yang lebih baik, lihat Panduan memulai: Melakukan de-identifikasi dan mengidentifikasi ulang
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 dengan format yang dipertahankan
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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi deterministik: identifikasi ulang
Contoh ini menunjukkan cara mengidentifikasi ulang data sensitif yang
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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Pengelompokan
Transformasi pengelompokan berfungsi untuk melakukan de-identifikasi data numerik dengan melakukan "pengelompokan" ke dalam beberapa rentang. Rentang angka yang dihasilkan adalah string dengan tanda hubung yang terdiri dari batas bawah, tanda hubung, dan batas atas.
Bucket ukuran tetap
Perlindungan Data Sensitif dapat mengelompokkan nilai input numerik berdasarkan rentang ukuran tetap (FixedSizeBucketingConfig
di DLP API). Anda menentukan hal berikut untuk mengonfigurasi pengelompokan ukuran tetap:
- Nilai batas bawah semua bucket. Nilai apa pun yang kurang dari batas bawah dikelompokkan bersama dalam satu bucket.
- Nilai batas atas semua bucket. Nilai apa pun yang lebih besar dari batas atas dikelompokkan bersama dalam satu bucket.
- Ukuran setiap bucket selain bucket minimum dan maksimum.
Misalnya, jika batas bawah disetel ke 10, batas atas disetel ke 89, dan ukuran bucket disetel ke 10, bucket berikut akan digunakan: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70.
Untuk mengetahui informasi selengkapnya tentang konsep bucketing, lihat Generalisasi dan Bucketing.
Bucketing yang dapat disesuaikan
Bucketing yang dapat disesuaikan (BucketingConfig
di DLP API) menawarkan lebih banyak fleksibilitas daripada bucket ukuran tetap.
Daripada menetapkan batas atas dan bawah serta nilai interval untuk
membuat bucket berukuran sama, Anda dapat menentukan nilai maksimum dan minimum untuk setiap
bucket yang ingin Anda buat. Setiap pasangan nilai maksimum dan minimum harus memiliki jenis
yang sama.
Anda menyiapkan bucketing yang dapat disesuaikan dengan menentukan masing-masing bucket. Setiap bucket memiliki properti berikut:
- Batas bawah rentang bucket. Hapus nilai ini untuk membuat bucket yang tidak memiliki batas bawah.
- Batas atas rentang bucket. Hapus nilai ini untuk membuat bucket yang tidak memiliki batas atas.
- Nilai pengganti untuk rentang bucket ini. Ini adalah nilai yang akan digunakan untuk mengganti semua nilai terdeteksi yang 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 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"
}
}
]
}
Tindakan ini menentukan perilaku berikut:
- Nilai bilangan bulat yang jatuh antara 1 dan 30 akan 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 akan disamarkan dengan diganti dengan
HIGH
.
Untuk mengetahui informasi selengkapnya tentang konsep bucketing, lihat Generalisasi dan Bucketing.
Pergeseran tanggal
Saat Anda menggunakan transformasi perubahan tanggal
(DateShiftConfig
di DLP API pada nilai input tanggal, Perlindungan Data Sensitif akan menggeser
tanggal dengan jumlah hari yang acak.
Teknik pergeseran tanggal menggeser kumpulan tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu tertentu. Pergeseran tanggal biasanya dilakukan sesuai konteks dengan individu atau entitas. Artinya, Anda ingin menggeser semua tanggal untuk individu tertentu menggunakan diferensial shift yang sama, tetapi menggunakan diferensial shift yang terpisah untuk satu sama lain.
Untuk mengetahui informasi selengkapnya tentang pergeseran tanggal, lihat Pergeseran 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ekstraksi waktu
Melakukan ekstraksi waktu
(TimePartConfig
dalam DLP API), mempertahankan sebagian dari nilai yang cocok, yang pada
tanggal, waktu, atau stempel waktu akan mempertahankan sebagian dari nilai yang cocok. Anda menentukan jenis nilai waktu yang ingin diekstrak kepada Perlindungan Data Sensitif, termasuk tahun, bulan, hari, dan seterusnya (dienumerasi dalam objek TimePart
).
Misalnya, Anda telah mengonfigurasi transformasi timePartConfig
dengan
menyetel bagian waktu yang akan diekstrak ke YEAR
. Setelah mengirim data di kolom pertama di bawah ke Perlindungan Data Sensitif, Anda akan melihat nilai yang 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 Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat Library klien Perlindungan Data Sensitif.
Untuk mengautentikasi Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.