Topik ini menunjukkan cara mengukur k-anonymity set data menggunakan Sensitive Data Protection dan memvisualisasikannya di Data Studio. Dengan demikian, Anda juga akan dapat lebih memahami risiko dan membantu mengevaluasi konsekuensi utilitas yang mungkin Anda buat jika Anda menyamarkan atau melakukan de-identifikasi 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-anonimitas dan kegunaannya untuk menilai kemampuan identifikasi ulang data dalam set data. Anda juga perlu memahami setidaknya sedikit cara menghitung k-anonymity menggunakan Sensitive Data Protection, dan cara menggunakan Data Studio.
Pengantar
Teknik de-identifikasi dapat membantu melindungi privasi subjek Anda saat Anda memproses atau menggunakan data. Namun, bagaimana Anda tahu apakah set data telah dide-identifikasi secara memadai? Bagaimana Anda tahu apakah de-identifikasi mengakibatkan 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 kemampuan identifikasi ulang kumpulan data dalam set data. Sensitive Data Protection berisi fungsi bawaan untuk menghitung nilai anonimitas k pada set data berdasarkan quasi-identifier yang Anda tentukan. Hal ini membantu Anda mengevaluasi dengan cepat apakah melakukan de-identifikasi pada 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 contoh set data 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 quasi-identifier. Dalam skenario dunia nyata, Anda harus memastikan
bahwa user_id diredaksi atau ditokenisasi dengan tepat. Kolom
score bersifat eksklusif untuk set data ini, dan penyerang tidak mungkin
dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam
analisis. Fokus Anda akan tertuju pada kolom age dan title yang tersisa, yang
dapat digunakan penyerang untuk mempelajari seseorang melalui sumber
data lain. Pertanyaan yang ingin Anda jawab untuk set data ini adalah:
- Apa efek yang akan ditimbulkan oleh dua quasi-identifier—
agedantitle—terhadap risiko identifikasi ulang secara keseluruhan dari data yang telah dide-identifikasi? - Bagaimana penerapan transformasi de-identifikasi akan memengaruhi risiko ini?
Anda ingin memastikan bahwa kombinasi age dan title tidak akan dipetakan ke
sejumlah kecil pengguna. Misalnya, hanya ada satu pengguna dalam
set data yang jabatannya adalah Programmer I dan berusia 69 tahun. Penyerang mungkin dapat
melakukan referensi silang informasi tersebut dengan demografi atau informasi lain yang tersedia, mencari tahu siapa orang tersebut, dan mempelajari nilai skornya.
Untuk mengetahui informasi selengkapnya tentang fenomena ini, lihat bagian "ID Entity dan komputasi
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
mengirim JSON berikut ke
resource DlpJob. Dalam
JSON ini, Anda menetapkan ID entity ke
kolom user_id, dan mengidentifikasi dua quasi-identifier sebagai kolom age dan
title. Anda juga menginstruksikan Sensitive Data Protection untuk menyimpan hasilnya 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 Create > Report.
Di panel Add data to report di bagian Connect to data, klik BigQuery. Anda mungkin perlu memberikan otorisasi kepada 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 anonimitas k kini telah ditambahkan ke laporan Data Studio baru. Pada langkah berikutnya, Anda akan membuat diagram.
Langkah 3: Buat diagram
Lakukan tindakan berikut untuk menyisipkan dan mengonfigurasi diagram:
- Di Data Studio, jika tabel nilai muncul, pilih tabel tersebut dan tekan Delete untuk menghapusnya.
- Di menu Insert, klik Combo chart.
- Klik dan gambar persegi panjang di kanvas tempat Anda ingin diagram muncul.
Selanjutnya, konfigurasikan data diagram di tab Data sehingga diagram menampilkan efek dari variasi ukuran dan rentang nilai bucket:
- Hapus kolom di bawah judul berikut dengan mengarahkan kursor ke setiap kolom
dan mengklik X, seperti yang ditunjukkan di sini:
- Dimensi Rentang Tanggal
- Dimensi
- Metrik
- Mengurutkan
- Setelah semua kolom dihapus, tarik kolom upper_endpoint dari kolom Available fields ke judul Dimension.
- Tarik kolom upper_endpoint ke judul Sort, lalu pilih Ascending.
- Tarik kolom bucket_size dan bucket_value_count ke judul Metric.
- Arahkan kursor ke ikon di sebelah kiri metrik bucket_size, dan ikon Edit akan muncul.
Klik ikon Edit, lalu lakukan tindakan berikut:
- Di kolom Nama, ketik
Unique row loss. - Di bagian Type, pilih Percent.
- Di bagian Penghitungan perbandingan, pilih Persentase 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 sebelah kanan jendela.
- Untuk Series #1 dan Series #2, pilih Line.
- Untuk melihat diagram akhir saja, klik tombol View di sudut kanan atas jendela.
Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.
Menafsirkan diagram
Diagram yang dihasilkan memetakan, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi quasi-identifier 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 quasi-identifier unik yang lebih tinggi, yang dapat mengurangi kegunaan data.
Untungnya, menghapus data bukan satu-satunya opsi untuk mengurangi risiko re-identifikasi. Teknik de-identifikasi lainnya dapat memberikan keseimbangan yang lebih baik antara kerugian 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 bucketing serta Melakukan de-identifikasi data sensitif dalam konten teks.