Tanggal adalah jenis data yang sangat umum. Jika tanggal dapat dianggap sebagai data sensitif atau informasi identitas pribadi (PII), Anda mungkin perlu menggeneralisasi, meng-obfuscate, atau menyamarkannya.
Salah satu metode untuk melakukannya adalah generalisasi atau pengelompokan. Namun, bergantung pada kasus penggunaan dan konfigurasi, bucketing dapat menghapus utilitas pada tanggal. Misalnya, jika Anda menggeneralisasi semua tanggal menjadi hanya satu tahun, Anda dapat kehilangan urutan peristiwa yang terjadi dalam tahun tersebut. Metode alternatif untuk menyamarkan tanggal yang mengatasi masalah ini adalah pergeseran tanggal.
Teknik perubahan tanggal menggeser kumpulan tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu. Pergeseran tanggal biasanya dilakukan sesuai konteks untuk individu atau entitas. Artinya, tanggal setiap individu digeser oleh sejumlah waktu yang unik bagi individu tersebut.
Contoh pergeseran tanggal
Pertimbangkan data berikut:
user_id | tanggal | action |
---|---|---|
1 | 2009-06-09 | run |
1 | 2009-06-03 | walk |
1 | 2009-05-23 | melakukan crawling |
2 | 2010-11-03 | melakukan crawling |
2 | 2010-11-22 | walk |
... | ... | ... |
Jika Anda menggeneralisasi tanggal ini ke tahun, maka Anda mendapatkan:
user_id | date_year | action |
---|---|---|
1 | 2009 | run |
1 | 2009 | walk |
1 | 2009 | melakukan crawling |
2 | 2010 | melakukan crawling |
2 | 2010 | walk |
... | ... | ... |
Tapi sekarang Anda tidak lagi memahami urutan per pengguna.
Sebagai gantinya, coba ubah tanggal:
user_id | tanggal | action |
---|---|---|
1 | 2009-07-17 | run |
1 | 2009-07-11 | walk |
1 | 2009-06-30 | melakukan crawling |
2 | 2011-01-26 | melakukan crawling |
2 | 2011-02-14 | walk |
... | ... | ... |
Perhatikan perbedaan tanggal, namun urutan dan durasi dipertahankan.
Besarnya tanggal digeser berbeda antara user_id
1 dan
2.
Perubahan tanggal di Perlindungan Data Sensitif
Objek JSON yang akan dikonfigurasi untuk metode content.deidentify
Perlindungan Data Sensitif sebagai berikut:
deidentify_config {
record_transformations {
field_transformations {
fields {
name: "date"
}
primitive_transformation {
date_shift_config {
upper_bound_days: 100
lower_bound_days: -100
entity_field_id {
name: "user_id"
}
crypto_key {
unwrapped {
key: "123456789012345678901234567890ab"
}
}
}
}
}
}
}
Batas atas dan bawah pergeseran ditentukan oleh nilai upper_bound_days
dan lower_bound_days
. Konteks atau cakupan yang menjadi tujuan
perubahan tersebut didasarkan pada nilai entity_id_field
, yang dalam hal ini
adalah "user_id"
.
Perhatikan juga penggunaan crypto_key
. Hal ini mirip dengan cara penggunaannya
dalam pseudonimisasi. Kunci tersebut akan memungkinkan Anda
menjaga integritas pergeseran tanggal ini di beberapa permintaan atau operasi data.
Referensi
Untuk informasi selengkapnya tentang cara melakukan de-identifikasi data menggunakan pergeseran tanggal dan metode lain di Perlindungan Data Sensitif, lihat:
Untuk informasi referensi API tentang transformasi primitif dalam Perlindungan Data Sensitif, lihat:
- Objek
DeidentifyConfig
: Objek tempat Anda mengonfigurasi opsi de-identifikasi. - Objek
PrimitiveTransformations
: Pergeseran tanggal adalah "transformasi dasar" dalam Perlindungan Data Sensitif. - Objek
DateShiftConfig
: Objek yang digunakan untuk mengonfigurasi objekPrimitiveTransformations
. Dengan menentukan objekDateShiftConfig
, Anda dapat mengubah tanggal dengan jumlah hari yang acak.