La mappa k è molto simile alla k-anonymity, con la differenza che presuppone che l'utente malintenzionato molto probabilmente non sappia chi è presente nel set di dati. Utilizza la mappa k se il tuo set di dati è relativamente piccolo o se il livello di impegno richiesto per generalizzare gli attributi è troppo elevato.
Come per la k-anonymity, la k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, dichiari quali dati un utente malintenzionato utilizzerà molto probabilmente per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore k-map richiede un set di dati di reidentificazione: una tabella più grande con cui confrontare le righe nel set di dati originale.
Questo argomento mostra come calcolare i valori di k-map per un set di dati utilizzando Sensitive Data Protection. Per ulteriori informazioni sulla mappa k o sull'analisi dei rischi in generale, consulta l'argomento relativo ai concetti di analisi dei rischi prima di continuare.
Prima di iniziare
Prima di continuare, assicurati di aver eseguito le seguenti operazioni:
- Accedi al tuo Account Google.
- Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud . Vai al selettore di 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.
- Abilita Sensitive Data Protection. Abilita Sensitive Data Protection
- Seleziona un set di dati BigQuery da analizzare. Sensitive Data Protection stima la metrica k-map eseguendo la scansione di una tabella BigQuery.
- Determina i tipi di set di dati che vuoi utilizzare per modellare il set di dati di attacco. Per ulteriori informazioni, consulta la pagina di riferimento per l'oggetto
KMapEstimationConfig, nonché Termini e tecniche di analisi dei rischi.
Calcola le stime di k-map
Puoi stimare i valori di k-map utilizzando Sensitive Data Protection, che utilizza un modello statistico per stimare un set di dati di reidentificazione. Questo approccio è diverso dagli altri metodi di analisi dei rischi, in cui il set di dati di attacco è noto in modo esplicito. A seconda del tipo di dati, Sensitive Data Protection utilizza set di dati disponibili pubblicamente (ad esempio, dal censimento degli Stati Uniti) o un modello statistico personalizzato (ad esempio, una o più tabelle BigQuery specificate da te) 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 della mappa k utilizzando Sensitive Data Protection, configura innanzitutto il job di rischio. Crea 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 dai seguenti elementi:
Un oggetto
PrivacyMetric. Qui specifichi che vuoi calcolare la mappa k specificando un oggettoKMapEstimationConfigcontenente quanto segue:quasiIds[]: obbligatorio. Campi (oggettiTaggedField) considerati quasi-identificatori da scansionare e utilizzare per calcolare la mappa k. Due colonne non possono avere lo stesso tag. Può trattarsi di uno dei seguenti:- Un infoType: In questo modo, Sensitive Data Protection utilizza il set di dati pubblico pertinente come modello statistico della popolazione, inclusi codici postali degli Stati Uniti, codici regione, età e generi.
- Un infoType personalizzato: un tag personalizzato in cui indichi una tabella ausiliaria (un oggetto
AuxiliaryTable) che contiene 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 che Sensitive Data Protection deve utilizzare nella modellazione statistica. Questo valore è obbligatorio se nessuna colonna è contrassegnata con un infoType specifico per la regione (ad esempio, un codice postale degli Stati Uniti) 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 essere visualizzato 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 progetto 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 oggettoActionpuò contenere una delle seguenti azioni:- Oggetto
SaveFindings: salva i risultati dell'analisi dei rischi in una tabella BigQuery. - Oggetto
PublishToPubSub: pubblica una notifica in un argomento Pub/Sub.
PublishSummaryToCsccoggetto: salva un riepilogo dei risultati in Security Command Center.JobNotificationEmailsoggetto: ti invia un'email con i risultati.PublishToStackdriverobject: salva i risultati in Google Cloud Observability.
- Oggetto
Esempi di codice
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per calcolare un valore di mappa k.
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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Visualizzazione dei risultati del job k-map
Per recuperare i risultati del job di analisi dei rischi 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 i risultati.
L'ID job è stato restituito all'avvio del job e può essere recuperato anche 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 saperne di più, consulta il riferimento API per la risorsa DlpJob.
Passaggi successivi
- Scopri come calcolare il valore di k-anonymity per un set di dati.
- Scopri come calcolare il valore di l-diversity per un set di dati.
- Scopri come calcolare il valore di presenza δ per un set di dati.