K-map è molto simile a k-anonymity, tranne per il fatto che presuppone che l' aggressore molto probabilmente non sappia chi è nel set di dati. Utilizza k-map se il tuo set di dati è relativamente piccolo o se il livello di impegno richiesto per generalizzare gli attributi sarebbe troppo elevato.
Come k-anonymity, k-map richiede di determinare quali colonne del tuo database sono quasi-identificatori. In questo modo, indichi quali dati un aggressore utilizzerà molto probabilmente per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore k-map richiede un set di dati di re-identificazione: una tabella più grande con cui confrontare le righe nel set di dati originale.
Questo argomento mostra come calcolare i valori k-map per un set di dati utilizzando Sensitive Data Protection. Per ulteriori informazioni su k-map o sull'analisi dei rischi in generale, consulta l'argomento concettuale sull'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 Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto. Vai al selettore di progetti
- Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto. 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
dataset. Per ulteriori informazioni, consulta la pagina di riferimento per l'
KMapEstimationConfigoggetto, nonché i termini e le tecniche di analisi dei rischi.
Calcolare le stime k-map
Puoi stimare i valori k-map utilizzando Sensitive Data Protection, che utilizza
un modello statistico per stimare un set di dati di re-identificazione. 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 statunitense) o un modello statistico personalizzato (ad esempio, una o più tabelle BigQuery che specifichi) oppure esegue l'estrapolazione dalla distribuzione dei valori nel set di dati di input. Per ulteriori
informazioni, consulta la pagina di riferimento per l'
KMapEstimationConfig
oggetto.
Per calcolare una stima k-map utilizzando Sensitive Data Protection, configura prima il
job di rischio. Crea una richiesta alla
projects.dlpJobs
risorsa, dove PROJECT_ID indica il tuo identificatore
del progetto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
La richiesta contiene un
RiskAnalysisJobConfig
oggetto, composto da quanto segue:
Un
PrivacyMetricoggetto. Qui specifichi che vuoi calcolare k-map specificando unKMapEstimationConfigoggetto contenente quanto segue:quasiIds[]: obbligatorio. Campi (TaggedFieldoggetti) considerati quasi-identificatori da scansionare e utilizzare per calcolare k-map. Due colonne non possono avere lo stesso tag. Questi possono essere 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, codici regione, età e generi degli Stati Uniti.
- Un infoType personalizzato: un tag personalizzato in cui indichi una
tabella ausiliaria (un
AuxiliaryTableoggetto) 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 da utilizzare in Sensitive Data Protection nella modellazione statistica. Questo valore è obbligatorio se nessuna colonna è contrassegnata con un infoType specifico della regione (ad esempio, un codice postale statunitense) o un codice regione.auxiliaryTables[]: tabelle ausiliarie (AuxiliaryTableoggetti) da utilizzare nell'analisi. Ogni tag personalizzato utilizzato per contrassegnare una colonna quasi-identificatore (daquasiIds[]) deve essere presente in una sola colonna di una tabella ausiliaria.
Un
BigQueryTableoggetto. Specifica la tabella BigQuery da scansionare includendo tutti i seguenti elementi:projectId: l'ID progetto del progetto contenente la tabella.datasetId: l'ID set di dati della tabella.tableId: il nome della tabella.
Un insieme di uno o più
Actionoggetti, che rappresentano le azioni da eseguire, nell'ordine specificato, al completamento del job. Ogni oggettoActionpuò contenere una delle seguenti azioni:SaveFindingsoggetto: salva i risultati della scansione di analisi dei rischi in una tabella BigQuery.PublishToPubSuboggetto: pubblica una notifica in un argomento Pub/Sub.
PublishSummaryToCsccoggetto: salva un riepilogo dei risultati in Security Command Center.PublishFindingsToCloudDataCatalogoggetto: salva i risultati in Data Catalog.JobNotificationEmailsoggetto: ti invia un'email con i risultati.PublishToStackdriveroggetto: salva i risultati in Google Cloud Observability.
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 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.
Visualizzare i 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
projects.dlpJobs
risorsa. Sostituisci PROJECT_ID con l'ID progetto e
JOB_ID con l'identificatore del job di 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
AnalyzeDataSourceRiskDetails
oggetto. Per ulteriori informazioni, consulta il riferimento API per la
DlpJob
risorsa.
Passaggi successivi
- Scopri come calcolare il valore _k_ -anonymity per un set di dati.
- Scopri come calcolare il valore _l_ -diversityper un set di dati.
- Scopri come calcolare il δ-presence valore per un set di dati.