Topik ini menunjukkan cara mengukur k-anonimitas set data menggunakan Perlindungan Data Sensitif dan memvisualisasikannya di Looker Studio. Dengan melakukan hal tersebut, Anda juga akan dapat lebih memahami risiko dan membantu mengevaluasi konsekuensi utilitas yang mungkin Anda hasilkan 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-ragam menggunakan metode yang sama.
Topik ini mengasumsikan bahwa Anda sudah memahami konsep k-anonymity dan utilitasnya untuk menilai pengidentifikasian ulang data dalam set data. Sebaiknya Anda juga memahami cara menghitung k-anonimitas menggunakan Perlindungan Data Sensitif, dan dengan menggunakan Looker Studio.
Pengantar
Teknik de-identifikasi dapat membantu melindungi privasi subjek saat Anda memproses atau menggunakan data. Tetapi bagaimana Anda tahu jika {i>dataset <i} telah cukup dide-identifikasi? Dan bagaimana cara mengetahui apakah de-identifikasi telah menghasilkan terlalu banyak kehilangan data untuk kasus penggunaan Anda? Yaitu, bagaimana Anda dapat membandingkan risiko identifikasi ulang dengan utilitas data untuk membantu mengambil keputusan berdasarkan data?
Menghitung nilai k-anonymity dari set data dapat membantu menjawab pertanyaan-pertanyaan ini dengan menilai pengidentifikasian ulang catatan set data. Perlindungan Data Sensitif berisi fungsi bawaan untuk menghitung nilai k-anonimitas pada set data berdasarkan ID semu 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 cenderung atau kemungkinan tidak akan diidentifikasi ulang.
Contoh set data
Berikut ini adalah beberapa baris pertama dari contoh {i>dataset<i} berukuran 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 keperluan tutorial ini, user_id
tidak akan ditangani, karena fokusnya adalah pada ID semu. Dalam skenario dunia nyata, Anda ingin memastikan bahwa user_id
disamarkan atau ditokenkan dengan tepat. Kolom
score
adalah milik set data ini, dan kecil kemungkinan penyerang
dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam
analisis. Fokus Anda akan berada pada kolom age
dan title
yang tersisa, yang berpotensi digunakan penyerang untuk mempelajari individu melalui sumber data
lainnya. Pertanyaan yang Anda coba jawab untuk {i>dataset <i}itu adalah:
- Apa efek dari dua ID semu—
age
dantitle
—terhadap risiko identifikasi ulang secara keseluruhan dari data yang dide-identifikasi? - Bagaimana 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 bernama Programmer I dan berusia 69 tahun. Penyerang mungkin dapat melakukan referensi silang antara 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" dalam topik konseptual Analisis risiko.
Langkah 1: Hitung k-anonymity pada set data
Pertama, gunakan Perlindungan Data Sensitif untuk menghitung k-anonymity pada set data dengan mengirimkan JSON berikut ke resource DlpJob
. Dalam
JSON ini, Anda akan menetapkan ID entitas ke
kolom user_id
, dan mengidentifikasi dua ID semu 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 k-anonymity selesai, Perlindungan Data Sensitif 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 dihasilkan di Langkah 1 ke laporan baru di Looker Studio.
Buka Looker Studio.
Klik Buat > Laporan.
Di panel Tambahkan data ke laporan di bagian Hubungkan ke data, klik BigQuery. Anda mungkin perlu mengizinkan Looker Studio untuk mengakses tabel BigQuery.
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 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.
- Di menu Sisipkan, klik Diagram kombinasi.
- Klik dan gambar persegi panjang di kanvas tempat diagram ingin ditampilkan.
Selanjutnya, konfigurasikan data diagram pada tab Data sehingga diagram menunjukkan efek dari berbagai ukuran dan rentang nilai bucket:
- Kosongkan kolom pada 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 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
- Di kolom Nama, ketik
Unique row loss
. - Di bagian Jenis, pilih Persen.
- Pada Penghitungan perbandingan, pilih Persen dari total.
- Pada Penghitungan berjalan, pilih Jumlah berjalan.
ikon Edit akan muncul.
Klik ikon Edit, lalu lakukan langkah berikut:
- Di kolom Nama, ketik
- Ulangi langkah sebelumnya untuk metrik bucket_value_count, tetapi di kolom Nama, ketik
Unique quasi-identifier combination loss
.
Setelah selesai, kolom akan muncul seperti yang ditunjukkan di sini:
Terakhir, konfigurasikan diagram agar menampilkan diagram garis untuk kedua metrik:
- Klik tab Style pada panel di sebelah kanan jendela.
- Untuk Seri #1 dan Seri #2, pilih Line.
- Untuk melihat sendiri diagram akhir, klik tombol View di pojok kanan atas jendela.
Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.
Menafsirkan diagram
Plot diagram yang dihasilkan, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi kuasi-ID unik yang akan dicapai, pada sumbu x, nilai k-anonimitas.
Nilai k-anonymity yang lebih tinggi menunjukkan risiko identifikasi ulang yang lebih sedikit. Namun, untuk mencapai nilai k-anonimitas yang lebih tinggi, Anda harus menghapus persentase yang lebih tinggi dari total baris dan kombinasi kuasi-ID unik yang lebih tinggi, yang dapat mengurangi utilitas data.
Untungnya, menghapus data bukanlah satu-satunya pilihan untuk mengurangi risiko identifikasi ulang. Teknik de-identifikasi lainnya dapat mencapai 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 pengelompokan usia atau jabatan untuk mengurangi keunikan kombinasi usia/jabatan. Misalnya, Anda dapat mencoba pengelompokan usia dalam rentang 20-25, 25-30, 30-35, dan seterusnya. Untuk mengetahui informasi selengkapnya tentang cara melakukannya, lihat Generalisasi dan pengelompokan serta Melakukan de-identifikasi data sensitif dalam konten teks.