Questo argomento illustra le tecniche di anonimizzazione, o le trasformazioni, disponibili in Sensitive Data Protection.
Tipi di tecniche di anonimizzazione
La scelta della trasformazione di anonimizzazione da utilizzare dipende dal tipo di dati che vuoi anonimizzare e dallo scopo per cui lo fai. Le tecniche di anonimizzazione supportate da Sensitive Data Protection rientrano nelle seguenti categorie generali:
- Oscuramento: elimina tutto o parte di un valore sensibile rilevato.
- Sostituzioni: 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 crittografia: cripta il valore dei dati sensibili originali utilizzando una chiave di crittografia. Sensitive Data Protection supporta diversi tipi di tokenizzazione, tra cui trasformazioni che possono essere annullate o "riidentificate".
- Bucketing: "generalizza" un valore sensibile sostituendolo con un intervallo di valori. Ad esempio, sostituendo un'età specifica con un'età in un intervallo o le temperature con intervalli corrispondenti a "Caldo", "Medio" e "Freddo".
- Spostamento della data: sposta i valori delle date sensibili in base a una quantità di tempo casuale.
- Estrazione dell'ora: estrae o conserva parti specifiche dei valori di data e ora.
Il resto di questo argomento illustra ogni tipo diverso di trasformazione di anonimizzazione e fornisce esempi di utilizzo.
Metodi di trasformazione
La tabella seguente elenca le trasformazioni fornite da Sensitive Data Protection per anonimizzare i dati sensibili:
Trasformazione | Oggetto | Descrizione | Può essere invertito1 | Integrità referenziale2 | Tipo di input |
---|---|---|---|---|---|
Oscuramento | RedactConfig |
Oscura un valore rimuovendolo. | Qualsiasi | ||
Sostituzione | ReplaceValueConfig |
Sostituisce ogni valore inserito con un valore specificato. | Qualsiasi | ||
Sostituisci con dizionario | ReplaceDictionaryConfig
|
Sostituisce un valore inserito 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 carattere | CharacterMaskConfig |
Maschera una stringa completamente o parzialmente sostituendo un determinato numero di caratteri con un carattere fisso specificato. | Qualsiasi | ||
Pseudonimizzazione sostituendo il valore inserito con un hash crittografico | 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 sulla pseudonymization. | ✔ | Stringhe o numeri interi | |
Pseudonimizzazione mediante sostituzione con un token crittografico con protezione del formato | CryptoReplaceFfxFpeConfig |
Sostituisce un valore di input con un token o un valore surrogato della stessa lunghezza utilizzando la crittografia con protezione del formato (FPE) con la modalità di funzionamento FFX. In questo modo, l'output può essere utilizzato in sistemi che hanno la convalida del formato in base alla lunghezza. Questo è utile per i sistemi legacy in cui deve essere mantenuta la lunghezza della stringa.
Importante: per input di lunghezza variabile o superiore a 32 byte, utilizza CryptoDeterministicConfig .
Per garantire la sicurezza, il
National Institute of Standards and Technology consiglia i seguenti limiti:
|
✔ | ✔ | 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 deve contenere più di 95 caratteri. |
Pseudonimizzazione mediante sostituzione con token crittografico | CryptoDeterministicConfig |
Sostituisce un valore di input con un token o un valore surrogato della stessa lunghezza utilizzando AES in modalità vettore di inizializzazione sintetico (AES-SIV). A differenza della tokenizzazione che mantiene il formato, questo metodo di trasformazione non ha limitazioni per gli insiemi di caratteri delle stringhe supportati, genera token identici per ogni istanza di un valore di input identico e utilizza sostituenti per consentire la reidentificazione in base alla chiave di crittografia originale. | ✔ | ✔ | Qualsiasi |
Valori bucket basati su intervalli di dimensioni fisse | FixedSizeBucketingConfig |
Nasconde i valori di input sostituendoli con bucket o intervalli in cui rientra il valore di input. | Qualsiasi | ||
Valori bucket in base a intervalli di dimensioni personalizzati | BucketingConfig |
Raggruppa i valori di input in base a intervalli e valori di sostituzione configurabili dall'utente. | Qualsiasi | ||
Date shifting | DateShiftConfig |
Sposta le date di un numero casuale di giorni, con la possibilità di essere coerente per lo stesso contesto. | ✔ Mantiene la sequenza e la durata |
Date/ore | |
Estrarre i dati orari | 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 inseriti,
Sensitive Data Protection supporta una trasformazione di oscuramento
(RedactConfig
nell'
API DLP).
Ad esempio, supponiamo che tu voglia eseguire una 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 .
Il seguente esempio di codice JSON in diversi linguaggi mostra come formare la richiesta dell'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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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].
Il seguente esempio di codice JSON in diversi linguaggi mostra come formare la richiesta dell'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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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
La sostituzione con dizionario
(ReplaceDictionaryConfig
)
sostituisce ogni dato sensibile rilevato con un valore selezionato in modo casuale da Sensitive Data Protection da un elenco di parole da te fornito.
Questo metodo di trasformazione è utile se vuoi utilizzare valori surrogati realistici.
Supponiamo che tu voglia che Sensitive Data Protection rilevi gli indirizzi email e sostituisca ogni valore rilevato con uno di tre indirizzi email surrogati.
Invia la seguente stringa di input a Sensitive Data Protection insieme all'elenco di indirizzi email sostituti:
Stringa di input
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Elenco di 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.
Il seguente esempio JSON mostra come formare la richiesta dell'API e cosa restituisce l'API DLP.
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Sostituzione di InfoType
Puoi anche specificare una sostituzione di infoType
(ReplaceWithInfoTypeConfig
nell'API DLP). Questa trasformazione fa la stessa cosa della trasformazione di sostituzione di base, ma sostituisce ogni valore di dati sensibili rilevato con l'infoType del valore rilevato.
Ad esempio, supponiamo che tu abbia chiesto a Protezione dei dati sensibili di rilevare sia gli indirizzi email sia i cognomi e di sostituire ogni valore rilevato con il relativo infoType. 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 la protezione dei dati sensibili in modo da 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 (#). Il mascheramento può iniziare dall'inizio o dalla fine della stringa. Questa trasformazione funziona anche con tipi di numeri come interi lunghi.
La trasformazione di mascheramento di Sensitive Data Protection offre le seguenti opzioni che puoi specificare:
- Carattere di mascheramento (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, ad esempio quelli di un numero di carta di credito. - Il numero di caratteri da mascherare (
numberToMask
): se non specifichi questo valore, tutti i caratteri verranno mascherati. - Se invertire l'ordine (
reverseOrder
): se mascherare i caratteri in ordine inverso. Se inverti 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 saltare quando vengono mascherati i valori. Ad esempio, puoi chiedere a Protezione dei dati sensibili di lasciare i trattini al loro posto quando mascheri un numero di telefono. Puoi anche specificare un gruppo di caratteri comuni (CharsToIgnore
) da ignorare durante il mascheramento.
Supponiamo che tu invii la seguente stringa a Sensitive Data Protection e lo indichi di utilizzare la trasformazione di mascheramento dei caratteri sugli 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 impostati sul set di caratteri comuni e le impostazioni predefinite, Sensitive Data Protection restituisce quanto segue:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
I seguenti esempi di JSON e codice 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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 basata su crittografia (chiamate anche "pseudonimizzazione") sono metodi di anonimizzazione che sostituiscono i valori originali dei dati sensibili con valori criptati. Sensitive Data Protection supporta i seguenti tipi di tokenizzazione, incluse le trasformazioni che possono essere annullate e consentono la reidentificazione:
- Hashing crittografico: dato un valore
CryptoKey
, la Protezione dei dati sensibili utilizza un codice di autenticazione dei messaggi basato su SHA-256 (HMAC-SHA-256) sul valore di input e poi sostituisce il valore di input con il valore sottoposto ad hashing codificato in base64. A differenza di altri tipi di trasformazioni basate su crittografia, questo tipo di trasformazione non è reversibile. - 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à di funzionamento FFX. Questo metodo di trasformazione produce un token ограниченный тем же алфавитом, что и значение, введённое пользователем, и имеет такую же длину. La crittografia lato client supporta anche la reidentificazione in base alla chiave di crittografia originale.
- Crittografia deterministica: sostituisce un valore di input con un token che è stato generato utilizzando AES in modalità vettore di inizializzazione sintetico (AES-SIV). Questo metodo di trasformazione non ha limitazioni per gli alfabeti di stringhe supportati, genera token identici per ogni istanza di un valore di input identico e utilizza sostituti 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 sottoposto ad hashing. Il valore hash viene generato utilizzando un codice di autenticazione dei messaggi basato su SHA-256 (HMAC-SHA-256) sul valore di input con un CryptoKey
.
Sensitive Data Protection genera una rappresentazione con codifica base64 del valore di input sottoposto ad hashing al posto del valore originale.
Prima di utilizzare la trasformazione di hashing crittografico, tieni presente quanto segue:
- Il valore inserito non è criptato, ma sottoposto ad hashing.
- Questa trasformazione non può essere annullata. In altre parole, dato il valore di output sottoposto ad hashing della trasformazione e la chiave crittografica originale, non è possibile ripristinare il valore originale.
- Al momento, è possibile sottoporre ad hashing solo valori di stringa e interi.
- L'output sottoposto ad hashing della trasformazione ha sempre la stessa lunghezza, a seconda delle dimensioni della chiave crittografica. 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 codificato in base64 di lunghezza fissa.
Crittografia con protezione del formato
Il metodo di trasformazione della crittografia con protezione del formato (FPE)
(CryptoReplaceFfxFpeConfig
nell'API DLP) prende 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
CryptoKey
,
quindi sostituisce il valore originale con il valore criptato o il token.
Il valore di input:
- Deve avere una lunghezza di almeno due caratteri (o la stringa vuota).
- Deve essere codificato in ASCII.
- Composto dai caratteri specificati da un "alfabeto", ovvero dall'insieme di 2-95 caratteri consentiti nel valore inserito. Per maggiori informazioni, consulta il campo alfabeto in
CryptoReplaceFfxFpeConfig
.
Il token generato:
- È il valore di input criptato.
- Mantiene invariato l'insieme 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 con chiave basata sulla chiave di crittografia specificata.
- Non è necessariamente univoco, poiché ogni istanza dello stesso valore di input viene anonimizzata allo stesso token. Ciò consente l'integrità referenziale e quindi una ricerca più efficiente dei dati anonimizzati. Puoi modificare questo comportamento utilizzando le "modifiche" al contesto, come descritto in Contesti.
Se nei contenuti di origine sono presenti più istanze di un valore di input, ciascuna verrà anonimizzata nello stesso token. La crittografia FPE preserva sia la lunghezza sia lo spazio alfabetico (il set di caratteri), che è limitato a 95 caratteri. Puoi modificare questo comportamento utilizzando le "modifiche" del contesto, che possono migliorare la sicurezza. L'aggiunzione di una modifica del contesto alla trasformazione consente a Sensitive Data Protection di anonimizzare più istanze dello stesso valore di input in token diversi. Se non devi 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 crittografica. Puoi fornire questa chiave in tre modi:
- Incorporandolo non criptato nella richiesta API. Ti sconsigliamo tuttavia di selezionare questa opzione.
- Richiedendo che Sensitive Data Protection li generi.
- Incorporandolo criptato nella richiesta API.
Se scegli di incorporare la chiave nella richiesta API, devi creare una chiave e criptarla utilizzando una chiave Cloud Key Management Service (Cloud KMS). Per ulteriori informazioni, vedi Creare una chiave. Per impostazione predefinita, il valore restituito è una stringa con codifica base64. Per impostare questo valore in Sensitive Data Protection, devi decodificarlo in una stringa di byte. I seguenti snippet di codice mostrano come eseguire questa operazione in diverse lingue. Di seguito sono riportati 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 sulla decrittografia dei dati utilizzando Cloud KMS, consulta Crittografia e decrittografia dei dati.
Esempi di crittografia con protezione del formato: anonimizzazione
Questo esempio utilizza il metodo di trasformazione
CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili. Per ulteriori informazioni, consulta la sezione 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: anonimizzazione con tipo sostitutivo
Questo esempio utilizza il metodo di trasformazione
CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili. Per ulteriori 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
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, 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione
Di seguito è riportato 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 ulteriori 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione del testo
Di seguito è riportato codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per reidentificare il testo sensibile che è stato anonimizzato tramite il metodo di trasformazione CryptoReplaceFfxFpeConfig
. Per ulteriori 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione con tipo sostitutivo
Di seguito è riportato 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 ulteriori 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione di dati sensibili nelle tabelle
Di seguito è riportato codice campione in diversi linguaggi che mostra come utilizzare Sensitive Data Protection per reidentificare i dati sensibili nelle tabelle che sono state anonimizzate tramite il metodo di trasformazione CryptoReplaceFfxFpeConfig
. Per ulteriori 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Crittografia deterministica
Il metodo di trasformazione di crittografia deterministica
CryptoDeterministicConfig
nell'API DLP prende un valore di input (un dato sensibile rilevato da Sensitive Data Protection), lo 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 di crittografia deterministica consente di eseguire ricerche più efficienti dei dati criptati.
Il valore di input:
- Deve contenere almeno un carattere.
- Non ha limitazioni per i set di caratteri.
Il token generato:
- È una rappresentazione con codifica Base64 del valore criptato.
- Non conserva l'insieme di caratteri ("alfabeto") o la lunghezza del valore di input dopo la crittografia.
- Viene calcolato utilizzando la crittografia AES in modalità SIV (AES-SIV) con un
CryptoKey
. - Non è necessariamente univoco, poiché ogni istanza dello stesso valore di input viene anonimizzata allo stesso token. In questo modo, la ricerca dei dati criptati è più efficiente. Puoi modificare questo comportamento utilizzando le "modifiche" al contesto, come descritto in Contesti.
- Viene generato con un prefisso aggiunto, nella forma
[SURROGATE_TYPE]([LENGTH]):
, dove[SURROGATE_TYPE]
rappresenta un infoType sostituto che descrive il valore inserito e[LENGTH]
indica la lunghezza in caratteri. Il token surrogato consente di reidentificare il token utilizzando la chiave di crittografia originale utilizzata per la anonimizzazione.
Di seguito è riportato un esempio di configurazione JSON per la spersonalizzazione mediante la crittografia deterministica. Tieni presente che abbiamo scelto di utilizzare "PHONE_SURROGATE" come
tipo di sostituto 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"
}
}
La spersonalizzazione della stringa "Il mio numero di telefono è 206-555-0574" utilizzando questa trasformazione genera una stringa anonimizzata come la seguente:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Per reidentificare questa stringa, puoi utilizzare una richiesta JSON come la seguente, dove [CRYPTO_KEY] è la stessa chiave crittografica utilizzata per anonimizzare i contenuti.
{
"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 nuova identificazione di questa stringa restituisce la stringa originale:
My phone number is 206-555-0574, call me
Se vuoi utilizzare un CryptoKey
con wrapping (criptato) per una maggiore sicurezza, consulta la Guida rapida: anonimizzazione e reidentificazione del testo sensibile per un esempio. Quando è tutto pronto per 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 nella sezione Crittografia con protezione del formato di questa pagina.
Esempi di crittografia deterministica: anonimizzazione
Questo esempio utilizza il metodo di trasformazione
CryptoDeterministicConfig
per anonimizzare i dati sensibili. 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia deterministica: reidentificazione
Questo esempio mostra come reidentificare i dati sensibili che sono stati anonimizzati tramite il metodo di trasformazione CryptoDeterministicConfig
. Per ulteriori informazioni, vedi 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Bucketing
Le trasformazioni di bucketing hanno lo scopo di anonimizzare i dati numerici raggruppandoli in intervalli. L'intervallo di numeri risultante è una stringa con trattini composta da un limite inferiore, un trattino e un limite superiore.
Bucketing con dimensioni fisse
Sensitive Data Protection può raggruppare i valori di input numerici in base ad intervalli di dimensioni fisse
(FixedSizeBucketingConfig
nell'API DLP). Per configurare il bucketing con dimensioni fisse, specifica quanto segue:
- Il valore limite inferiore di tutti i bucket. Tutti i valori inferiori al limite inferiore vengono raggruppati in un unico bucket.
- Il valore limite superiore di tutti i bucket. Tutti i valori superiori al limite superiore vengono raggruppati in un unico bucket.
- La dimensione di ogni bucket diverso da quelli 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-70, 70-80, 80-89, 89+.
Per ulteriori informazioni sul concetto di raggruppamento, consulta Generalizzazione e raggruppamento.
Bucketing personalizzabile
Il bucketing personalizzabile
(BucketingConfig
nell'API DLP) offre una maggiore flessibilità rispetto al bucketing con dimensioni fisse.
Invece di specificare limiti superiori e inferiori e un valore di intervallo con cui creare bucket di dimensioni uguali, specifica i valori massimo e minimo per ogni bucket che vuoi creare. Ogni coppia di valori massimo e minimo deve avere lo stesso
tipo.
Puoi configurare il raggruppamento personalizzato specificando i singoli bucket. Ogni bucket ha le seguenti proprietà:
- Il limite inferiore dell'intervallo del bucket. Ometti questo valore per creare un bucket che non ha un limite inferiore.
- Il limite superiore dell'intervallo del bucket. Ometti questo valore per creare un bucket che non ha un 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 minimo-massimo con trattini.
Ad esempio, considera la seguente configurazione JSON per questa trasformazione di bucketing:
"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"
}
}
]
}
Questo definisce il seguente comportamento:
- I valori interi compresi tra 1 e 30 vengono mascherati sostituendoli con
LOW
. - I valori interi compresi tra 31 e 65 vengono mascherati sostituendoli con
MEDIUM
. - I valori interi compresi tra 66 e 100 vengono mascherati sostituendoli con
HIGH
.
Per ulteriori informazioni sul concetto di raggruppamento, consulta Generalizzazione e raggruppamento.
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 spostamento delle date spostano in modo casuale un insieme di date, ma mantengono la sequenza e la durata di un periodo di tempo. Lo spostamento delle date avviene solitamente nel contesto di una persona o di un'entità. In altre parole, vuoi spostare tutte le date per una persona specifica utilizzando lo stesso differenziale di spostamento, ma utilizzare un differenziale di spostamento separato per ogni altra persona.
Per ulteriori informazioni sullo spostamento delle date, consulta Spostamento delle date.
Di seguito è riportato 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Estrazione del tempo
L'esecuzione dell'estrazione del tempo
(TimePartConfig
nell'API DLP) consente di preservare una parte di un valore corrispondente che su
una data, un'ora o un timestamp conserva una parte di un valore corrispondente. Devi specificare a Sensitive Data Protection il tipo di valore temporale da estrarre, inclusi anno, mese, giorno del mese e così via (elencati nell'oggetto
TimePart
).
Ad esempio, supponiamo che tu abbia configurato una trasformazione timePartConfig
impostando la parte di tempo da estrarre su YEAR
. Dopo aver inviato i dati della prima colonna riportata di seguito a Sensitive Data Protection, otterrai 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 autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per autenticarti in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.