K-map è molto simile a k-anonymity, ma presuppone che l'utente malintenzionato molto probabilmente non sappia chi si trova nel set di dati. Utilizza k-map se il set di dati è relativamente piccolo o se il livello di impegno richiesto per la generalizzazione degli attributi è troppo elevato.
Come nel caso di k-anonymity, k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati utilizzerà con maggiore probabilità un utente malintenzionato per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore k richiede un set di dati di reidentificazione, ovvero una tabella più grande con la quale confrontare le righe nel set di dati originale.
Questo argomento illustra come calcolare i valori k-map per un set di dati utilizzando Sensitive Data Protection. Per ulteriori informazioni su k-map o sull'analisi del rischio in generale, consulta l'argomento concettuale dell'analisi del rischio prima di continuare.
Prima di iniziare
Prima di continuare, assicurati di aver eseguito le seguenti operazioni:
- Accedi al tuo Account Google.
- Nella pagina del selettore progetti della console Google Cloud, seleziona o crea un progetto Google Cloud. Vai al selettore dei progetti
- Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare che la fatturazione sia abilitata per il tuo progetto.
- Attiva Sensitive Data Protection. Abilita Sensitive Data Protection
- Seleziona un set di dati BigQuery da analizzare. Sensitive Data Protection stima la metrica k-map analizzando una tabella BigQuery.
- Determina i tipi di set di dati che vuoi utilizzare per modellare il set di dati sugli attacchi. Per maggiori informazioni, consulta la pagina di riferimento per l'oggetto
KMapEstimationConfig
e i termini e le tecniche di analisi dei rischi.
Stime di computing k-map
Puoi stimare i valori k-map utilizzando Sensitive Data Protection, che utilizza un modello statistico per stimare un set di dati di reidentificazione. In contrasto con gli altri metodi di analisi del rischio, in cui il set di dati degli attacchi è esplicitamente noto. A seconda del tipo di dati, Sensitive Data Protection utilizza set di dati disponibili pubblicamente (ad esempio, del censimento degli Stati Uniti) o un modello statistico personalizzato (ad esempio una o più tabelle BigQuery specificate) oppure estrapola dalla distribuzione dei valori nel set di dati di input. Per saperne di più, consulta la pagina di riferimento per l'oggetto KMapEstimationConfig
.
Per calcolare una stima di k-map utilizzando Sensitive Data Protection, devi prima configurare il job relativo al rischio. Scrivi una richiesta alla risorsa projects.dlpJobs
, dove PROJECT_ID indica l'identificatore del progetto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
La richiesta contiene un oggetto RiskAnalysisJobConfig
, composto da quanto segue:
Un oggetto
PrivacyMetric
. Qui puoi specificare di voler calcolare k-map specificando un oggettoKMapEstimationConfig
contenente quanto segue:quasiIds[]
: campo obbligatorio. Campi (oggettiTaggedField
) considerati quasi-identificatori da scansionare e usare per calcolare k-map. Due colonne non possono avere lo stesso tag. Può essere uno dei seguenti:- Un infoType: in questo modo Sensitive Data Protection utilizza il set di dati pubblico pertinente come modello statistico di popolazione, inclusi codici postali, regioni, età e genere degli Stati Uniti.
- Un infoType personalizzato: un tag personalizzato in cui indichi una tabella ausiliaria (un oggetto
AuxiliaryTable
) contenente informazioni statistiche sui possibili valori di questa colonna. - Il tag
inferred
: se non viene indicato alcun tag semantico, specificainferred
. Sensitive Data Protection deduce il modello statistico dalla distribuzione dei valori nei dati di input.
regionCode
: un codice regione ISO 3166-1 alpha-2 per Sensitive Data Protection da utilizzare nella modellazione statistica. Questo valore è obbligatorio se nessuna colonna è taggata con un infoType specifico per regione (ad esempio, un codice postale statunitense) o un codice regione.auxiliaryTables[]
: tabelle ausiliarie (oggettiAuxiliaryTable
) da utilizzare nell'analisi. Ogni tag personalizzato utilizzato per taggare una colonna di quasi-identificatori (daquasiIds[]
) deve apparire esattamente in una colonna di una tabella ausiliaria.
Un oggetto
BigQueryTable
. Specifica la tabella BigQuery da analizzare includendo tutti i seguenti elementi:projectId
: l'ID del progetto contenente la tabella.datasetId
: l'ID del set di dati della tabella.tableId
: il nome della tabella.
Un insieme di uno o più oggetti
Action
, che rappresentano le azioni da eseguire, nell'ordine indicato, al completamento del job. Ogni oggettoAction
può contenere una delle seguenti azioni:- Oggetto
SaveFindings
: salva i risultati dell'analisi dell'analisi del rischio in una tabella BigQuery. PublishToPubSub
object: pubblica una notifica in un argomento Pub/Sub.
- Oggetto
PublishSummaryToCscc
: salva un riepilogo dei risultati in Security Command Center. PublishFindingsToCloudDataCatalog
oggetto: salva i risultati in Data Catalog.- Oggetto
JobNotificationEmails
: ti invia un'email con i risultati. PublishToStackdriver
oggetto: salva i risultati nella suite operativa di Google Cloud.
- Oggetto
Esempi di codice
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per calcolare un valore k-map.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Visualizzazione dei risultati dei job k-map
Per recuperare i risultati del job di analisi del rischio k-map utilizzando l'API REST, invia la seguente richiesta GET alla risorsa projects.dlpJobs
. Sostituisci PROJECT_ID con l'ID progetto e JOB_ID con l'identificatore del job per cui vuoi ottenere risultati.
L'ID job è stato restituito quando hai avviato il job e può anche essere recuperato elencando tutti i job.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
La richiesta restituisce un oggetto JSON contenente un'istanza del job. I risultati dell'analisi si trovano all'interno della chiave "riskDetails"
, in un oggetto AnalyzeDataSourceRiskDetails
. Per ulteriori informazioni, consulta il riferimento API per la risorsa DlpJob
.
Passaggi successivi
- Scopri come calcolare il valore k-anonymity per un set di dati.
- Scopri come calcolare il valore l-diversity per un set di dati.
- Scopri come calcolare il valore della presenza di Δ per un set di dati.