Topik ini membahas teknik de-identifikasi, atau transformasi, yang tersedia di Perlindungan Data Sensitif.
Jenis teknik de-identifikasi
Memilih transformasi de-identifikasi yang ingin Anda gunakan bergantung pada jenis data yang ingin Anda de-identifikasi dan tujuan Anda melakukan de-identifikasi data. Teknik de-identifikasi yang didukung Sensitive Data Protection tercakup dalam kategori umum berikut:
- Penyuntingan: Menghapus semua atau sebagian nilai sensitif yang terdeteksi.
- Penggantian: Mengganti nilai sensitif yang terdeteksi dengan nilai pengganti yang ditentukan.
- Penyamaran: Mengganti sejumlah karakter nilai sensitif dengan karakter pengganti yang ditentukan, seperti hash (#) atau tanda bintang (*).
- Tokenisasi berbasis kripto: Mengenkripsi nilai data sensitif asli menggunakan kunci kriptografis. Perlindungan Data Sensitif 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".)
- Penggeseran tanggal: Menggeser nilai tanggal sensitif dengan jumlah waktu acak.
- Ekstraksi waktu: Mengekstrak atau mempertahankan bagian tertentu dari nilai tanggal dan waktu.
Bagian selanjutnya dari topik ini membahas setiap jenis transformasi de-identifikasi yang berbeda dan memberikan contoh penggunaannya.
Metode transformasi
Tabel berikut mencantumkan transformasi yang disediakan oleh Perlindungan Data Sensitif 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 tertentu. | Semua | ||
Ganti dengan kamus | ReplaceDictionaryConfig
|
Mengganti nilai input dengan nilai yang dipilih secara acak dari daftar kata. | Semua | ||
Mengganti dengan infoType | ReplaceWithInfoTypeConfig |
Mengganti nilai input dengan nama infoType-nya. | Semua | ||
Masker 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 konsep 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 pengganti, dengan
panjang yang sama menggunakan enkripsi yang mempertahankan format (FPE) dengan mode
operasi FFX. Hal ini memungkinkan output digunakan dalam sistem yang memiliki
validasi format pada panjang. Hal ini berguna untuk sistem lama yang
panjang stringnya harus dipertahankan.
Penting: Untuk input yang bervariasi panjangnya atau memiliki
panjang lebih dari 32 byte, gunakan CryptoDeterministicConfig .
Agar tetap aman, batasan berikut direkomendasikan oleh
National Institute of Standards and Technology:
|
✔ | ✔ | String atau bilangan bulat dengan jumlah karakter terbatas dan panjang seragam. Alfabet harus terdiri dari minimal 2 karakter dan tidak boleh lebih dari 95. |
Pseudonimisasi dengan mengganti dengan token kriptografis | CryptoDeterministicConfig |
Mengganti nilai input dengan token, atau nilai pengganti, dengan panjang yang sama menggunakan AES dalam mode Vektor Inisialisasi Sintetis (AES-SIV). Metode transformasi ini, tidak seperti tokenisasi yang mempertahankan format, tidak memiliki batasan pada himpunan karakter string yang didukung, menghasilkan token yang identik untuk setiap instance nilai input yang identik, dan menggunakan surrogate 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 tempat nilai input berada. | Semua | ||
Nilai bucket berdasarkan rentang ukuran kustom | BucketingConfig |
Mengelompokkan nilai input berdasarkan rentang yang dapat dikonfigurasi pengguna dan nilai penggantian. | Semua | ||
Penggeseran Tanggal | DateShiftConfig |
Menggeser tanggal dengan jumlah hari acak, dengan opsi untuk konsisten dengan 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 penyamaran
(RedactConfig
di
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 akan berupa:
My name is Alicia Abernathy, and my email address is .
Contoh dan kode JSON berikut dalam beberapa bahasa menunjukkan cara membentuk 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 dan URL HTTP
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Ganti PROJECT_ID
dengan project ID.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Penggantian
Transformasi penggantian mengganti setiap nilai input dengan nilai token tertentu atau dengan nama infoType-nya.
Penggantian dasar
Transformasi penggantian dasar
(ReplaceValueConfig
di DLP API) mengganti nilai data sensitif yang terdeteksi dengan nilai
yang Anda tentukan. Misalnya, Anda telah memberi tahu Sensitive Data Protection untuk menggunakan
"[fake@example.com]" 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 dan kode JSON berikut dalam beberapa bahasa menunjukkan cara membentuk 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 dan URL HTTP
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 pengganti
yang realistis.
Misalnya, Anda ingin Perlindungan Data Sensitif mendeteksi alamat email dan mengganti setiap nilai yang terdeteksi dengan salah satu dari tiga alamat email pengganti.
Anda mengirim string input berikut ke Sensitive Data Protection beserta 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 hal 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 membentuk permintaan API dan apa yang ditampilkan DLP API.
Lihat panduan memulai JSON untuk mengetahui informasi selengkapnya tentang penggunaan DLP API dengan JSON.
Metode dan URL HTTP
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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 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 Sensitive Data Protection untuk menyamarkan
nilai sensitif yang terdeteksi
(CharacterMaskConfig
di DLP API) sepenuhnya atau sebagian dengan mengganti setiap karakter dengan karakter penyamaran tunggal
tetap seperti tanda bintang (*) atau hash (#). Penyamaran dapat dimulai dari
awal atau akhir string. Transformasi ini juga berfungsi dengan jenis angka
seperti bilangan bulat panjang.
Transformasi penyamaran Perlindungan Data Sensitif memiliki opsi berikut yang dapat Anda tentukan:
- Karakter penyamaran (Argumen
maskingCharacter
di DLP API): karakter yang akan digunakan untuk menyamarkan setiap karakter nilai sensitif. Misalnya, Anda dapat menentukan tanda bintang (*) atau tanda dolar ($) untuk menyamarkan serangkaian angka seperti yang ada dalam nomor kartu kredit. - Jumlah karakter yang akan disamarkan (
numberToMask
): Jika Anda tidak menentukan nilai ini, semua karakter akan disamarkan. - Apakah akan membalik urutan (
reverseOrder
): Apakah akan menyamarkan karakter dalam urutan terbalik. Membalik urutan akan menyebabkan karakter dalam nilai yang cocok disembunyikan 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 menghapus tanda hubung saat menyamarkan nomor telepon. Anda juga dapat menentukan grup 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 kumpulan karakter umum, dan jika tidak, setelan default, Perlindungan Data Sensitif akan menampilkan hal berikut:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Contoh JSON dan kode berikut menunjukkan cara kerja transformasi masking.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 dan URL HTTP
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. Perlindungan Data Sensitif mendukung jenis tokenisasi berikut, termasuk transformasi yang dapat dibalik dan memungkinkan re-identifikasi:
- 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 dikembalikan. - 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 dibatasi 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 dihasilkan menggunakan AES dalam mode Vektor Inisialisasi Sintetis (AES-SIV). Metode transformasi ini tidak memiliki batasan pada kumpulan 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 kriptografi
Transformasi hashing kriptografis
(CryptoHashConfig
di DLP API) mengambil nilai input (sebagian data sensitif yang
telah terdeteksi oleh Perlindungan Data Sensitif) dan menggantinya dengan nilai yang di-hash. Nilai
hash dibuat menggunakan kode autentikasi pesan berbasis SHA-256
(HMAC-SHA-256)
) pada nilai input dengan
CryptoKey
.
Perlindungan Data Sensitif menghasilkan representasi berenkode base64 dari nilai input yang di-hash 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 hashing 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 hash dari transformasi selalu memiliki panjang yang sama, bergantung pada ukuran kunci kriptografi. 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 (sebagian 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 terenkripsi, atau token.
Nilai input:
- Harus 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 terenkripsi.
- Mempertahankan himpunan karakter ("alfabet") dan panjang nilai input setelah enkripsi.
- Dihitung menggunakan enkripsi yang mempertahankan format dalam mode FFX yang menggunakan kunci pada kunci kriptografis yang ditentukan.
- Tidak selalu unik, karena setiap instance nilai input yang sama akan dide-identifikasi ke token yang sama. Hal ini memungkinkan integritas referensi, 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 (set karakter), yang dibatasi hingga 95 karakter. Anda dapat mengubah perilaku ini dengan menggunakan "tweak" konteks, yang dapat meningkatkan keamanan. Penambahan tweak konteks ke transformasi memungkinkan Perlindungan Data Sensitif untuk mende-identifikasi beberapa instance nilai input yang sama ke token yang berbeda. Jika Anda tidak perlu mempertahankan panjang dan spasi alfabet 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 menyematkannya tanpa dienkripsi dalam permintaan API. Tindakan ini tidak direkomendasikan.
- Dengan meminta Sensitive Data Protection untuk membuatnya.
- Dengan menyematkannya yang dienkripsi dalam permintaan API.
Jika memilih untuk menyematkan kunci dalam permintaan API, Anda harus membuat kunci dan menggabungkannya (mengenkripsinya) menggunakan kunci Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Membuat kunci yang digabungkan. Nilai yang ditampilkan adalah string yang dienkode base64 secara default. Untuk menetapkan nilai ini di Perlindungan Data Sensitif, Anda harus mendekodenya menjadi string byte. Cuplikan kode berikut menyoroti cara melakukannya dalam beberapa bahasa. Contoh menyeluruh diberikan setelah cuplikan ini.
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
Untuk mengetahui informasi selengkapnya tentang 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: de-identifikasi dengan jenis pengganti
Contoh ini menggunakan metode transformasi CryptoReplaceFfxFpeConfig
untuk melakukan de-identifikasi data sensitif. Untuk mengetahui informasi selengkapnya, lihat
Enkripsi yang mempertahankan format di halaman ini.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang tidak mengacak format: de-identifikasi data sensitif dalam tabel
Contoh ini menggunakan metode transformasi CryptoReplaceFfxFpeConfig
untuk melakukan de-identifikasi data sensitif dalam tabel. Untuk 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif untuk mengidentifikasi ulang data sensitif yang 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang teks
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Perlindungan Data Sensitif untuk mengidentifikasi ulang teks sensitif yang 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang mempertahankan format: identifikasi ulang dengan jenis pengganti
Berikut adalah contoh kode 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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh enkripsi yang tidak mengacak format: identifikasi ulang data sensitif dalam tabel
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan
Sensitive Data Protection untuk mengidentifikasi ulang data sensitif dalam tabel yang
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 melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 (sebagian 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.
Penggunaan transformasi enkripsi deterministik memungkinkan penelusuran data terenkripsi yang lebih efisien.
Nilai input:
- Minimal harus 1 karakter.
- Tidak memiliki batasan kumpulan karakter.
Token yang dihasilkan:
- Merupakan representasi nilai terenkripsi yang dienkode dengan base64.
- Tidak mempertahankan himpunan karakter ("alfabet") atau panjang nilai input setelah enkripsi.
- Dihitung menggunakan enkripsi AES dalam mode SIV (AES-SIV) dengan
CryptoKey
. - Tidak selalu unik, karena setiap instance nilai input yang sama akan dide-identifikasi ke token yang sama. Hal ini memungkinkan penelusuran data terenkripsi yang lebih efisien. Anda dapat mengubah perilaku ini dengan menggunakan "penyesuaian" konteks, seperti yang dijelaskan dalam Konteks.
- Dibuat dengan menambahkan awalan, dalam bentuk
[SURROGATE_TYPE]([LENGTH]):
, dengan[SURROGATE_TYPE]
mewakili infoType pengganti yang menjelaskan nilai input, dan[LENGTH]
menunjukkan panjang karakternya. Pengganti memungkinkan token diidentifikasi ulang menggunakan kunci enkripsi asli yang digunakan untuk de-identifikasi.
Berikut adalah contoh konfigurasi JSON untuk de-identifikasi menggunakan
enkripsi deterministik. Perhatikan bahwa kita telah memilih untuk menggunakan "PHONE_SURROGATE" sebagai
jenis pengganti deskriptif karena kita menghapus 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"
}
}
Menghapus identifikasi string "Nomor telepon saya adalah 206-555-0574" menggunakan transformasi ini akan menghasilkan string yang dihapus identifikasinya seperti berikut:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Untuk mengidentifikasi ulang string ini, Anda dapat menggunakan permintaan JSON seperti berikut, dengan [CRYPTO_KEY] adalah kunci kriptografi yang sama dengan yang digunakan untuk membatalkan 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: Menghapus identifikasi dan mengidentifikasi ulang
teks sensitif untuk mengetahui contohnya. Saat Anda
siap menggunakan library klien untuk menghapus identitas 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Pengelompokan
Transformasi pengelompokan berfungsi untuk mende-identifikasi data numerik dengan "mengelompokkan" data tersebut ke dalam rentang. Rentang angka yang dihasilkan adalah string dengan tanda hubung yang terdiri dari batas bawah, tanda hubung, dan batas atas.
Bucketing ukuran tetap
Perlindungan Data Sensitif dapat mengelompokkan nilai input numerik berdasarkan rentang ukuran tetap
(FixedSizeBucketingConfig
di DLP API). Anda menentukan hal berikut untuk mengonfigurasi bucketing berukuran tetap:
- Nilai batas bawah dari semua bucket. Setiap nilai yang kurang dari batas bawah akan dikelompokkan dalam satu bucket.
- Nilai batas atas semua bucket. Nilai apa pun yang lebih besar dari batas atas dikelompokkan 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 informasi selengkapnya tentang konsep pengelompokan, lihat Generalisasi dan Pengelompokan.
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 setiap 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 digunakan untuk mengganti semua nilai yang 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"
}
}
]
}
Hal ini menentukan perilaku berikut:
- Nilai bilangan bulat yang berada di antara 1 dan 30 akan 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 akan disamarkan dengan diganti dengan
HIGH
.
Untuk informasi selengkapnya tentang konsep pengelompokan, lihat Generalisasi dan Pengelompokan.
Perubahan tanggal
Saat Anda menggunakan transformasi pergeseran tanggal
(DateShiftConfig
di DLP API pada nilai input tanggal, Perlindungan Data Sensitif akan menggeser
tanggal dengan jumlah hari acak.
Teknik pergeseran tanggal secara acak menggeser sekumpulan tanggal, tetapi mempertahankan urutan dan durasi jangka waktu. Pergeseran tanggal biasanya dilakukan dalam konteks untuk individu atau entitas. Artinya, Anda ingin menggeser semua tanggal untuk individu tertentu menggunakan perbedaan shift yang sama, tetapi menggunakan perbedaan shift terpisah untuk setiap individu lainnya.
Untuk mengetahui informasi selengkapnya tentang perubahan tanggal, lihat Perubahan tanggal.
Berikut adalah contoh kode dalam beberapa bahasa yang menunjukkan cara menggunakan Cloud DLP API untuk melakukan de-identifikasi tanggal menggunakan pergeseran tanggal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ekstraksi waktu
Melakukan ekstraksi waktu
(TimePartConfig
di DLP API) akan 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 Perlindungan Data Sensitif, termasuk tahun, bulan, hari dalam sebulan, dan sebagainya (dienumerasikan 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 Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, 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 Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.