La mappa K è molto simile all'anonimità k, tranne per il fatto che presuppone che l'aggressore molto probabilmente non sappia chi è presente nel set di dati. Utilizza la mappatura k se il tuo set di dati è relativamente piccolo o se il livello di impegno necessario per generalizzare gli attributi sarebbe troppo elevato.
Come per l'anonimizzazione k, anche la mappatura k richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, stai indicando quali dati un aggressore utilizzerà molto probabilmente per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore della mappa k richiede un set di dati di reidentificazione: una tabella più grande con cui confrontare le righe del 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 del rischio in generale, consulta l'argomento sui concetti di analisi del rischio prima di continuare.
Prima di iniziare
Prima di continuare, assicurati di aver eseguito quanto segue:
- 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 dei progetti
- Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare che la fatturazione sia attivata per il tuo progetto.
- Attiva Sensitive Data Protection. Abilita Sensitive Data Protection
- Seleziona un set di dati BigQuery da analizzare. La funzionalità Protezione dei dati sensibili stima la metrica mappa k 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 dell'oggetto
KMapEstimationConfig
e i termini e le tecniche di analisi del rischio.
Calcolare le stime della mappa k
Puoi stimare i valori della mappa k utilizzando Sensitive Data Protection, che utilizza un modello statistico per stimare un set di dati di reidentificazione. Ciò è in contrasto con gli altri metodi di analisi del rischio, in cui il set di dati sugli attacchi è esplicitamente conosciuto. 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) oppure esegue l'estrapolazione dalla distribuzione dei valori nel set di dati di input. Per ulteriori informazioni, consulta la pagina di riferimento per l'oggetto KMapEstimationConfig
.
Per calcolare una stima della mappa k utilizzando Sensitive Data Protection, configura prima il job di rischio. Componi 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 specifichi che vuoi calcolare la mappa k specificando un oggettoKMapEstimationConfig
contenente quanto segue:quasiIds[]
: obbligatorio. Campi (oggettiTaggedField
) considerati quasi identificatori da scansionare e utilizzare per calcolare k-map. Non è possibile assegnare lo stesso tag a due colonne. Può trattarsi di uno dei seguenti:- Un infoType: in questo modo, la funzionalità Protezione dei dati sensibili utilizza il set di dati pubblico pertinente come modello statistico della popolazione, inclusi i codici postali, i codici regionali, le età e i generi 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 è indicato alcun tag semantico, specificainferred
. Sensitive Data Protection deducono il modello statistico dalla distribuzione dei valori nei dati di input.
regionCode
: un codice regione ISO 3166-1 alpha-2 da utilizzare nella creazione di modelli statistici per Sensitive Data Protection. Questo valore è obbligatorio se nessuna colonna è contrassegnata 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 in esattamente una colonna di una tabella ausiliaria.
Un oggetto
BigQueryTable
. Specifica la tabella BigQuery da analizzare includendo quanto segue:projectId
: l'ID del progetto contenente la tabella.datasetId
: l'ID set di dati della tabella.tableId
: il nome della tabella.
Un insieme di uno o più
Action
oggetti, che rappresentano le azioni da eseguire, nell'ordine specificato, al completamento del job. Ogni oggettoAction
può contenere una delle seguenti azioni:SaveFindings
Oggetto: salva i risultati della scansione di analisi dei rischi in una tabella BigQuery.PublishToPubSub
Oggetto: pubblica una notifica in un argomento Pub/Sub.
PublishSummaryToCscc
object: salva un riepilogo dei risultati in Security Command Center.PublishFindingsToCloudDataCatalog
Oggetto: salva i risultati in Data Catalog.JobNotificationEmails
object: ti invia un'email con i risultati.PublishToStackdriver
Oggetto: salva i risultati in Google Cloud Observability.
Esempi di codice
Di seguito è riportato codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per calcolare un valore della mappa k.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le 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 autenticarti in Sensitive Data Protection, configura le 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 autenticarti in Sensitive Data Protection, configura le 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 autenticarti in Sensitive Data Protection, configura le 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 autenticarti in Sensitive Data Protection, configura le 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 autenticarti in Sensitive Data Protection, configura le 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 delle mappe k utilizzando l'API REST, invia la seguente richiesta GET alla risorsa projects.dlpJobs
. Sostituisci PROJECT_ID con l'ID del tuo 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ò 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 ulteriori informazioni, consulta il riferimento all'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 l-diversity per un set di dati.
- Scopri come calcolare il valore δ-presence per un set di dati.