K-anonymity adalah properti dari set data yang menunjukkan pengidentifikasian ulang record-nya. Set data bersifat k-anonim jika pengidentifikasi semu untuk setiap orang dalam set data identik dengan setidaknya k – 1 orang lain yang juga ada dalam set data tersebut.
Anda dapat menghitung nilai k-anonimitas k berdasarkan satu atau beberapa kolom, atau kolom, dari set data. Topik ini menunjukkan cara menghitung nilai k-anonimitas k untuk set data menggunakan Perlindungan Data Sensitif. Untuk mengetahui 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 Google Cloud project. Buka pemilih project
- Pastikan penagihan diaktifkan untuk Google Cloud project Anda. Pelajari cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda.
- Aktifkan Sensitive Data Protection. Mengaktifkan Sensitive Data Protection
- Pilih set data BigQuery yang akan dianalisis. Sensitive Data Protection menghitung metrik k-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-anonimitas
Sensitive Data Protection melakukan analisis risiko setiap kali tugas analisis risiko dijalankan. Anda harus membuat tugas terlebih dahulu, baik menggunakan Google Cloud konsol, mengirim permintaan DLP API, atau menggunakan library klien Sensitive Data Protection.
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 yang akan dihitung, pilih k-anonimitas.
Di bagian Job ID, Anda dapat secara opsional memberi tugas ID kustom dan memilih lokasi resource tempat Sensitive Data Protection akan memproses data Anda. Setelah selesai, klik Lanjutkan.
Di bagian Tentukan kolom, Anda menentukan ID dan quasi-ID untuk tugas risiko k-anonimitas k. Perlindungan Data Sensitif mengakses metadata tabel BigQuery yang Anda tentukan pada langkah sebelumnya dan mencoba mengisi daftar kolom.
- Pilih kotak centang yang sesuai untuk menentukan kolom sebagai ID atau quasi-ID. 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 yang akan 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: Mengirimkan email yang berisi hasil kepada Anda. Setelah selesai, klik Buat.
Tugas analisis risiko k-anonimitas k akan segera dimulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Untuk menjalankan tugas analisis risiko baru guna menghitung k-anonimitas, 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 berikut ini:
Objek
PrivacyMetric
. Di sinilah Anda menentukan bahwa Anda menghitung k-anonimitas dengan menyertakan objekKAnonymityConfig
.Objek
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 merepresentasikan tindakan yang akan dijalankan, dalam urutan yang diberikan, setelah penyelesaian tugas. Setiap objekAction
dapat berisi salah satu tindakan berikut:SaveFindings
object: Menyimpan hasil pemindaian analisis risiko ke tabel BigQuery.PublishToPubSub
object: Memublikasikan notifikasi ke topik Pub/Sub.JobNotificationEmails
objek: Mengirimi Anda email berisi hasil.
Dalam objek
KAnonymityConfig
, Anda menentukan hal berikut:quasiIds[]
: Satu atau beberapa kuasi-pengenal (objekFieldId
) untuk dipindai dan digunakan untuk menghitung anonimitas k. Saat Anda menentukan beberapa kuasi-ID, kuasi-ID tersebut dianggap sebagai satu kunci gabungan. Jenis data struct dan berulang tidak didukung, tetapi kolom bertingkat didukung selama kolom tersebut bukan struct atau bertingkat dalam kolom berulang.entityId
: Nilai ID opsional yang, jika ditetapkan, menunjukkan bahwa semua baris yang sesuai dengan setiapentityId
yang berbeda harus dikelompokkan untuk komputasi anonimitas k. Biasanya,entityId
akan menjadi kolom yang merepresentasikan pengguna unik, seperti ID pelanggan atau ID pengguna. JikaentityId
muncul di beberapa baris dengan nilai quasi-identifier yang berbeda, baris ini akan digabungkan untuk membentuk multiset yang akan digunakan sebagai quasi-identifier untuk entitas tersebut. Untuk mengetahui informasi selengkapnya tentang ID entity, lihat ID entity dan penghitungan k dalam topik konseptual Analisis risiko.
Segera setelah Anda mengirim permintaan ke DLP API, API tersebut akan memulai tugas analisis risiko.
Mencantumkan tugas analisis risiko yang selesai
Anda dapat melihat daftar tugas analisis risiko yang telah dijalankan di project saat ini.
Konsol
Untuk mencantumkan tugas analisis risiko yang sedang berjalan dan yang sebelumnya dijalankan di konsol Google Cloud , lakukan hal berikut:
Di Google Cloud console, buka Sensitive Data Protection.
Klik tab Tugas & pemicu tugas di bagian atas halaman.
Klik tab Risk jobs.
Daftar tugas risiko akan muncul.
Protokol
Untuk membuat daftar tugas analisis risiko yang sedang berjalan dan yang sebelumnya berjalan, kirim permintaan GET ke resource
projects.dlpJobs
. Menambahkan filter jenis tugas (?type=RISK_ANALYSIS_JOB
) akan mempersempit respons hanya untuk 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
Fitur Perlindungan Data Sensitif di konsol memiliki visualisasi bawaan untuk tugas anonimitas k yang telah selesai. Google Cloud Setelah mengikuti petunjuk di bagian sebelumnya, dari daftar tugas analisis risiko, pilih tugas yang hasilnya ingin Anda lihat. Dengan asumsi tugas telah berjalan dengan berhasil, bagian atas halaman Detail analisis risiko akan terlihat seperti ini:
k
Untuk melihat hasil perhitungan k-anonymity k, klik tab K-anonymity. Untuk melihat konfigurasi tugas analisis risiko, klik tab Konfigurasi.
Tab K-anonimitas pertama-tama mencantumkan ID entitas (jika ada) dan quasi-identifier yang digunakan untuk menghitung k-anonimitas.
Bagan risiko
Diagram Risiko identifikasi ulang memplot, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi quasi-ID unik untuk mencapai nilai k-anonimitas k pada sumbu x. Warna diagram juga menunjukkan potensi risiko. Warna biru yang lebih gelap menunjukkan risiko yang lebih tinggi, sedangkan warna yang lebih terang menunjukkan risiko yang lebih rendah.
k Namun, untuk mencapai nilai k-anonimitas k yang lebih tinggi, Anda perlu menghapus persentase baris total yang lebih tinggi dan kombinasi quasi-ID unik yang lebih tinggi, yang dapat mengurangi kegunaan data. Untuk melihat nilai persentase potensi kehilangan tertentu untuk nilai k-anonimitas k tertentu, arahkan kursor ke diagram. Seperti yang ditunjukkan dalam screenshot, tooltip muncul pada diagram.
Untuk melihat detail selengkapnya tentang nilai k-anonimitas tertentu, klik titik data yang sesuai. Penjelasan mendetail ditampilkan di bawah diagram dan tabel contoh data muncul di bagian bawah halaman.
Tabel data sampel risiko
Komponen kedua pada halaman hasil tugas risiko adalah tabel data contoh. Tabel ini menampilkan kombinasi quasi-identifier untuk nilai k-anonymity target tertentu k.
Kolom pertama tabel mencantumkan nilai k-anonimitas. Klik nilai k-anonimitas k untuk melihat data sampel yang sesuai yang harus dihapus untuk mencapai nilai tersebut.
Kolom kedua menampilkan potensi kehilangan data masing-masing dari kombinasi baris unik dan quasi-identifier, serta jumlah grup dengan minimal k catatan dan jumlah total catatan.
Kolom terakhir menampilkan sampel grup yang memiliki kombinasi kuasi-ID yang sama, beserta jumlah data yang ada untuk kombinasi tersebut.
Mengambil detail tugas menggunakan REST
Untuk mengambil hasil tugas analisis risiko k-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 peroleh hasilnya.
ID pekerjaan ditampilkan saat Anda memulai pekerjaan, dan juga dapat diambil dengan
mencantumkan semua pekerjaan.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
Permintaan 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-anonimitas dengan ID entitas.
k.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Sensitive Data Protection, lihat library klien Sensitive Data Protection.
Untuk melakukan autentikasi ke Sensitive Data Protection, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- 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.