K-anonymity adalah properti set data yang menunjukkan pengidentifikasian ulang datanya. Set data bersifat k-anonim jika quasi-ID untuk setiap orang dalam set data identik dengan setidaknya k – 1 orang lain yang juga ada dalam set data.
Anda dapat menghitung nilai k-anonymity berdasarkan satu atau beberapa kolom, atau kolom, set data. Topik ini menunjukkan cara menghitung nilai k-anonymity untuk set data menggunakan Perlindungan Data Sensitif. Untuk informasi selengkapnya tentang anonimitas k atau analisis risiko secara umum, lihat topik konsep analisis risiko sebelum melanjutkan.
Sebelum memulai
Sebelum melanjutkan, pastikan Anda telah melakukan hal berikut:
- Login ke Akun Google Anda.
- Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud. Buka pemilih project
- Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Pelajari cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda.
- Aktifkan Perlindungan Data Sensitif. Aktifkan Perlindungan Data Sensitif
- Pilih set data BigQuery yang akan dianalisis. Perlindungan Data Sensitif menghitung metrik anonimitas k dengan memindai tabel BigQuery.
- Tentukan ID (jika ada) dan setidaknya satu quasi-ID dalam set data. Untuk mengetahui informasi selengkapnya, lihat Istilah dan teknik analisis risiko.
Menghitung k-anonymity
Perlindungan Data Sensitif melakukan analisis risiko setiap kali tugas analisis risiko dijalankan. Anda harus membuat tugas terlebih dahulu, baik dengan menggunakan konsol Google Cloud, mengirim permintaan DLP API, atau menggunakan library klien Perlindungan Data Sensitif.
Konsol
Di konsol Google Cloud, buka halaman Create risk analysis.
Di bagian Pilih data input, tentukan tabel BigQuery yang akan dipindai dengan memasukkan project ID project yang berisi tabel, ID set data tabel, dan nama tabel.
Di bagian Metrik privasi untuk dihitung, pilih k-anonimitas.
Di bagian ID Tugas, Anda dapat memberikan ID kustom ke tugas secara opsional dan memilih lokasi resource tempat Perlindungan Data Sensitif akan memproses data Anda. Setelah selesai, klik Lanjutkan.
Di bagian Define fields, Anda menentukan ID dan quasi-ID untuk tugas risiko anonimitas k. Perlindungan Data Sensitif mengakses metadata tabel BigQuery yang Anda tentukan di langkah sebelumnya dan mencoba mengisi daftar kolom.
- Pilih kotak centang yang sesuai untuk menentukan kolom sebagai ID atau quasi-ID (QI). Anda harus memilih 0 atau 1 ID dan minimal 1 quasi-ID.
- Jika Perlindungan Data Sensitif tidak dapat mengisi kolom, klik Masukkan nama kolom untuk memasukkan satu atau beberapa kolom secara manual dan menetapkan setiap kolom sebagai ID atau quasi-ID. Setelah selesai, klik Lanjutkan.
Di bagian Tambahkan tindakan, Anda dapat menambahkan tindakan opsional untuk dilakukan saat tugas risiko selesai. Opsi yang tersedia adalah:
- Simpan ke BigQuery: Menyimpan hasil pemindaian analisis risiko ke tabel BigQuery.
Publikasikan ke Pub/Sub: Memublikasikan notifikasi ke topik Pub/Sub.
Beri tahu melalui email: Mengirim email kepada Anda yang berisi hasil. Setelah selesai, klik Buat.
Tugas analisis risiko k-anonymity akan segera dimulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Untuk menjalankan tugas analisis risiko baru guna menghitung anonimitas k, kirim permintaan ke resource projects.dlpJobs
, dengan PROJECT_ID menunjukkan ID project Anda:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
Permintaan berisi objek
RiskAnalysisJobConfig
, yang terdiri dari hal berikut:
Objek
PrivacyMetric
. Di sinilah Anda menentukan bahwa Anda menghitung k-anonymity dengan menyertakan objekKAnonymityConfig
.kObjek
BigQueryTable
. Tentukan tabel BigQuery yang akan dipindai dengan menyertakan semua hal berikut:projectId
: Project ID project yang berisi tabel.datasetId
: ID set data tabel.tableId
: Nama tabel.
Kumpulan satu atau beberapa objek
Action
, yang mewakili tindakan yang akan dijalankan, dalam urutan yang diberikan, pada penyelesaian tugas. Setiap objekAction
dapat berisi salah satu tindakan berikut:- Objek
SaveFindings
: Menyimpan hasil pemindaian analisis risiko ke tabel BigQuery. Objek
PublishToPubSub
: Memublikasikan notifikasi ke topik Pub/Sub.Objek
JobNotificationEmails
: Mengirimi Anda email berisi hasil.
Dalam objek
KAnonymityConfig
, Anda menentukan hal berikut:quasiIds[]
: Satu atau beberapa quasi-ID (objekFieldId
) untuk dipindai dan digunakan untuk menghitung anonimitas k. Jika Anda menentukan beberapa quasi-ID, ID tersebut dianggap sebagai satu kunci gabungan. Jenis data berulang dan struct tidak didukung, tetapi kolom bertingkat didukung selama kolom tersebut bukan struct itu sendiri atau bertingkat dalam kolom berulang.entityId
: Nilai ID opsional yang, jika ditetapkan, menunjukkan bahwa semua baris yang sesuai dengan setiapentityId
yang berbeda harus dikelompokkan bersama untuk komputasi anonimitas k. Biasanya,entityId
akan berupa kolom yang mewakili pengguna unik, seperti ID pelanggan atau ID pengguna. JikaentityId
muncul di beberapa baris dengan nilai quasi-ID yang berbeda, baris ini akan digabungkan untuk membentuk multiset yang akan digunakan sebagai quasi-ID untuk entitas tersebut. Untuk informasi selengkapnya tentang ID entity, lihat ID entity dan komputasi k-anonimitas dalam topik konseptual Analisis risiko.
- Objek
Segera setelah Anda mengirim permintaan ke DLP API, API tersebut akan memulai tugas analisis risiko.
Mencantumkan tugas analisis risiko yang telah selesai
Anda dapat melihat daftar tugas analisis risiko yang telah dijalankan dalam project saat ini.
Konsol
Untuk mencantumkan tugas analisis risiko yang sedang berjalan dan yang sebelumnya dijalankan di konsol Google Cloud, lakukan hal berikut:
Di konsol Google Cloud, buka Sensitive Data Protection.
Klik tab Tugas & pemicu tugas di bagian atas halaman.
Klik tab Tugas risiko.
Lowongan pekerjaan risiko akan muncul.
Protokol
Untuk membuat daftar tugas analisis risiko yang sedang berjalan dan yang sebelumnya telah berjalan, kirim permintaan GET ke resource projects.dlpJobs
. Menambahkan filter jenis tugas (?type=RISK_ANALYSIS_JOB
) akan mempersempit respons hanya ke tugas analisis risiko.
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs?type=RISK_ANALYSIS_JOB
Respons yang Anda terima berisi representasi JSON dari semua tugas analisis risiko saat ini dan sebelumnya.
Melihat hasil tugas k-anonymity
Sensitive Data Protection di konsol Google Cloud menampilkan visualisasi bawaan untuk tugas anonimitas k yang telah selesai. Setelah mengikuti petunjuk di bagian sebelumnya, dari listingan tugas analisis risiko, pilih tugas yang ingin Anda lihat hasilnya. Dengan asumsi tugas telah berhasil dijalankan, bagian atas halaman Detail analisis risiko akan terlihat seperti ini:
Di bagian atas halaman terdapat informasi tentang tugas risiko anonimitas k, termasuk ID tugasnya dan, di bagian Container, lokasi resource-nya.
Untuk melihat hasil penghitungan k-anonymity, klik tab K-anonymity. Untuk melihat konfigurasi tugas analisis risiko, klik tab Configuration.
Tab K-anonymity pertama-tama mencantumkan ID entitas (jika ada) dan quasi-ID yang digunakan untuk menghitung k-anonymity.
Diagram risiko
Diagram Risiko re-identifikasi memetakan, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi quasi-ID unik untuk mencapai, pada sumbu x, nilai k-anonymity. Warna grafik juga menunjukkan potensi risiko. Nuansa biru yang lebih gelap menunjukkan risiko yang lebih tinggi, sedangkan nuansa yang lebih terang menunjukkan risiko yang lebih rendah.
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. Untuk melihat nilai potensi kehilangan persentase tertentu untuk nilai anonimitas k tertentu, arahkan kursor ke diagram. Seperti yang ditunjukkan pada screenshot, tooltip akan muncul di diagram.
Untuk melihat detail selengkapnya tentang nilai k-anonymity k tertentu, klik titik data yang sesuai. Penjelasan mendetail ditampilkan di bawah diagram dan contoh tabel data muncul di bagian bawah halaman.
Tabel data contoh risiko
Komponen kedua di halaman hasil tugas risiko adalah tabel data contoh. Laporan ini menampilkan kombinasi quasi-ID untuk nilai k-anonymity target tertentu.k
Kolom pertama tabel mencantumkan nilai k-anonymity. Klik nilai k-anonymity k untuk melihat data sampel yang sesuai yang perlu dihapus untuk mencapai nilai tersebut.
Kolom kedua menampilkan potensi kehilangan data masing-masing baris unik dan kombinasi quasi-ID, serta jumlah grup dengan minimal k data dan jumlah total data.
Kolom terakhir menampilkan contoh grup yang memiliki kombinasi quasi-ID, bersama dengan jumlah data yang ada untuk kombinasi tersebut.
Mengambil detail tugas menggunakan REST
Untuk mengambil hasil tugas analisis risiko anonimitas k menggunakan REST API, kirim permintaan GET berikut ke resource projects.dlpJobs
. Ganti PROJECT_ID dengan project ID Anda dan
JOB_ID dengan ID tugas yang ingin Anda dapatkan hasilnya.
ID tugas ditampilkan saat Anda memulai tugas, dan juga dapat diambil dengan
mencantumkan semua tugas.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
Permintaan akan menampilkan objek JSON yang berisi instance tugas. Hasil
analisis berada di dalam kunci "riskDetails"
, dalam
objek
AnalyzeDataSourceRiskDetails
. Untuk informasi selengkapnya, lihat referensi API untuk resource
DlpJob
.
Contoh kode: Menghitung k-anonymity dengan ID entity
Contoh ini membuat tugas analisis risiko yang menghitung k-anonymity dengan ID entity.
Untuk informasi selengkapnya tentang ID entitas, lihat ID entitas dan komputasi k-anonimitas.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Perlindungan Data Sensitif, lihat library klien Perlindungan Data Sensitif.
Untuk melakukan autentikasi ke Perlindungan Data Sensitif, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah selanjutnya
- Pelajari cara menghitung nilai l-diversity untuk set data.
- Pelajari cara menghitung nilai k-map untuk set data.
- Pelajari cara menghitung nilai δ-kehadiran untuk set data.