K-map sangat mirip dengan k-anonymity, kecuali bahwa k-map mengasumsikan bahwa penyerang kemungkinan besar tidak mengetahui siapa yang ada dalam set data. Gunakan k-map jika set data Anda relatif kecil, atau jika tingkat upaya yang diperlukan untuk menggeneralisasi atribut terlalu tinggi.
Sama seperti k-anonymity, k-map mengharuskan Anda menentukan kolom mana dari database Anda yang merupakan quasi-identifier. Dengan melakukan ini, Anda menyatakan data apa yang kemungkinan besar akan digunakan penyerang untuk mengidentifikasi ulang subjek. Selain itu, menghitung nilai peta k memerlukan set data untuk mengidentifikasi ulang: tabel yang lebih besar untuk membandingkan baris dalam set data asli.
Topik ini menunjukkan cara menghitung nilai peta k untuk set data menggunakan Sensitive Data Protection. Untuk mengetahui informasi selengkapnya tentang k-map 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.
- Mengaktifkan Sensitive Data Protection. Mengaktifkan Sensitive Data Protection
- Pilih set data BigQuery untuk dianalisis. Sensitive Data Protection memperkirakan metrik peta k dengan memindai tabel BigQuery.
- Tentukan jenis set data yang ingin Anda gunakan untuk membuat model set data serangan. Untuk mengetahui informasi selengkapnya, lihat halaman referensi untuk objek
KMapEstimationConfig, serta Istilah dan teknik analisis risiko.
Menghitung estimasi k-map
Anda dapat memperkirakan nilai peta k menggunakan Sensitive Data Protection, yang menggunakan model statistik untuk memperkirakan set data re-identifikasi. Hal ini berbeda dengan metode analisis risiko lainnya, yang set data serangannya diketahui secara eksplisit. Bergantung pada jenis data, Sensitive Data Protection menggunakan set data yang tersedia untuk umum (misalnya, dari Sensus AS) atau model statistik kustom (misalnya, satu atau beberapa tabel BigQuery yang Anda tentukan), atau mengekstrapolasi dari distribusi nilai dalam set data input Anda. Untuk informasi
selengkapnya, lihat halaman referensi untuk objek
KMapEstimationConfig.
Untuk menghitung estimasi peta k menggunakan Sensitive Data Protection, konfigurasikan tugas risiko terlebih dahulu. Buat 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 ingin menghitung k-map dengan menentukan objekKMapEstimationConfigyang berisi hal berikut:quasiIds[]: Wajib diisi. Kolom (objekTaggedField) yang dianggap sebagai quasi-identifier untuk dipindai dan digunakan untuk menghitung k-map. Tidak boleh ada dua kolom yang memiliki tag yang sama. Ini dapat berupa salah satu dari hal berikut:- infoType: Hal ini menyebabkan Sensitive Data Protection menggunakan set data publik yang relevan sebagai model statistik populasi, termasuk kode pos AS, kode wilayah, usia, dan gender.
- infoType kustom: Tag kustom tempat Anda menunjukkan tabel tambahan (objek
AuxiliaryTable) yang berisi informasi statistik tentang kemungkinan nilai kolom ini. - Tag
inferred: Jika tidak ada tag semantik yang ditunjukkan, tentukaninferred. Sensitive Data Protection menyimpulkan model statistik dari distribusi nilai dalam data input.
regionCode: Kode wilayah ISO 3166-1 alpha-2 untuk digunakan Sensitive Data Protection dalam pemodelan statistik. Nilai ini diperlukan jika tidak ada kolom yang diberi tag dengan infoType khusus wilayah (misalnya, kode pos AS) atau kode wilayah.auxiliaryTables[]: Tabel tambahan (objekAuxiliaryTable) yang akan digunakan dalam analisis. Setiap tag kustom yang digunakan untuk memberi tag pada kolom quasi-identifier (dariquasiIds[]) harus muncul di tepat satu kolom dari satu tabel tambahan.
Objek
BigQueryTable. Tentukan tabel BigQuery yang akan dipindai dengan menyertakan semua hal berikut:projectId: Project ID untuk project yang berisi tabel.datasetId: ID set data tabel.tableId: Nama tabel.
Satu set yang terdiri dari satu atau beberapa objek
Action, yang mewakili tindakan yang akan dijalankan, dalam urutan yang diberikan, pada penyelesaian tugas. Setiap objekActiondapat berisi salah satu tindakan berikut:- Objek
SaveFindings: Menyimpan hasil pemindaian analisis risiko ke tabel BigQuery. - Objek
PublishToPubSub: Memublikasikan notifikasi ke topik Pub/Sub.
- Objek
PublishSummaryToCscc: Menyimpan ringkasan hasil ke Security Command Center. JobNotificationEmailsobject: Mengirimi Anda email berisi hasil.PublishToStackdriverobject: Menyimpan hasil ke Google Cloud Observability.
- Objek
Contoh kode
Berikut adalah kode contoh dalam beberapa bahasa yang menunjukkan cara menggunakan Sensitive Data Protection untuk menghitung nilai peta k.
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.
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.
Melihat hasil tugas k-map
Untuk mengambil hasil tugas analisis risiko peta 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 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 ini menampilkan objek JSON yang berisi instance tugas. Hasil analisis berada di dalam kunci "riskDetails", dalam objek AnalyzeDataSourceRiskDetails. Untuk mengetahui informasi selengkapnya, lihat referensi API untuk resource DlpJob.
Langkah berikutnya
- Pelajari cara menghitung nilai k-anonymity untuk set data.
- Pelajari cara menghitung nilai l-diversity untuk set data.
- Pelajari cara menghitung nilai δ-presence untuk set data.