La corretta gestione dei dati sensibili archiviati in un repository di archiviazione inizia con la classificazione dell'archiviazione: identificare dove si trovano i dati sensibili nel repository, il tipo di dati sensibili e come vengono utilizzati. Queste conoscenze possono aiutarti a impostare correttamente controllo dell'accesso'accesso e le autorizzazioni di condivisione e possono far parte di un piano di monitoraggio continuo.
Sensitive Data Protection può rilevare e classificare i dati sensibili archiviati in una posizione Cloud Storage, in un tipo Datastore o in una tabella BigQuery. Durante la scansione dei file nelle località di Cloud Storage, Sensitive Data Protection supporta la scansione di file binari, di testo, di immagini, Microsoft Word, Microsoft Excel, Microsoft PowerPoint, PDF e Apache Avro. I file di tipi non riconosciuti vengono scansionati come file binari. Per saperne di più sui tipi di file supportati, consulta Tipi di file supportati.
Per ispezionare lo spazio di archiviazione e i database alla ricerca di dati sensibili, devi specificare la posizione dei dati e il tipo di dati sensibili che Sensitive Data Protection deve cercare. Sensitive Data Protection avvia un job che esamina i dati nella posizione specificata e poi rende disponibili i dettagli sugli infoTypes trovati nei contenuti, sui valori di probabilità e altro ancora.
Puoi configurare l'ispezione di archiviazione e database utilizzando Sensitive Data Protection nella console Google Cloud , tramite l'API DLP RESTful o in modo programmatico utilizzando una libreria client di Sensitive Data Protection in uno dei diversi linguaggi.
Questo argomento include:
- Best practice per la configurazione delle scansioni dei repository di archiviazione e dei database Google Cloud .
- Istruzioni per configurare una scansione per l'ispezione utilizzando Sensitive Data Protection nella console Google Cloud e (facoltativamente) per pianificare scansioni per l'ispezione periodiche ripetute.
- Esempi di codice e JSON per ogni tipo di repository di archiviazione Google Cloud : (Cloud Storage, Firestore in modalità Datastore (Datastore) e BigQuery).
- Una panoramica dettagliata delle opzioni di configurazione per i job di scansione.
- Istruzioni su come recuperare i risultati della scansione e come gestire i job di scansione creati da ogni richiesta riuscita.
Best practice
Identificare e dare la priorità alla scansione
È importante valutare prima gli asset e specificare quelli con la priorità più alta per la scansione. Quando inizi, potresti avere un grande backlog di dati che devono essere classificati e sarà impossibile scansionarli tutti immediatamente. Scegli inizialmente i dati che presentano il rischio potenziale più elevato, ad esempio i dati a cui si accede di frequente, ampiamente accessibili o sconosciuti.
Assicurati che Sensitive Data Protection possa accedere ai tuoi dati
Sensitive Data Protection deve essere in grado di accedere ai dati da scansionare. Assicurati che il service account di Sensitive Data Protection sia autorizzato a leggere le tue risorse.
Limitare l'ambito delle prime scansioni
Per ottenere risultati ottimali, limita l'ambito dei primi job anziché scansionare tutti i dati. Inizia con una tabella, un bucket o alcuni file e utilizza il campionamento. Limitando l'ambito delle prime scansioni, puoi determinare meglio quali rilevatori attivare e quali regole di esclusione potrebbero essere necessarie per ridurre i falsi positivi, in modo che i risultati siano più significativi. Evita di attivare tutti gli infoType se non ne hai bisogno, poiché i falsi positivi o i risultati inutilizzabili potrebbero rendere più difficile la valutazione del rischio. Sebbene siano utili in determinati scenari, gli infoType come DATE, TIME, DOMAIN_NAME e URL corrispondono a un'ampia gamma di risultati e potrebbe non essere utile attivarli per scansioni di dati di grandi dimensioni.
Quando campioni un file strutturato, ad esempio un file CSV, TSV o Avro, assicurati che le dimensioni del campione siano sufficienti per coprire l'intestazione completa del file e una riga di dati. Per saperne di più, consulta Scansione di file strutturati in modalità di analisi strutturata.
Pianifica le scansioni
Utilizza i trigger di job di Sensitive Data Protection per eseguire automaticamente scansioni e generare risultati su base giornaliera, settimanale o trimestrale. Queste scansioni possono anche essere configurate per ispezionare solo i dati che sono cambiati dall'ultima scansione, il che può far risparmiare tempo e ridurre i costi. L'esecuzione regolare di scansioni può aiutarti a identificare tendenze o anomalie nei risultati.
Latenza del job
Non sono previsti obiettivi del livello di servizio (SLO) garantiti per i job e i trigger dei job. La latenza è influenzata da diversi fattori, tra cui la quantità di dati da scansionare, il repository di archiviazione sottoposto a scansione, il tipo e il numero di infoType per cui stai eseguendo la scansione, la regione in cui viene elaborato il job e le risorse di computing disponibili in quella regione. Pertanto, la latenza dei job di ispezione non può essere determinata in anticipo.
Per ridurre la latenza dei job, puoi provare a:
- Se il campionamento è disponibile per il job o il trigger di job, attivalo.
Evita di attivare i tipi di informazioni che non ti servono. Sebbene i seguenti siano utili in determinati scenari, questi infoType possono rallentare notevolmente l'esecuzione delle richieste rispetto a quelle che non li includono:
PERSON_NAMEFEMALE_NAMEMALE_NAMEFIRST_NAMELAST_NAMEDATE_OF_BIRTHLOCATIONSTREET_ADDRESSORGANIZATION_NAME
Specifica sempre gli infoType in modo esplicito. Non utilizzare un elenco infoType vuoto.
Se possibile, utilizza un'altra regione di elaborazione.
Se i problemi di latenza con i job persistono dopo aver provato queste tecniche,
valuta la possibilità di utilizzare
richieste
content.inspect o
content.deidentify
anziché job. Questi metodi sono coperti dall'accordo sul livello del servizio. Per saperne di più, consulta l'Accordo sul livello del servizio Sensitive Data
Protection.
Prima di iniziare
Le istruzioni fornite in questo argomento presuppongono quanto segue:
Hai abilitato la fatturazione.
Hai attivato Sensitive Data Protection.
La classificazione dello spazio di archiviazione richiede il seguente ambito OAuth:
https://www.googleapis.com/auth/cloud-platform. Per saperne di più, consulta Autenticazione nell'API DLP.
Ispeziona una località di Cloud Storage
Puoi configurare un'ispezione di Sensitive Data Protection di una posizione Cloud Storage utilizzando la console Google Cloud , l'API DLP tramite richieste REST o RPC oppure in modo programmatico in diversi linguaggi utilizzando una libreria client. Per informazioni sui parametri inclusi negli esempi di codice e JSON riportati di seguito, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.
Sensitive Data Protection si basa sulle estensioni dei file e sui tipi MIME per identificare i tipi di file da scansionare e le modalità di scansione da applicare. Ad esempio, Sensitive Data Protection scansiona un file .txt in modalità testo normale, anche se il file è strutturato come un file CSV, che normalmente viene scansionato in modalità di analisi strutturata.
Per configurare un job di scansione di un bucket Cloud Storage utilizzando Sensitive Data Protection:
Console
Questa sezione descrive come ispezionare un bucket Cloud Storage o una cartella. Se vuoi che Sensitive Data Protection crei anche una copia anonimizzata dei tuoi dati, consulta Anonimizza i dati sensibili archiviati in Cloud Storage utilizzando la Google Cloud console.
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, assegna un nome al job inserendo un valore nel campo Nome. In Località, scegli Cloud Storage dal menu Tipo di spazio di archiviazione, quindi inserisci la località dei dati da scansionare. La sezione Campionamento è preconfigurata per eseguire una scansione di esempio sui tuoi dati. Puoi modificare il campo Percentuale di oggetti scansionati nel bucket per risparmiare risorse se hai una grande quantità di dati. Per maggiori dettagli, consulta Scegli i dati di input.
(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti o selezionare un modello, se esistente. Per maggiori dettagli, consulta Configura il rilevamento.
Per Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Abilita le azioni di ispezione o analisi del rischio.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, per eseguire l'analisi una sola volta, lascia il menu impostato su Nessuna. Per pianificare l'esecuzione periodica delle scansioni, fai clic su Crea un trigger per eseguire il job su base periodica. Per maggiori dettagli, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST di Sensitive Data Protection specificato. Questo esempio JSON mostra come utilizzare l'API DLP per ispezionare i bucket Cloud Storage. Per informazioni sui parametri inclusi nella richiesta, vedi "Configurare l'ispezione dell'archiviazione" più avanti in questo argomento.
Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per content.inspect:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, consulta "Recupera i risultati dell'ispezione" più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida a JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]"
}
}
}
}
]
}
}
Output JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"minLikelihood":"LIKELY",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[NEW-TABLE-ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-07T18:01:14.225Z"
}
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.
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.
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.
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.
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.
Ispeziona un tipo di Datastore
Puoi configurare un'ispezione di un tipo di Datastore utilizzando la consoleGoogle Cloud , l'API DLP tramite richieste REST o RPC oppure in modo programmatico in diversi linguaggi utilizzando una libreria client.
Per configurare un job di scansione di un tipo Datastore utilizzando Sensitive Data Protection:
Console
Per configurare un job di scansione di un tipo di Datastore utilizzando Sensitive Data Protection:
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, inserisci gli identificatori per il progetto, lo spazio dei nomi (facoltativo) e il tipo di cui vuoi eseguire la scansione. Per maggiori dettagli, consulta Scegli i dati di input.
(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti o selezionare un modello, se esistente. Per maggiori dettagli, vedi Configurare il rilevamento.
In Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Abilita le azioni di ispezione o analisi del rischio.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, configura un intervallo di tempo o una pianificazione selezionando Specifica intervallo di tempo o Crea un trigger per eseguire il job su base periodica. Per saperne di più, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST dell'API DLP specificato. Questo JSON di esempio mostra come utilizzare l'API DLP per esaminare i tipi di Datastore. Per informazioni sui parametri inclusi nella richiesta, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.
Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per dlpJobs.create:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, vedi Recuperare i risultati dell'ispezione più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida di JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"Example-Kind"
},
"partitionId":{
"namespaceId":"[NAMESPACE-ID]",
"projectId":"[PROJECT-ID]"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
}
}
}
]
}
}
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.
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.
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.
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.
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.
Ispeziona una tabella BigQuery
Puoi configurare un'ispezione di una tabella BigQuery utilizzando Sensitive Data Protection tramite richieste REST o in modo programmatico in diverse lingue utilizzando una libreria client.
Per configurare un job di scansione di una tabella BigQuery utilizzando Sensitive Data Protection:
Console
Per configurare un job di scansione di una tabella BigQuery utilizzando Sensitive Data Protection:
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, assegna un nome al job inserendo un valore nel campo Nome. In Località, scegli BigQuery dal menu Tipo di archiviazione, quindi inserisci le informazioni per la tabella da analizzare.
La sezione Campionamento è preconfigurata per eseguire una scansione di esempio sui tuoi dati. Puoi modificare i campi Limita righe per e Numero massimo di righe per risparmiare risorse se hai una grande quantità di dati. Per maggiori dettagli, consulta Scegli i dati di input.
(Facoltativo) Se vuoi poter collegare ogni risultato alla riga che lo contiene, imposta il campo Campi identificativi.
Inserisci i nomi delle colonne che identificano in modo univoco ogni riga all'interno della tabella. Se necessario, utilizza la notazione con il punto per specificare i campi nidificati. Puoi aggiungere tutti i campi che vuoi.
Devi anche attivare l'azione Salva in BigQuery per esportare i risultati in BigQuery. Quando i risultati vengono esportati in BigQuery, ogni risultato contiene i rispettivi valori dei campi identificativi. Per saperne di più, consulta
identifyingFields.(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti oppure selezionare un modello, se esistente. Per maggiori dettagli, vedi Configurare il rilevamento.
Per Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Attivare le azioni di ispezione o analisi del rischio.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, per eseguire l'analisi una sola volta, lascia il menu impostato su Nessuna. Per pianificare l'esecuzione periodica delle scansioni, fai clic su Crea un trigger per eseguire il job su base periodica. Per maggiori dettagli, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST dell'API DLP specificato. Questo esempio JSON mostra come utilizzare l'API DLP per ispezionare le tabelle BigQuery. Per informazioni sui parametri inclusi nella richiesta, vedi "Configurare l'ispezione dell'archiviazione", più avanti in questo argomento.Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per dlpJobs.create:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, vedi "Recuperare i risultati dell'ispezione", più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida a JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"identifyingFields":[
{
"name":"id"
}
]
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z ",
"endTime":"2018-01-05T04:45:04.240912125Z "
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
}
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.
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.
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.
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.
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.
Configura l'ispezione dello spazio di archiviazione
Per ispezionare una posizione Cloud Storage, un tipo Datastore o una tabella BigQuery, invia una richiesta al metodo projects.dlpJobs.create dell'API DLP che contenga almeno la posizione dei dati da analizzare e cosa cercare. Oltre a questi parametri obbligatori, puoi anche specificare dove scrivere i risultati della scansione, le soglie di dimensione e probabilità e altro ancora. Una richiesta riuscita comporta la creazione di un'istanza dell'oggetto DlpJob, descritta in "Recupera i risultati dell'ispezione".
Di seguito sono riepilogate le opzioni di configurazione disponibili:
InspectJobConfigoggetto: contiene le informazioni di configurazione per il job di ispezione. Tieni presente che l'oggettoInspectJobConfigviene utilizzato anche dall'oggettoJobTriggersper pianificare la creazione diDlpJob. Questo oggetto include:StorageConfigoggetto: obbligatorio. Contiene i dettagli del repository di archiviazione da scansionare:Nell'oggetto
StorageConfigdeve essere incluso uno dei seguenti elementi, a seconda del tipo di repository di archiviazione sottoposto a scansione:CloudStorageOptionsoggetto: contiene informazioni sul bucket Cloud Storage da scansionare.DatastoreOptionsoggetto: contiene informazioni sul set di dati Datastore da scansionare.BigQueryOptionsobject: Contains information about the BigQuery table (and, optionally, identifying fields) to scan. Questo oggetto consente anche il campionamento dei risultati. Per saperne di più, consulta Attiva il campionamento dei risultati di seguito.TimespanConfigobject: facoltativo. Specifica il periodo di tempo degli elementi da includere nell'analisi.
InspectConfigobject: obbligatorio. Specifica cosa cercare, ad esempio i valori di infoTypes e probabilità.- Oggetti
InfoType: obbligatorio. Uno o più valori infoType da cercare. Likelihoodenumerazione: facoltativo. Se impostato, Sensitive Data Protection restituirà solo i risultati uguali o superiori a questa soglia di probabilità. Se questo enum viene omesso, il valore predefinito èPOSSIBLE.FindingLimitsobject: facoltativo. Se impostato, questo oggetto consente di specificare un limite per il numero di risultati restituiti.- Parametro
includeQuote: facoltativo. Il valore predefinito èfalse. Se impostato sutrue, ogni risultato includerà una citazione contestuale dei dati che lo hanno attivato. - Parametro
excludeInfoTypes: facoltativo. Il valore predefinito èfalse. Se impostato sutrue, i risultati della scansione escluderanno le informazioni sul tipo per i risultati. - Oggetti
CustomInfoType: uno o più infoType personalizzati creati dall'utente. Per saperne di più sulla creazione di infoType personalizzati, consulta Creazione di rilevatori di infoType personalizzati.
- Oggetti
Stringa
inspectTemplateName: facoltativo. Specifica un modello da utilizzare per compilare i valori predefiniti nell'oggettoInspectConfig. Se hai già specificatoInspectConfig, i valori del template verranno uniti.Actionobjects: facoltativo. Una o più azioni da eseguire al completamento del job. Ogni azione viene eseguita nell'ordine in cui è elencata. Qui puoi specificare dove scrivere i risultati o se pubblicare una notifica in un argomento Pub/Sub.
jobId: (Facoltativo) Un identificatore del job restituito da Sensitive Data Protection. SejobIdviene omesso o è vuoto, il sistema crea un ID per il job. Se specificato, al job viene assegnato questo valore ID. L'ID job deve essere univoco e può contenere lettere maiuscole e minuscole, numeri e trattini, ovvero deve corrispondere alla seguente espressione regolare:[a-zA-Z\\d-]+.
Limita la quantità di contenuti ispezionati
Se esegui la scansione di tabelle BigQuery o bucket Cloud Storage, Sensitive Data Protection include un modo per eseguire la scansione di un sottoinsieme del set di dati. In questo modo, viene fornito un campione dei risultati della scansione senza incorrere nei potenziali costi di scansione di un intero set di dati.
Le sezioni seguenti contengono informazioni sulla limitazione delle dimensioni delle scansioni di Cloud Storage e delle scansioni di BigQuery.
Limita le scansioni di Cloud Storage
Puoi attivare il campionamento in Cloud Storage limitando la quantità di dati scansionati. Puoi indicare all'API DLP di eseguire la scansione
solo dei file di una determinata dimensione, solo di determinati tipi di file e solo di una determinata
percentuale del numero totale di file nel set di file di input. Per farlo, specifica i seguenti campi facoltativi all'interno di CloudStorageOptions:
bytesLimitPerFile: imposta il numero massimo di byte da analizzare da un file. Se le dimensioni di un file scansionato sono superiori a questo valore, i byte rimanenti vengono omessi. L'impostazione di questo campo non ha alcun effetto su determinati tipi di file. Per saperne di più, consulta Limiti per i byte scansionati per file.fileTypes[]: elenca iFileTypesda includere nell'analisi. Può essere impostato su uno o più dei seguenti tipi enumerati.filesLimitPercent: limita il numero di file da scansionare alla percentuale specificata dell'inputFileSet. Se specifichi0o100qui, significa che non esiste un limite.sampleMethod: come campionare i byte se non vengono scansionati tutti i byte. La specifica di questo valore è significativa solo se utilizzata in combinazione conbytesLimitPerFile. Se non specificato, la scansione inizia dall'alto. Questo campo può essere impostato su uno dei due valori:TOP: la scansione inizia dall'alto.RANDOM_START: per ogni file più grande delle dimensioni specificate inbytesLimitPerFile, scegli in modo casuale l'offset da cui iniziare la scansione. I byte scansionati sono contigui.
Gli esempi seguenti mostrano l'utilizzo dell'API DLP per scansionare un sottoinsieme del 90% di un bucket Cloud Storage alla ricerca di nomi di persone. La scansione inizia da una posizione casuale nel set di dati e include solo file di testo di dimensioni inferiori a 200 byte.
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
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"filesLimitPercent":90,
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"excludeInfoTypes":true,
"includeQuote":true,
"minLikelihood":"POSSIBLE"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Dopo aver inviato l'input JSON in una richiesta POST all'endpoint specificato, viene creato un job di Sensitive Data Protection e l'API invia la seguente risposta.
Output JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"sampleMethod":"TOP",
"filesLimitPercent":90
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true,
"excludeInfoTypes":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[TABLE-ID]"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-30T22:22:08.279Z"
}
Limita le scansioni di BigQuery
Per attivare il campionamento in BigQuery limitando la quantità di
dati analizzati, specifica i seguenti campi facoltativi all'interno di
BigQueryOptions:
rowsLimit: il numero massimo di righe da analizzare. Se la tabella ha più righe di questo valore, le righe rimanenti vengono omesse. Se non viene impostato o se viene impostato su 0, verranno analizzate tutte le righe.rowsLimitPercent: la percentuale massima di righe da scansionare (compresa tra 0 e 100). Le righe rimanenti vengono omesse. Se imposti questo valore su 0 o 100, non viene applicato alcun limite. Il valore predefinito è 0. È possibile specificare solo uno dei due valori:rowsLimiterowsLimitPercent.sampleMethod: come campionare le righe se non vengono analizzate tutte. Se non specificato, la scansione inizia dall'alto. Questo campo può essere impostato su uno dei due valori seguenti:TOP: la scansione inizia dall'alto.RANDOM_START: la scansione inizia da una riga selezionata in modo casuale.
excludedFields: campi della tabella che identificano in modo univoco le colonne da escludere dalla lettura. In questo modo, puoi ridurre la quantità di dati scansionati e il costo complessivo di un job di ispezione.includedFields: campi della tabella che identificano in modo univoco righe specifiche all'interno della tabella da scansionare.
Un'altra funzionalità utile per limitare i dati analizzati, in particolare durante l'analisi di tabelle partizionate, è TimespanConfig.
TimespanConfig consente di filtrare le righe della tabella BigQuery fornendo i valori di ora di inizio e di fine per definire un periodo di tempo. Sensitive Data Protection
esegue la scansione solo delle righe che contengono un timestamp all'interno di questo intervallo di tempo.
I seguenti esempi mostrano l'utilizzo dell'API DLP per scansionare un sottoinsieme di 1000 righe di una tabella BigQuery. La scansione inizia da una riga casuale.
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.
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.
REST
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START",
"includedFields":[
{
"name":"name"
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Dopo aver inviato l'input JSON in una richiesta POST all'endpoint specificato, viene creato un job di Sensitive Data Protection e l'API invia la seguente risposta.
Output JSON:
{
"name": "projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "bigquery-public-data",
"datasetId": "usa_names",
"tableId": "usa_1910_current"
},
"rowsLimit": "1000",
"sampleMethod": "RANDOM_START",
"includedFields": [
{
"name": "name"
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "FIRST_NAME"
}
],
"limits": {},
"includeQuote": true
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "[PROJECT-ID]",
"datasetId": "[DATASET-ID]",
"tableId": "bqsample"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
},
"result": {}
},
"createTime": "2022-11-04T18:53:48.350Z"
}
Al termine dell'esecuzione del job di ispezione e dopo che i risultati sono stati elaborati da BigQuery, i risultati della scansione sono disponibili nella tabella di output BigQuery specificata. Per saperne di più sul recupero dei risultati dell'ispezione, consulta la sezione successiva.
Recuperare i risultati dell'ispezione
Puoi recuperare un riepilogo di un
DlpJob utilizzando il metodo
projects.dlpJobs.get. L'DlpJob restituito include l'oggetto
InspectDataSourceDetails, che contiene sia un riepilogo della configurazione del job
(RequestedOptions)
sia un riepilogo del risultato del job
(Result).
Il riepilogo del risultato include:
processedBytes: la dimensione totale in byte che è stata elaborata.totalEstimatedBytes: stima del numero di byte rimanenti da elaborare.InfoTypeStatisticsobject: Statistiche sul numero di istanze di ogni infoType trovate durante il job di ispezione.
Per i risultati completi del job di ispezione, hai diverse opzioni. A seconda del
Action
che hai scelto, i job di ispezione sono:
- Salvati in BigQuery (l'oggetto
SaveFindings) nella tabella specificata. Prima di visualizzare o analizzare i risultati, assicurati che il job sia stato completato utilizzando il metodoprojects.dlpJobs.get, descritto di seguito. Tieni presente che puoi specificare uno schema per l'archiviazione dei risultati utilizzando l'oggettoOutputSchema. - Pubblicato in un argomento Pub/Sub (l'oggetto
PublishToPubSub). L'argomento deve aver concesso i diritti di accesso alla pubblicazione al account di servizio di Sensitive Data Protection che esegue l'invio delle notificheDlpJob. - Pubblicato su Security Command Center.
- Pubblicate su Cloud Monitoring.
Per aiutarti a esaminare grandi quantità di dati generati da Sensitive Data Protection, puoi utilizzare gli strumenti BigQuery integrati per eseguire analisi SQL avanzate o strumenti come Data Studio per generare report. Per ulteriori informazioni, consulta Analisi e report sui risultati di Sensitive Data Protection. Per alcuni esempi di query, consulta Esecuzione di query sui risultati in BigQuery.
L'invio di una richiesta di ispezione del repository di archiviazione a Sensitive Data Protection crea ed esegue un'istanza dell'oggetto DlpJob in risposta. L'esecuzione di questi job può richiedere secondi, minuti o ore, a seconda delle dimensioni dei dati e della configurazione specificata. Se scegli di pubblicare in un argomento Pub/Sub (specificando PublishToPubSub in Action), le notifiche vengono inviate automaticamente all'argomento con il nome specificato quando lo stato del job cambia. Il nome dell'argomento Pub/Sub è specificato nel formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME].
Hai il pieno controllo dei job che crei, inclusi i seguenti metodi di gestione:
- Metodo
projects.dlpJobs.cancel: interrompe un job attualmente in corso. Il server fa il possibile per annullare il job, ma la riuscita non è garantita. Il job e la sua configurazione rimarranno fino a quando non li eliminerai (con . - Metodo
projects.dlpJobs.delete: elimina un job e la relativa configurazione. - Metodo
projects.dlpJobs.get: recupera un singolo job e ne restituisce lo stato, la configurazione e, se il job è terminato, i risultati riepilogativi. - Metodo
projects.dlpJobs.list: recupera un elenco di tutti i job e include la possibilità di filtrare i risultati.
Passaggi successivi
- Scopri di più sulla creazione di job di ispezione dell'archiviazione. Consulta Creazione e pianificazione di job di ispezione di Sensitive Data Protection.
- Scopri di più sulla creazione di una copia anonimizzata dei dati nello spazio di archiviazione.
- Scopri di più sui tipi di file supportati durante l'ispezione dei bucket Cloud Storage, consulta Tipi di file supportati.