Topik ini menunjukkan cara mengukur k-anonimitas set data menggunakan Perlindungan Data Sensitif dan memvisualisasikannya di Looker Studio. Dengan demikian, Anda juga akan dapat lebih memahami risiko dan membantu mengevaluasi kompromi dalam utilitas yang mungkin Anda buat jika menyamarkan atau menghapus identitas data.
Meskipun fokus topik ini adalah memvisualisasikan metrik analisis risiko re-identifikasi anonimitas k, Anda juga dapat memvisualisasikan metrik l-diversity menggunakan metode yang sama.
Topik ini mengasumsikan bahwa Anda sudah memahami konsep k-anonymity dan kegunaannya untuk menilai pengidentifikasian ulang data dalam set data. Sebaiknya Anda juga setidaknya memahami cara menghitung anonimitas k menggunakan Perlindungan Data Sensitif, dan cara menggunakan Looker Studio.
Pengantar
Teknik de-identifikasi dapat membantu melindungi privasi subjek Anda saat Anda memproses atau menggunakan data. Namun, bagaimana cara mengetahui apakah set data telah di-de-identifikasi secara memadai? Selain itu, bagaimana Anda akan mengetahui apakah de-identifikasi 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 anonimitas k dari set data membantu menjawab pertanyaan ini dengan menilai pengidentifikasian ulang data set. Perlindungan Data Sensitif berisi fungsi bawaan untuk menghitung nilai anonimitas k pada set data berdasarkan quasi-ID yang Anda tentukan. Hal ini membantu Anda mengevaluasi dengan cepat apakah penghapusan identifikasi kolom atau kombinasi kolom tertentu akan menghasilkan set data yang lebih atau kurang mungkin 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-ID. Dalam skenario dunia nyata, Anda harus memastikan
bahwa user_id
disamarkan atau ditokenisasi dengan tepat. Kolom
score
adalah milik eksklusif set data ini, dan penyerang kemungkinan besar
tidak akan dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam
analisis. Fokus Anda akan berada pada kolom age
dan title
yang tersisa, yang
dapat digunakan penyerang untuk mempelajari individu melalui sumber
data lainnya. Pertanyaan yang Anda coba jawab untuk set data adalah:
- Apa efek dari dua quasi-ID—
age
dantitle
—terhadap risiko identifikasi ulang secara keseluruhan dari data yang dide-identifikasi? - Bagaimana pengaruh penerapan transformasi de-identifikasi terhadap 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 judulnya 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 Entitas dan
k-anonimitas komputasi" dalam topik konsep Analisis
risiko.
Langkah 1: Hitung k-anonymity pada set data
Pertama, gunakan Perlindungan Data Sensitif untuk menghitung anonimitas k 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-ID sebagai kolom age
dan
title
. Anda juga menginstruksikan Perlindungan Data Sensitif 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 anonimitas k selesai, Perlindungan Data Sensitif akan mengirimkan hasil
tugas ke tabel BigQuery bernama
dlp-demo-2.dlp_testing.test_results
.
Langkah 2: Hubungkan hasil ke Looker Studio
Selanjutnya, Anda akan menghubungkan tabel BigQuery yang dibuat di Langkah 1 ke laporan baru di Looker Studio.
Buka Looker Studio.
Klik Buat > Laporan.
Di panel Tambahkan data ke laporan pada bagian Hubungkan ke data, klik BigQuery. Anda mungkin perlu memberikan otorisasi kepada Looker 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 Looker Studio baru. Pada langkah berikutnya, Anda akan membuat diagram.
Langkah 3: Buat diagram
Lakukan hal berikut untuk menyisipkan dan mengonfigurasi diagram:
- Di Looker Studio, jika tabel nilai muncul, pilih tabel tersebut, lalu tekan Delete untuk menghapusnya.
- Pada menu Sisipkan, klik Diagram kombinasi.
- Klik dan gambar persegi panjang di kanvas tempat Anda ingin diagram muncul.
Selanjutnya, konfigurasikan data diagram di tab Data sehingga diagram menunjukkan efek dari variasi ukuran dan rentang nilai bucket:
- Hapus kolom di bawah judul berikut dengan mengarahkan kursor ke setiap kolom
dan mengklik
- Dimensi Rentang Tanggal
- Dimensi
- Metrik
- Urutkan
X, seperti yang ditunjukkan di sini: - 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 Menaik.
- Tarik kolom bucket_size dan bucket_value_count ke judul Metrik.
- Arahkan kursor ke ikon di sebelah kiri metrik bucket_size dan ikon
- 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.
Edit akan muncul.
Klik ikon Edit, lalu lakukan hal berikut:
- 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 View di sudut kanan atas jendela.
Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.
Menafsirkan diagram
Diagram yang dihasilkan akan memetakan, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi quasi-ID unik yang akan dicapai, pada sumbu x, nilai k-anonymity.
Nilai anonimitas k yang lebih tinggi menunjukkan risiko identifikasi ulang yang lebih rendah. Namun, untuk mencapai nilai k-anonymity k yang lebih tinggi, Anda harus menghapus persentase total baris yang lebih tinggi dan kombinasi quasi-ID unik yang lebih tinggi, yang dapat menurunkan utilitas data.
Untungnya, menghapus data bukanlah satu-satunya opsi untuk mengurangi risiko re-identifikasi. Teknik penghapusan identitas lainnya dapat menyeimbangkan antara hilangnya informasi dan kegunaan. Misalnya, untuk mengatasi jenis kehilangan data yang terkait dengan nilai k-anonymity k 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 De-identifikasi data sensitif dalam konten teks.