K-anonymity è una proprietà di un set di dati che indica la reidentificabilità dei suoi record. Un set di dati è caratterizzato da k-anonymity se i quasi-identificatori per ogni persona nel set di dati sono identici ad almeno k - 1 altre persone nel set di dati.
Puoi calcolare il valore di k-anonymity in base a una o più colonne o campi di un set di dati. Questo argomento mostra come calcolare i valori di k-anonymity per un set di dati utilizzando Sensitive Data Protection. Per saperne di più sulla k-anonimità 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 calcola la metrica di k-anonimato eseguendo la scansione di una tabella BigQuery.
- Determina un identificatore (se applicabile) e almeno un quasi-identificatore nel set di dati. Per saperne di più, consulta Termini e tecniche di analisi dei rischi.
Calcola k-anonymity
Sensitive Data Protection esegue l'analisi dei rischi ogni volta che viene eseguito un job di analisi dei rischi. Devi prima creare il job utilizzando la consoleGoogle Cloud , inviando una richiesta API DLP o utilizzando una libreria client di Sensitive Data Protection.
Console
Nella console Google Cloud , vai alla pagina Crea analisi dei rischi.
Nella sezione Scegli i dati di input, specifica la tabella BigQuery da analizzare inserendo l'ID progetto del progetto contenente la tabella, l'ID set di dati della tabella e il nome della tabella.
In Metrica di privacy da calcolare, seleziona k-anonymity.
Nella sezione ID job, puoi facoltativamente assegnare al job un identificatore personalizzato e selezionare una località delle risorse in cui Sensitive Data Protection elaborerà i tuoi dati. Al termine, fai clic su Continua.
Nella sezione Definisci campi, specifica identificatori e quasi-identificatori per il job di rischio di k-anonimato. Sensitive Data Protection accede ai metadati della tabella BigQuery specificata nel passaggio precedente e tenta di compilare l'elenco dei campi.
- Seleziona la casella di controllo appropriata per specificare un campo come identificatore (ID) o quasi-identificatore (QI). Devi selezionare 0 o 1 identificatore e almeno 1 quasi-identificatore.
- Se Sensitive Data Protection non è in grado di compilare i campi, fai clic su Inserisci nome campo per inserire manualmente uno o più campi e impostare ciascuno come identificatore o quasi-identificatore. Al termine, fai clic su Continua.
Nella sezione Aggiungi azioni, puoi aggiungere azioni facoltative da eseguire al termine del job di rischio. Le opzioni disponibili sono:
- Salva in BigQuery: salva i risultati dell'analisi dei rischi in una tabella BigQuery.
Pubblica in Pub/Sub: pubblica una notifica in un argomento Pub/Sub.
Notifica via email: ti invia un'email con i risultati. Al termine, fai clic su Crea.
Il job di analisi dei rischi di k-anonimato viene avviato immediatamente.
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.
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.
REST
Per eseguire un nuovo job di analisi dei rischi per calcolare la k-anonymity, invia 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 stai calcolando la k-anonymity (k) includendo un oggettoKAnonymityConfig.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:SaveFindingsoggetto: salva i risultati della scansione di analisi dei rischi in una tabella BigQuery.Oggetto
PublishToPubSub: pubblica una notifica in un argomento Pub/Sub.JobNotificationEmailsobject: ti invia un'email con i risultati.
All'interno dell'oggetto
KAnonymityConfig, specifica quanto segue:quasiIds[]: uno o più quasi-identificatori (oggettiFieldId) da scansionare e utilizzare per calcolare la k-anonimato. Quando specifichi più quasi-identificatori, questi vengono considerati come un'unica chiave composita. Gli struct e i tipi di dati ripetuti non sono supportati, ma i campi nidificati sono supportati purché non siano struct o nidificati all'interno di un campo ripetuto.entityId: valore identificatore facoltativo che, se impostato, indica che tutte le righe corrispondenti a ognientityIddistinto devono essere raggruppate per il calcolo della k-anonimato. In genere, unentityIdè una colonna che rappresenta un utente univoco, ad esempio un ID cliente o un ID utente. Quando unentityIdappare su più righe con valori di quasi-identificatore diversi, queste righe verranno unite per formare un multiset che verrà utilizzato come quasi-identificatore per l'entità. Per saperne di più sugli ID entità, consulta ID entità e calcolo della k-anonimato nell'argomento concettuale Analisi dei rischi.
Non appena invii una richiesta all'API DLP, viene avviato il job di analisi dei rischi.
Elenca i job di analisi dei rischi completati
Puoi visualizzare un elenco dei job di analisi dei rischi eseguiti nel progetto attuale.
Console
Per elencare i job di analisi dei rischi in esecuzione e quelli eseguiti in precedenza nella consoleGoogle Cloud , segui questi passaggi:
Nella console Google Cloud , apri Sensitive Data Protection.
Fai clic sulla scheda Job e trigger di job nella parte superiore della pagina.
Fai clic sulla scheda Job a rischio.
Viene visualizzato l'elenco dei job di analisi del rischio.
Protocollo
Per elencare i job di analisi dei rischi in esecuzione e quelli eseguiti in precedenza, invia una richiesta GET alla risorsa projects.dlpJobs. L'aggiunta di un filtro per il tipo di job (?type=RISK_ANALYSIS_JOB) restringe la risposta solo ai job di analisi dei rischi.
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs?type=RISK_ANALYSIS_JOB
La risposta che ricevi contiene una rappresentazione JSON di tutti i job di analisi dei rischi attuali e precedenti.
Visualizza i risultati del job k-anonymity
Sensitive Data Protection nella console Google Cloud dispone di visualizzazioni integrate per i job di k-anonymity completati. Dopo aver seguito le istruzioni della sezione precedente, nell'elenco dei job di analisi dei rischi, seleziona il job per cui vuoi visualizzare i risultati. Supponendo che il job sia stato eseguito correttamente, la parte superiore della pagina Dettagli analisi dei rischi ha il seguente aspetto:

Nella parte superiore della pagina sono riportate le informazioni sul job di rischio di k-anonimato, tra cui l'ID job e, in Container, la posizione della risorsa.
Per visualizzare i risultati del calcolo della k-anonymity, fai clic sulla scheda K-anonymity. Per visualizzare la configurazione del job di analisi dei rischi, fai clic sulla scheda Configurazione.
La scheda K-anonymity elenca innanzitutto l'ID entità (se presente) e i quasi-identificatori utilizzati per calcolare la k-anonymity.
Grafico dei rischi
Il grafico Rischio di reidentificazione traccia, sull'asse y, la percentuale potenziale di perdita di dati sia per le righe univoche sia per le combinazioni di quasi-identificatori univoci per ottenere, sull'asse x, un valore di k-anonymity. Anche il colore del grafico indica il potenziale di rischio. Le tonalità di blu più scure indicano un rischio maggiore, mentre quelle più chiare indicano un rischio minore.
Valori di k-anonymity più elevati indicano un rischio inferiore di reidentificazione. Tuttavia, per ottenere valori di k-anonymity più elevati, dovresti rimuovere percentuali più elevate di righe totali e combinazioni univoche di quasi-identificatori più elevate, il che potrebbe ridurre l'utilità dei dati. Per visualizzare un valore specifico della percentuale di perdita potenziale per un determinato valore di k-anonymity, passa il cursore sopra il grafico. Come mostrato nello screenshot, nel grafico viene visualizzato un tooltip.
Per visualizzare maggiori dettagli su un valore di k-anonymity specifico, fai clic sul punto dati corrispondente. Sotto il grafico viene visualizzata una spiegazione dettagliata e più in basso nella pagina viene visualizzata una tabella di dati campionati di esempio.
Tabella dati campionati per il rischio
Il secondo componente della pagina dei risultati del job di analisi del rischio è la tabella dei dati campionati. Mostra le combinazioni di quasi-identificatori per un determinato valore di k-anonymity k target.

La prima colonna della tabella elenca i valori di k-anonymity. Fai clic su un valore di k-anonymity per visualizzare i dati campionati corrispondenti che dovrebbero essere eliminati per ottenere quel valore.
La seconda colonna mostra la potenziale perdita di dati corrispondente di righe uniche e combinazioni di quasi-identificatori, nonché il numero di gruppi con almeno k record e il numero totale di record.
L'ultima colonna mostra un campione di gruppi che condividono una combinazione di quasi-identificatori, insieme al numero di record esistenti per quella combinazione.
Recupera i dettagli del job utilizzando REST
Per recuperare i risultati del job di analisi dei rischi di k-anonimato 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.
Esempio di codice: calcolo di k-anonymity con un ID entità
Questo esempio crea un job di analisi dei rischi che calcola la k-anonymity con un ID entità.
Per saperne di più sugli ID entità, consulta ID entità e calcolo della k-anonimato.
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.
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.
Passaggi successivi
- Scopri come calcolare il valore di l-diversity per un set di dati.
- Scopri come calcolare il valore della mappa k per un set di dati.
- Scopri come calcolare il valore di presenza δ per un set di dati.