K-anonymity è una proprietà di un set di dati che indica la reidentificabilità dei suoi record. Un set di dati è k-anonymous se i quasi-identificatori per ogni persona nel set di dati sono identici ad almeno k - 1 altre persone presenti nel set di dati.
Puoi calcolare il valore di k-anonimità in base a una o più colonne o campi di un set di dati. Questo argomento mostra come calcolare i valori di k-anonimità per un set di dati utilizzando Sensitive Data Protection. Per ulteriori informazioni sull'anonimizzazione k o sull'analisi del rischio in generale, consulta l'argomento relativo al concetto 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 calcola la metrica di anonimizzazione k eseguendo la scansione di una tabella BigQuery.
- Determina un identificatore (se applicabile) e almeno un quasi-identificatore nel set di dati. Per ulteriori informazioni, consulta Termini e tecniche di analisi del rischio.
Calcolare k-anonymity
Sensitive Data Protection esegue l'analisi del rischio ogni volta che viene eseguito un job di analisi del rischio. Devi prima creare il job utilizzando la console Google Cloud, inviando una richiesta all'API DLP o utilizzando una libreria client 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 Anonymity k.
Nella sezione ID job, puoi facoltativamente assegnare al job un identificatore personalizzato e selezionare una posizione della risorsa 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 relativo al rischio di anonimato k. 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 identificatori e almeno 1 quasi-identificatore.
- Se la funzionalità Protezione dei dati sensibili non è in grado di compilare i campi, fai clic su Inserisci il nome del campo per inserire manualmente uno o più campi e impostarli ciascuno come identificativo 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 della scansione di analisi del rischio in una tabella BigQuery.
Pubblica in Pub/Sub: pubblica una notifica in un argomento Pub/Sub.
Invia una notifica via email: ti invia un'email con i risultati. Al termine, fai clic su Crea.
Il job di analisi del rischio di k-anonimizzazione si avvia immediatamente.
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.
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.
REST
Per eseguire un nuovo job di analisi del rischio per calcolare l'anonimizzazione K, 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 da quanto segue:
Un oggetto
PrivacyMetric
. Qui specifichi che stai calcolando l'anonimità k includendo un oggettoKAnonymityConfig
.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.JobNotificationEmails
object: ti invia un'email con i risultati.
All'interno dell'oggetto
KAnonymityConfig
specifica quanto segue:quasiIds[]
: uno o più quasi-identificatori (oggettiFieldId
) da analizzare e utilizzare per calcolare l'anonimato k. Quando specifichi più quasi-identificatori, vengono considerati come una singola chiave composta. I tipi di dati ripetuti e di struct non sono supportati, ma i campi nidificati sono supportati a condizione che non siano struct o nidificati all'interno di un campo ripetuto.entityId
: valore dell'identificatore facoltativo che, se impostato, indica che tutte le righe corrispondenti a ognientityId
distinto devono essere raggruppate per il calcolo dell'anonimizzazione k. In genere, unentityId
sarà una colonna che rappresenta un utente univoco, ad esempio un ID cliente o un ID utente. Quando unentityId
viene visualizzato in più righe con valori di quasi-identificatori diversi, queste righe vengono unite per formare un multiset che verrà utilizzato come quasi-identificatori per l'entità. Per saperne di più sugli ID entità, consulta ID entità e calcolo della k-anonimity nell'argomento concettuale Analisi del rischio.
Non appena invii una richiesta all'API DLP, viene avviato il job di analisi del rischio.
Elenca i job di analisi del rischio completati
Puoi visualizzare un elenco dei job di analisi dei rischi eseguiti nel progetto corrente.
Console
Per elencare i job di analisi dei rischi in esecuzione e quelli eseguiti in precedenza nella console Google Cloud, segui questi passaggi:
Nella console Google Cloud, apri Sensitive Data Protection.
Fai clic sulla scheda Job e attivatori dei job nella parte superiore della pagina.
Fai clic sulla scheda Job a rischio.
Viene visualizzata l'offerta di lavoro con 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 tipo di job (?type=RISK_ANALYSIS_JOB
) restringe la risposta ai soli job di analisi del rischio.
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 del rischio attuali e precedenti.
Visualizzare i risultati del job di k-anonymity
Sensitive Data Protection nella console Google Cloud include visualizzazioni integrate per i job di anonimizzazione k completati. Dopo aver seguito le istruzioni riportate nella sezione precedente, seleziona il job per cui vuoi visualizzare i risultati dall'elenco dei job di analisi dei rischi. Se il job è stato eseguito correttamente, la parte superiore della pagina Dettagli analisi del rischio ha il seguente aspetto:
Nella parte superiore della pagina sono riportate le informazioni sul job relativo al rischio di anonimato k, incluso il relativo ID e, in Contenitore, la posizione della risorsa.
Per visualizzare i risultati del calcolo di 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 Anonimizzazione K elenca innanzitutto l'ID entità (se presente) e i quasi-identificatori utilizzati per calcolare l'anonimizzazione k.
Grafico dei rischi
Il grafico Rischio di reidentificazione indica sull'asse y la potenziale percentuale 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 anonimizzazione k. Anche il colore del grafico indica il potenziale rischio. Le tonalità di blu più scure indicano un rischio maggiore, mentre quelle più chiare indicano un rischio minore.
Valori di k-anonimità più elevati indicano un rischio inferiore di reidentificazione. Tuttavia, per ottenere valori di k-anonimità più elevati, devi rimuovere percentuali più elevate di righe totali e combinazioni di quasi-identificatori univoci più elevate, il che potrebbe ridurre l'utilità dei dati. Per visualizzare un valore specifico della potenziale perdita percentuale per un determinato valore di k-anonimità, passa il cursore sopra il grafico. Come mostrato nello screenshot, nel grafico viene visualizzata una descrizione comando.
Per visualizzare ulteriori dettagli su un valore k-anonymity specifico, fai clic sul corrispondente punto dati. Sotto il grafico viene visualizzata una spiegazione dettagliata e più in basso nella pagina viene visualizzata una tabella di dati di esempio.
Tabella dei dati di esempio del rischio
Il secondo componente della pagina dei risultati del job di analisi del rischio è la tabella di dati di esempio. Mostra le combinazioni di quasi-identificatori per un determinato valore di k-anonymity di destinazione.
La prima colonna della tabella elenca i valori di k-anonimità. Fai clic su un valore di k-anonimità per visualizzare i dati di esempio corrispondenti che devono essere eliminati per ottenere quel valore.
La seconda colonna mostra la rispettiva potenziale perdita di dati delle righe univoche e delle 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.
Recuperare i dettagli del job utilizzando REST
Per recuperare i risultati del job di analisi del rischio di anonimizzazione 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 i 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
.
Esempio di codice: calcolo per k-anonymity con un ID entità
Questo esempio crea un job di analisi del rischio che calcola l'anonimizzazione k con un ID entità.
Per saperne di più sugli ID entità, consulta ID entità e calcolo dell'anonimizzazione k.
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.
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.
Passaggi successivi
- Scopri come calcolare il valore l-diversity per un set di dati.
- Scopri come calcolare il valore della k-map per un set di dati.
- Scopri come calcolare il valore δ-presence per un set di dati.