Questo argomento illustra le tecniche o trasformazioni di anonimizzazione disponibili in Sensitive Data Protection.
Tipi di tecniche di anonimizzazione
La scelta della trasformazione di anonimizzazione che vuoi utilizzare dipende dal tipo di dati che vuoi anonimizzare e dallo scopo per cui vuoi anonimizzare i dati. Le tecniche di anonimizzazione supportate da Sensitive Data Protection rientrano nelle seguenti categorie generali:
- Oscuramento: elimina tutto o parte di un valore sensibile rilevato.
- Sostituzione: sostituisce un valore sensibile rilevato con un valore surrogato specificato.
- Mascheramento: sostituisce un numero di caratteri di un valore sensibile con un carattere surrogato specificato, ad esempio un cancelletto (#) o un asterisco (*).
- Tokenizzazione basata su criptovalute: cripta il valore dei dati sensibili originale utilizzando una chiave di crittografia. Sensitive Data Protection supporta diversi tipi di tokenizzazione, incluse trasformazioni che possono essere annullate o "riidentificate".
- Bucketing: "generalizza" un valore sensibile sostituendolo con un intervallo di valori. ad esempio sostituendo una specifica età con una fascia d'età o temperature con intervalli corrispondenti a "Caldo", "Medio" e "Freddo".
- Spostamento della data: sposta i valori delle date sensibili di una quantità di tempo casuale.
- Estrazione temporale: estrae o conserva parti specifiche dei valori di data e ora.
Nella parte restante di questo argomento vengono trattati tutti i diversi tipi di trasformazione dell'anonimizzazione e vengono forniti esempi del loro utilizzo.
Metodi di trasformazione
La seguente tabella elenca le trasformazioni fornite da Sensitive Data Protection per anonimizzare i dati sensibili:
Trasformazione | Oggetto | Descrizione | Invertire il valore1 | Integrità referenziale2 | Tipo di input |
---|---|---|---|---|---|
Oscuramento | RedactConfig |
Oscura un valore rimuovendolo. | Qualsiasi | ||
Sostituzione | ReplaceValueConfig |
Sostituisce ogni valore di input con un valore specifico. | Qualsiasi | ||
Sostituisci con dizionario | ReplaceDictionaryConfig
|
Sostituisce un valore di input con un valore selezionato in modo casuale da un elenco di parole. | Qualsiasi | ||
Sostituisci con infoType | ReplaceWithInfoTypeConfig |
Sostituisce un valore di input con il nome del relativo infoType. | Qualsiasi | ||
Maschera con personaggio | CharacterMaskConfig |
Maschera una stringa completamente o parzialmente sostituendo un determinato numero di caratteri con un carattere fisso specificato. | Qualsiasi | ||
Assegnazione di pseudonimi sostituendo il valore di input con l'hash di crittografia | CryptoHashConfig |
Sostituisce i valori di input con una stringa esadecimale di 32 byte generata utilizzando una determinata chiave di crittografia dei dati. Per scoprire di più, consulta la documentazione concettuale sull'assegnazione di pseudonimi. | ✔ | Stringhe o numeri interi | |
Assegnazione di pseudonimi mediante sostituzione con un token crittografico con protezione del formato | CryptoReplaceFfxFpeConfig |
Sostituisce un valore di input con un token o valore surrogato della stessa lunghezza utilizzando la crittografia con protezione del formato (FPE) con la modalità operativa FFX. In questo modo l'output può essere utilizzato in sistemi che prevedono
la convalida del formato in base alla lunghezza. Questo è utile per i sistemi legacy in cui
è necessario mantenere la lunghezza delle stringhe.
Importante: per un input di lunghezza variabile o superiore a 32 byte, utilizza CryptoDeterministicConfig .
Per garantire la sicurezza, i seguenti limiti sono consigliati dal
National Institute of Standards and Technology:
|
✔ | ✔ | Stringhe o numeri interi con un numero limitato di caratteri e di lunghezza uniforme. L'alfabeto deve essere composto da almeno 2 caratteri e non più di 95. |
Sostituzione di pseudonimi con token crittografico | CryptoDeterministicConfig |
Sostituisce un valore di input con un token, o valore surrogato, della stessa lunghezza utilizzando AES in modalità vettoriale di inizializzazione sintetica (AES-SIV). Questo metodo di trasformazione, a differenza della tokenizzazione con protezione del formato, non ha limitazioni ai set di caratteri stringa supportati, genera token identici per ogni istanza con un valore di input identico e utilizza i surrogati per consentire la reidentificazione in base alla chiave di crittografia originale. | ✔ | ✔ | Qualsiasi |
Valori dei bucket basati su intervalli di dimensioni fissi | FixedSizeBucketingConfig |
Maschera i valori di input sostituendoli con bucket o intervalli in cui rientra il valore di input. | Qualsiasi | ||
Valori dei bucket basati su intervalli di dimensioni personalizzati | BucketingConfig |
I bucket inseriscono valori in base a intervalli configurabili dall'utente e valori di sostituzione. | Qualsiasi | ||
Date shifting | DateShiftConfig |
Sposta le date di un numero casuale di giorni, con la possibilità di essere coerenti per lo stesso contesto. | ✔ Mantiene sequenza e durata |
Date/ore | |
Estrazione dei dati temporali | TimePartConfig |
Estrae o conserva una parte dei valori Date , Timestamp e TimeOfDay . |
Date/ore |
Note a piè di pagina
content.reidentify
.
Oscuramento
Se vuoi semplicemente rimuovere i dati sensibili dai contenuti di input, la protezione dei dati sensibili supporta una trasformazione dell'oscuramento (RedactConfig
nell'API DLP).
Ad esempio, supponiamo che tu voglia eseguire un semplice oscuramento di tutti gli infoType EMAIL_ADDRESS
e che la seguente stringa venga inviata a Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La stringa restituita sarà la seguente:
My name is Alicia Abernathy, and my email address is .
L'esempio JSON e il codice JSON seguenti in diversi linguaggi mostrano come creare la richiesta API e cosa restituisce l'API DLP.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Sostituisci PROJECT_ID
con l'ID progetto.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Sostituzione
Le trasformazioni di sostituzione sostituiscono ogni valore di input con un determinato valore del token o con il nome del relativo infoType.
Sostituzione di base
La trasformazione di sostituzione di base (ReplaceValueConfig
nell'API DLP) sostituisce i valori dei dati sensibili rilevati con un valore specificato da te. Ad esempio, supponiamo che tu abbia chiesto a Sensitive Data Protection di utilizzare
"[fake@example.com]" per sostituire tutti gli infoType EMAIL_ADDRESS
rilevati e
che la seguente stringa venga inviata a Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La stringa restituita è la seguente:
My name is Alicia Abernathy, and my email address is [fake@example.com].
L'esempio JSON e il codice JSON seguenti in diversi linguaggi mostrano come creare la richiesta API e cosa restituisce l'API DLP.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Sostituisci PROJECT_ID
con l'ID progetto.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is [email-address]."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Sostituzione del dizionario
Sostituzione del dizionario (ReplaceDictionaryConfig
) sostituisce ogni dato sensibile rilevato con un valore che la Sensitive Data Protection seleziona in modo casuale da un elenco di parole fornite da te.
Questo metodo di trasformazione è utile se vuoi utilizzare valori surrogati realistici.
Supponi di volere che Sensitive Data Protection rilevi gli indirizzi email e sostituisca ogni valore rilevato con uno dei tre indirizzi email surrogati.
Invii la seguente stringa di input a Sensitive Data Protection insieme all'elenco di indirizzi email surrogati:
Stringa di input
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Elenco parole
- izumi@example.com
- alex@example.com
- tal@example.com
La stringa restituita può essere una delle seguenti:
My name is Alicia Abernathy, and my email address is izumi@example.com.
My name is Alicia Abernathy, and my email address is alex@example.com.
My name is Alicia Abernathy, and my email address is tal@example.com.
L'esempio JSON seguente mostra come formare la richiesta API e cosa restituisce l'API DLP.
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Sostituisci PROJECT_ID
con l'ID progetto.
Input JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig": {
"infoTypeTransformations": {
"transformations": [
{
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
],
"primitiveTransformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
}
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is izumi@example.com."
},
"overview": {
"transformedBytes": "22",
"transformationSummaries": [
{
"infoType": {
"name": "EMAIL_ADDRESS"
},
"transformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
},
"results": [
{
"count": "1",
"code": "SUCCESS"
}
],
"transformedBytes": "22"
}
]
}
}
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Sostituzione InfoType
Puoi anche specificare un infoType sostitutivo (ReplaceWithInfoTypeConfig
nell'API DLP). Questa trasformazione funziona come la trasformazione di sostituzione di base, ma sostituisce ogni valore di dati sensibili rilevato con l'infoType del valore rilevato.
Ad esempio, supponi di aver chiesto a Sensitive Data Protection di rilevare sia indirizzi email che cognomi e di sostituire ogni valore rilevato con l'infoType del valore. Invii la seguente stringa a Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La stringa restituita è la seguente:
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
Mascheramento
Puoi configurare Sensitive Data Protection per mascherare completamente o parzialmente un valore sensibile rilevato
(CharacterMaskConfig
nell'API DLP) sostituendo ogni carattere con un singolo carattere di mascheramento fisso, ad esempio un asterisco (*) o un hash (#). La mascheratura può iniziare dall'inizio o dalla fine della stringa. Questa trasformazione funziona anche con tipi
di numeri, come i numeri interi lunghi.
La trasformazione di mascheramento di Sensitive Data Protection ha le seguenti opzioni che puoi specificare:
- Carattere di mascheramento (l'argomento
maskingCharacter
nell'API DLP): il carattere da utilizzare per mascherare ogni carattere di un valore sensibile. Ad esempio, puoi specificare un asterisco (*) o il simbolo del dollaro ($) per mascherare una serie di numeri, come quelli contenuti in una carta di credito. - Il numero di caratteri da mascherare (
numberToMask
): se non specifichi questo valore, tutti i caratteri verranno mascherati. - Indica se invertire l'ordine (
reverseOrder
): se mascherare i caratteri in ordine inverso. Invertendo l'ordine, i caratteri nei valori corrispondenti vengono mascherati dalla fine verso l'inizio del valore. - Caratteri da ignorare (
charactersToIgnore
): uno o più caratteri da ignorare quando si mascherano i valori. Ad esempio, puoi indicare a Sensitive Data Protection di lasciare i trattini in posizione quando si maschera un numero di telefono. Puoi anche specificare un gruppo di caratteri comuni (CharsToIgnore
) da ignorare durante il mascheramento.
Supponi di inviare la seguente stringa a Sensitive Data Protection e di istruirla per utilizzare la trasformazione del mascheramento dei caratteri negli indirizzi email:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Con il carattere di mascheramento inviato a "#", i caratteri da ignorare sono impostati sul set di caratteri comune e, in caso contrario, le impostazioni predefinite, Sensitive Data Protection restituisce quanto segue:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
I seguenti esempi di codice e JSON mostrano come funziona la trasformazione di mascheramento.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Sostituisci PROJECT_ID
con l'ID progetto.
Input JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"reverseOrder":false,
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Output JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ##########@#######.###."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Trasformazioni di tokenizzazione basate su criptovalute
Le trasformazioni di tokenizzazione basate su criptovalute (chiamate anche "pseudonimizzazione") sono metodi di anonimizzazione che sostituiscono i valori sensibili originali dei dati con valori criptati. Sensitive Data Protection supporta i seguenti tipi di tokenizzazione, incluse trasformazioni che possono essere annullate e consentono la reidentificazione:
- Hashing crittografico: dato un
CryptoKey
, la protezione dei dati sensibili utilizza un codice di autenticazione dei messaggi basato su SHA-256 (HMAC-SHA-256) nel valore di input, quindi sostituisce il valore di input con il valore hash codificato in base64. A differenza di altri tipi di trasformazioni basate sulle criptovalute, questo tipo di trasformazione è irreversibile. - Crittografia con protezione del formato: sostituisce un valore di input con un token generato utilizzando la crittografia con protezione del formato (FPE) con la modalità operativa FFX. Questo metodo di trasformazione produce un token limitato allo stesso alfabeto del valore di input e che ha la stessa lunghezza del valore di input. FPE supporta anche la reidentificazione data la chiave di crittografia originale.
- Crittografia deterministica: sostituisce un valore di input con un token che è stato generato utilizzando AES in modalità vettoriale di inizializzazione sintetica (AES-SIV). Questo metodo di trasformazione non ha limitazioni per i set di caratteri stringa supportati, genera token identici per ogni istanza di un valore di input identico e utilizza surrogati per consentire la reidentificazione in base alla chiave di crittografia originale.
Hashing crittografico
La trasformazione di hashing crittografico (CryptoHashConfig
nell'API DLP) prende un valore di input (un dato sensibile rilevato da Sensitive Data Protection) e lo sostituisce con un valore hash. Il valore hash viene generato utilizzando un codice di autenticazione dei messaggi basato su SHA-256 (HMAC-SHA-256) sul valore di input con CryptoKey
.
Sensitive Data Protection restituisce una rappresentazione con codifica Base64 del valore di input con hash al posto del valore originale.
Prima di utilizzare la trasformazione dell'hashing crittografico, tieni presente quanto segue:
- Il valore di input non è criptato, ma sottoposto ad hashing.
- Questa trasformazione non può essere annullata. In altre parole, dato il valore di output con hash della trasformazione e la chiave di crittografia originale, non è possibile ripristinare il valore originale.
- Al momento, solo i valori stringa e interi possono essere sottoposti ad hashing.
- L'output con hash della trasformazione ha sempre la stessa lunghezza, a seconda delle dimensioni della chiave di crittografia. Ad esempio, se utilizzi la trasformazione di hashing crittografico su numeri di telefono a 10 cifre, ogni numero di telefono verrà sostituito da un valore hash con codifica Base64 di lunghezza fissa.
Crittografia con protezione del formato
Il metodo di trasformazione della crittografia con protezione del formato (FPE) (CryptoReplaceFfxFpeConfig
nell'API DLP) acquisisce un valore di input (un dato sensibile rilevato da Sensitive Data Protection), lo cripta utilizzando la crittografia con protezione del formato in modalità FFX e un elemento CryptoKey
, quindi sostituisce il valore originale con il valore criptato o il token.
Valore di input:
- Deve avere una lunghezza di almeno due caratteri (o la stringa vuota).
- Deve essere codificato come ASCII.
- È composto dai caratteri specificati da un "alfabeto", ovvero l'insieme di 2-95 caratteri consentiti nel valore di input. Per
ulteriori informazioni, vedi il campo dell'alfabeto in
CryptoReplaceFfxFpeConfig
.
Il token generato:
- È il valore di input criptato.
- Conserva il set di caratteri ("alfabeto") e la lunghezza del valore di input dopo la crittografia.
- Viene calcolato utilizzando la crittografia con protezione del formato in modalità FFX basata sulla chiave di crittografia specificata.
- Non è necessariamente univoco, poiché ogni istanza con lo stesso valore di input viene anonimizzata allo stesso token. Ciò consente l'integrità referenziale e, di conseguenza, una ricerca più efficiente di dati anonimizzati. Puoi modificare questo comportamento utilizzando "regolazioni" di contesto, come descritto nella sezione Contesti.
Se esistono più istanze di un valore di input nei contenuti di origine, ciascuna verrà anonimizzata ciascuna con lo stesso token. FPE mantiene la lunghezza e lo spazio alfabetico (il set di caratteri), limitato a 95 caratteri. Puoi modificare questo comportamento utilizzando "modifiche" al contesto, che possono migliorare la sicurezza. L'aggiunta di una modifica di contesto alla trasformazione consente a Sensitive Data Protection di anonimizzare più istanze dello stesso valore di input in token diversi. Se non è necessario preservare la lunghezza e lo spazio alfabetico dei valori originali, utilizza la crittografia deterministica, descritta di seguito.
Sensitive Data Protection calcola il token sostitutivo utilizzando una chiave di crittografia. Puoi fornire questa chiave in uno dei tre seguenti modi:
- Incorporandoli non criptati nella richiesta API. Ti sconsigliamo tuttavia di selezionare questa opzione.
- Richiedendo che sia generato da Sensitive Data Protection.
- Incorporandolo, viene criptato nella richiesta API.
Se scegli di incorporare la chiave nella richiesta API, devi creare una chiave ed eseguirne il wrapping (crittografia) utilizzando una chiave Cloud Key Management Service (Cloud KMS). Per ulteriori informazioni, consulta Creare una chiave con wrapping. Il valore restituito è una stringa con codifica Base64 per impostazione predefinita. Per impostare questo valore in Sensitive Data Protection, devi decodificarlo in una stringa di byte. I seguenti snippet di codice illustrano come eseguire questa operazione in diverse lingue. In seguito a questi snippet vengono forniti esempi end-to-end.
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
Per ulteriori informazioni sulla crittografia e la decrittografia dei dati mediante Cloud KMS, vedi Crittografia e decriptazione dei dati.
Esempi di crittografia con protezione del formato: anonimizzazione
Questo esempio utilizza il metodo di trasformazione di CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili. Per ulteriori informazioni, consulta Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: anonimizzazione con il tipo surrogato
Questo esempio utilizza il metodo di trasformazione di CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili. Per ulteriori informazioni, consulta Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: anonimizzazione dei dati sensibili nelle tabelle
Questo esempio utilizza il metodo di trasformazione CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili nelle tabelle. Per ulteriori informazioni, vedi Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per reidentificare i dati sensibili anonimizzati
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per maggiori informazioni, consulta la sezione Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione del testo
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per reidentificare il testo sensibile anonimizzato
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per maggiori informazioni, consulta la sezione Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione con tipo surrogato
Di seguito è riportato un codice campione in diversi linguaggi che dimostra come utilizzare
Sensitive Data Protection per reidentificare i dati sensibili anonimizzati
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per maggiori informazioni, consulta la sezione Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione dei dati sensibili nelle tabelle
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare la protezione dei dati sensibili per reidentificare i dati sensibili nelle tabelle anonimizzate tramite il metodo di trasformazione CryptoReplaceFfxFpeConfig
. Per maggiori informazioni, consulta la sezione Crittografia con protezione del formato in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Crittografia deterministica
Il metodo di trasformazione della crittografia deterministica CryptoDeterministicConfig
nell'API DLP prende un valore di input (una parte di dati sensibili rilevati da Sensitive Data Protection), li cripta utilizzando AES-SIV con un CryptoKey
e poi sostituisce il valore originale con una rappresentazione codificata in base64 del valore criptato.
L'utilizzo della trasformazione della crittografia deterministica consente una ricerca più efficiente di dati criptati.
Valore di input:
- Deve avere una lunghezza di almeno 1 carattere.
- Non ha limiti di set di caratteri.
Il token generato:
- È una rappresentazione con codifica Base64 del valore criptato.
- Non conserva il set di caratteri ("alfabeto") o la lunghezza del valore di input dopo la crittografia.
- Viene calcolata utilizzando la crittografia AES in modalità SIV (AES-SIV) con
CryptoKey
. - Non è necessariamente univoco, poiché ogni istanza con lo stesso valore di input viene anonimizzata allo stesso token. Ciò consente una ricerca di dati criptati in modo più efficiente. Puoi modificare questo comportamento utilizzando "regolazioni" di contesto, come descritto nella sezione Contesti.
- Viene generato con un prefisso aggiunto, nel formato
[SURROGATE_TYPE]([LENGTH]):
, dove[SURROGATE_TYPE]
rappresenta un infoType surrogato che descrive il valore di input e[LENGTH]
indica il numero di caratteri. Il surrogato consente la reidentificazione del token utilizzando la chiave di crittografia originale utilizzata per l'anonimizzazione.
Di seguito è riportato un esempio di configurazione JSON per l'anonimizzazione mediante crittografia deterministica. Tieni presente che abbiamo scelto di utilizzare "PHONE_SURROGATE" come
tipo di surrogato descrittivo poiché stiamo anonimizzando i numeri di telefono.
[CRYPTO_KEY]
rappresenta una chiave di crittografia senza wrapping ottenuta da Cloud KMS.
{
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
]
},
"item":{
"value":"My phone number is 206-555-0574, call me"
}
}
L'anonimizzazione della stringa "Il mio numero di telefono è 206-555-0574" usando questa trasformazione genera una stringa anonimizzata come la seguente:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Per identificare nuovamente questa stringa, puoi utilizzare una richiesta JSON come la seguente, in cui [CRYPTO_KEY] è la stessa chiave di crittografia utilizzata per anonimizzare il contenuto.
{
"reidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_SURROGATE"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"PHONE_SURROGATE"
},
"surrogateType":{
}
}
]
},
"item":{
"value":"My phone number is [PHONE_SURROGATE](36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me"
}
}
La reidentificazione di questa stringa genera la stringa originale:
My phone number is 206-555-0574, call me
Se vuoi utilizzare un oggetto CryptoKey
con wrapping (criptato) per una maggiore sicurezza, consulta la guida rapida: anonimizzazione e reidentificazione di testo sensibile per un esempio. Quando vuoi
utilizzare una libreria client per anonimizzare i contenuti, ricordati di decodificare
la chiave con wrapping (che per impostazione predefinita è una stringa con codifica base64), come mostrato in
Crittografia con protezione del formato
in questa pagina.
Esempi di crittografia deterministica: anonimizzazione
Questo esempio utilizza il metodo di trasformazione di CryptoDeterministicConfig
per anonimizzare i dati sensibili. Per ulteriori informazioni, consulta la sezione Crittografia deterministica in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia deterministica: reidentificazione
Questo esempio mostra come reidentificare i dati sensibili anonimizzati tramite il metodo di trasformazione CryptoDeterministicConfig
. Per ulteriori informazioni, consulta Crittografia deterministica in questa pagina.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Bucket
Le trasformazioni dei bucket consentono di anonimizzare i dati numerici "suddividendoli in bucket" in intervalli. L'intervallo di numeri risultante è una stringa con trattino costituita da un limite inferiore, un trattino e un limite superiore.
Bucket a dimensioni fisse
Sensitive Data Protection può raggruppare i valori di input numerici in base a intervalli di dimensioni fissi
(FixedSizeBucketingConfig
nell'API DLP). Per configurare il bucket a dimensioni fisse devi specificare quanto segue:
- Il valore del limite inferiore di tutti i bucket. Tutti i valori inferiori al limite inferiore vengono raggruppati in un unico bucket.
- Il valore del limite superiore di tutti i bucket. Tutti i valori superiori al limite superiore vengono raggruppati in un singolo bucket.
- Le dimensioni di ogni bucket tranne i bucket minimo e massimo.
Ad esempio, se il limite inferiore è impostato su 10, il limite superiore è impostato su 89 e la dimensione del bucket è impostata su 10, verranno utilizzati i seguenti bucket: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-80, 80-9, +
Per saperne di più sul concetto di bucketing, consulta Generalizzazione e bucket.
Bucket personalizzabili
I bucket personalizzabili (BucketingConfig
nell'API DLP) offrono una maggiore flessibilità rispetto ai bucket a dimensione fissa.
Anziché specificare i limiti superiore e inferiore e un valore dell'intervallo con cui creare bucket di uguali dimensioni, puoi specificare i valori massimo e minimo per ogni bucket da creare. Ogni coppia di valori massimo e minimo deve avere lo stesso tipo.
Puoi configurare bucket personalizzabili specificando singoli bucket. Ogni bucket ha le seguenti proprietà:
- Il limite inferiore dell'intervallo del bucket. Ometti questo valore per creare un bucket senza limite inferiore.
- Il limite superiore dell'intervallo del bucket. Ometti questo valore per creare un bucket senza limite superiore.
- Il valore sostitutivo per questo intervallo di bucket. Questo è il valore con cui sostituire tutti i valori rilevati che rientrano nei limiti inferiore e superiore. Se non fornisci un valore sostitutivo, verrà generato un intervallo min-max con trattino.
Ad esempio, considera la seguente configurazione JSON per questa trasformazione dei bucket:
"bucketingConfig":{
"buckets":[
{
"min":{
"integerValue":"1"
},
"max":{
"integerValue":"30"
},
"replacementValue":{
"stringValue":"LOW"
}
},
{
"min":{
"integerValue":"31"
},
"max":{
"integerValue":"65"
},
"replacementValue":{
"stringValue":"MEDIUM"
}
},
{
"min":{
"integerValue":"66"
},
"max":{
"integerValue":"100"
},
"replacementValue":{
"stringValue":"HIGH"
}
}
]
}
In questo modo viene definito il seguente comportamento:
- I valori interi che rientrano tra 1 e 30 sono mascherati mediante la sostituzione con
LOW
. - I valori interi che rientrano tra 31 e 65 sono mascherati mediante la sostituzione con
MEDIUM
. - I valori interi che rientrano tra 66 e 100 sono mascherati mediante la sostituzione con
HIGH
.
Per saperne di più sul concetto di bucketing, consulta Generalizzazione e bucket.
Date shifting
Quando utilizzi la trasformazione di spostamento della data (DateShiftConfig
nell'API DLP su un valore di input della data, Sensitive Data Protection sposta le date di un numero casuale di giorni).
Le tecniche di cambio della data spostano in modo casuale un insieme di date, ma preservano la sequenza e la durata di un periodo di tempo. Lo spostamento delle date avviene generalmente nel contesto di un individuo o di un'entità. In altre parole, vuoi spostare tutte le date di una persona specifica utilizzando lo stesso differenziale di turno, ma utilizzare un differenziale di turno separato per gli altri individui.
Per ulteriori informazioni sul cambio di data, consulta la sezione Cambio data.
Di seguito è riportato un codice campione in diversi linguaggi che mostra come utilizzare l'API Cloud DLP per anonimizzare le date utilizzando lo spostamento delle date.
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Estrazione temporale
L'esecuzione dell'estrazione dell'ora
(TimePartConfig
nell'API DLP) conserva una parte di un valore corrispondente che, in una data, un'ora o un timestamp, conserva una parte di un valore corrispondente. Specifica a Sensitive Data Protection il tipo di valore temporale da estrarre, incluso l'anno, il mese, il giorno del mese e così via (enumerato nell'oggetto
TimePart
).
Ad esempio, supponi di aver configurato una trasformazione timePartConfig
impostando l'estrazione della parte di tempo su YEAR
. Dopo aver inviato i dati della prima colonna qui sotto a Sensitive Data Protection, ottieni i valori trasformati nella seconda colonna:
Valori originali | Valori trasformati |
---|---|
9/21/1976 |
1976 |
6/7/1945 |
1945 |
1/20/2009 |
2009 |
7/4/1776 |
1776 |
8/1/1984 |
1984 |
4/21/1982 |
1982 |
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 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura 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 eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.