Topik ini menunjukkan cara mengukur k-anonymity set data menggunakan Perlindungan Data Sensitif dan memvisualisasikannya di Data Studio. Dengan melakukannya, Anda juga dapat lebih memahami risiko dan membantu mengevaluasi kompromi dalam utilitas yang mungkin Anda lakukan jika Anda mengedit atau menghapus identitas data.
Meskipun fokus topik ini adalah memvisualisasikan metrik analisis risiko identifikasi ulang k-anonymity, Anda juga dapat memvisualisasikan metrik l-diversity menggunakan metode yang sama.
Topik ini mengasumsikan bahwa Anda sudah memahami konsep k-anonymity dan utilitasnya untuk menilai identifikasi ulang data dalam set data. Sebaiknya Anda juga memahami cara menghitung k-anonymity menggunakan Sensitive Data Protection, dan cara menggunakan Data Studio.
Pengantar
Teknik penghapusan identitas dapat membantu melindungi privasi subjek Anda saat Anda memproses atau menggunakan data. Namun, bagaimana Anda tahu apakah set data telah dihapus identitasnya secara memadai? Dan bagaimana Anda tahu apakah penghapusan identitas Anda telah menyebabkan terlalu banyak kehilangan data untuk kasus penggunaan Anda? Artinya, bagaimana Anda dapat membandingkan risiko identifikasi ulang dengan utilitas data untuk membantu membuat keputusan berbasis data?
Menghitung nilai k-anonymity set data membantu menjawab pertanyaan ini dengan menilai identifikasi ulang data set data. Perlindungan Data Sensitif berisi fungsi bawaan untuk menghitung nilai k-anonymity pada set data berdasarkan pengidentifikasi semu yang Anda tentukan. Hal ini membantu Anda mengevaluasi dengan cepat apakah penghapusan identitas kolom atau kombinasi kolom tertentu akan menghasilkan set data yang lebih atau kurang mungkin untuk diidentifikasi ulang.
Contoh set data
Berikut adalah beberapa baris pertama dari set data contoh yang besar.
user_id |
age |
title |
score |
|---|---|---|---|
602-61-8588 |
24 |
Biostatistician III |
733 |
771-07-8231 |
46 |
Executive Secretary |
672 |
618-96-2322 |
69 |
Programmer I |
514 |
... |
... |
... |
... |
Untuk tujuan tutorial ini, user_id tidak akan dibahas, karena fokusnya adalah pada pengidentifikasi semu. Dalam skenario dunia nyata, Anda harus memastikan
bahwa user_id diedit atau diberi token dengan tepat. Kolom score bersifat eksklusif untuk set data ini, dan kemungkinan penyerang tidak akan dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam analisis. Fokus Anda adalah pada kolom age dan title yang tersisa, yang dapat digunakan penyerang untuk mempelajari individu melalui sumber data lain. Pertanyaan yang Anda coba jawab untuk set data adalah:
- Apa pengaruh dua pengidentifikasi semu—
agedantitle—terhadap risiko identifikasi ulang keseluruhan data yang dihapus identitasnya? - Bagaimana penerapan transformasi penghapusan identitas akan memengaruhi risiko ini?
Anda harus memastikan bahwa kombinasi age dan title tidak akan dipetakan ke sejumlah kecil pengguna. Misalnya, anggaplah hanya ada satu pengguna dalam set data yang memiliki jabatan Programmer I dan berusia 69 tahun. Penyerang mungkin dapat melakukan referensi silang informasi tersebut dengan demografi atau informasi lain yang tersedia, mengetahui siapa orang tersebut, dan mempelajari nilai skornya.
Untuk mengetahui informasi selengkapnya tentang fenomena ini, lihat bagian "ID Entity dan penghitungan
k-anonymity" di topik konseptual Analisis
risiko.
Langkah 1: Hitung k-anonymity pada set data
Pertama, gunakan Sensitive Data Protection untuk menghitung k-anonymity pada set data dengan
mengirimkan JSON berikut ke
DlpJob resource. Dalam
JSON ini, Anda menetapkan ID entity ke kolom
user_id, dan mengidentifikasi dua pengidentifikasi semu sebagai kolom age dan
title. Anda juga menginstruksikan Sensitive Data Protection untuk menyimpan hasil ke Tabel BigQuery baru.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/dlp-demo-2/dlpJobs
{
"riskJob": {
"sourceTable": {
"projectId": "dlp-demo-2",
"datasetId": "dlp_testing",
"tableId": "dlp_test_data_kanon"
},
"privacyMetric": {
"kAnonymityConfig": {
"entityId": {
"field": {
"name": "id"
}
},
"quasiIds": [
{
"name": "age"
},
{
"name": "job_title"
}
]
}
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "dlp-demo-2",
"datasetId": "dlp_testing",
"tableId": "test_results"
}
}
}
}
]
}
}Setelah tugas k-anonymity selesai, Sensitive Data Protection akan mengirimkan hasil tugas ke tabel BigQuery bernama dlp-demo-2.dlp_testing.test_results.
Langkah 2: Hubungkan hasil ke Data Studio
Selanjutnya, Anda akan menghubungkan tabel BigQuery yang Anda buat di Langkah 1 ke laporan baru di Data Studio.
Buka Data Studio.
Klik Buat > Laporan.
Di panel Tambahkan data ke laporan di bagian Hubungkan ke data, klik BigQuery. Anda mungkin perlu mengotorisasi Data Studio untuk mengakses tabel BigQuery Anda.
Di pemilih kolom, pilih Project saya. Kemudian, pilih project, set data, dan tabel. Setelah selesai, klik Tambahkan. Jika Anda melihat pemberitahuan bahwa Anda akan menambahkan data ke laporan ini, klik Tambahkan ke laporan.
Hasil pemindaian k-anonymity kini telah ditambahkan ke laporan Data Studio baru. Pada langkah berikutnya, Anda akan membuat diagram.
Langkah 3: Buat diagram
Lakukan hal berikut untuk menyisipkan dan mengonfigurasi diagram:
- Di Data Studio, jika tabel nilai muncul, pilih tabel tersebut dan tekan Delete untuk menghapusnya.
- Di menu Sisipkan, klik Diagram gabungan.
- Klik dan gambar persegi panjang di kanvas tempat Anda ingin diagram muncul.
Selanjutnya, konfigurasikan data diagram di tab Data sehingga diagram menampilkan efek dari berbagai ukuran dan rentang nilai bucket:
- Hapus kolom di bagian judul berikut dengan mengarahkan kursor ke setiap kolom
dan mengklik X, seperti yang ditunjukkan di sini:
- Dimensi Rentang Tanggal
- Dimensi
- Metrik
- Urutkan
- Setelah semua kolom dihapus, tarik kolom upper_endpoint dari kolom Kolom yang tersedia ke judul Dimensi.
- Tarik kolom upper_endpoint ke judul Urutkan, lalu pilih Naik.
- Tarik kolom bucket_size dan bucket_value_count ke judul Metrik.
- Arahkan kursor ke ikon di sebelah kiri metrik bucket_size dan ikon Edit akan muncul.
Klik ikon Edit, lalu lakukan hal berikut:
- Di kolom Nama, ketik
Unique row loss. - Di bagian Jenis, pilih Persen.
- Di bagian Penghitungan perbandingan, pilih Persen dari total.
- Di bagian Penghitungan berjalan, pilih Jumlah berjalan.
- Di kolom Nama, ketik
- Ulangi langkah sebelumnya untuk metrik bucket_value_count, tetapi di kolom
Name, ketik
Unique quasi-identifier combination loss.
Setelah selesai, kolom akan muncul seperti yang ditunjukkan di sini:
Terakhir, konfigurasikan diagram untuk menampilkan diagram garis untuk kedua metrik:
- Klik tab Gaya di panel di sebelah kanan jendela.
- Untuk Seri #1 dan Seri #2, pilih Garis.
- Untuk melihat diagram akhir secara terpisah, klik tombol Lihat di sudut kanan atas jendela.
Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.
Menafsirkan diagram
Plot diagram yang dihasilkan, pada sumsumbu y, menunjukkan persentase potensi kehilangan data untuk kombinasi pengidentifikasi semu unik dan baris unik untuk mencapai, pada sumbu x, nilai k-anonymity.
Nilai k-anonymity yang lebih tinggi menunjukkan risiko identifikasi ulang yang lebih rendah. Namun, untuk mencapai nilai k-anonymity yang lebih tinggi, Anda harus menghapus persentase baris total yang lebih tinggi dan kombinasi pengidentifikasi semu unik yang lebih tinggi, yang mungkin mengurangi utilitas data.
Untungnya, menghapus data bukan satu-satunya opsi untuk mengurangi risiko identifikasi ulang. Teknik penghapusan identitas lainnya dapat mencapai keseimbangan yang lebih baik antara kehilangan dan utilitas. Misalnya, untuk mengatasi jenis kehilangan data yang terkait dengan nilai k-anonymity yang lebih tinggi dan set data ini, Anda dapat mencoba mengelompokkan usia atau jabatan untuk mengurangi keunikan kombinasi usia/jabatan. Misalnya, Anda dapat mencoba mengelompokkan usia dalam rentang 20-25, 25-30, 30-35, dan seterusnya. Untuk mengetahui informasi selengkapnya tentang cara melakukannya, lihat Generalisasi dan pengelompokan serta Menghapus identitas data sensitif dalam konten teks.