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 del selettore di progetti, 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 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.