La k-map è molto simile alla k-anonymity, tranne per il fatto che presuppone che l'aggressore molto probabilmente non sappia chi si trova 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 sarebbe troppo elevato.
Come per la k-anonymity, la k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati un malintenzionato utilizzerà più probabilmente per reidentificare i soggetti. Inoltre, il calcolo di un valore di k-map 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 saperne di più sulla mappa k o sull'analisi del rischio in generale, consulta l'argomento concettuale sull'analisi del rischio prima di continuare.
Prima di iniziare
Prima di continuare, assicurati di aver fatto 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.
- 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 saperne di più, consulta la pagina di riferimento per l'oggetto
KMapEstimationConfig
, nonché Termini e tecniche di analisi del rischio.
Calcola le stime 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. Ciò è in contrasto
con gli altri metodi di analisi del rischio, in cui il set di dati sugli attacchi è 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) 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 k-map utilizzando Sensitive Data Protection, configura prima 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 da quanto segue:
Un oggetto
PrivacyMetric
. Qui specifichi che vuoi calcolare la k-mappa specificando un oggettoKMapEstimationConfig
contenente quanto segue:quasiIds[]
: obbligatorio. Campi (oggettiTaggedField
) considerati quasi-identificatori da scansionare e utilizzare per calcolare la k-map k. 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 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 oggetto
AuxiliaryTable
) che contiene informazioni statistiche sui possibili valori di questa colonna. - Il tag
inferred
: se non è 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 utilizza nella modellazione statistica. Questo valore è obbligatorio se nessuna colonna è taggata 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 quasi identificativa (daquasiIds[]
) deve essere presente in esattamente 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 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 termine del job. Ogni oggettoAction
può contenere una delle seguenti azioni:SaveFindings
object: salva i risultati della scansione di analisi del rischio 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
object: salva i risultati in Data Catalog.JobNotificationEmails
object: Ti invia un'email con i risultati.PublishToStackdriver
object: salva i risultati in Google Cloud Observability.
Esempi di codice
Di seguito è riportato codice campione in diverse lingue che mostra come utilizzare Sensitive Data Protection per calcolare un valore di k-map.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Visualizzazione dei risultati del job di k-map
Per recuperare i risultati del job di analisi del rischio della k-mappa 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 δ-presence per un set di dati.