Questo argomento tratta le tecniche di anonimizzazione o 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.
- Sostituzione: sostituisce un valore sensibile rilevato con un valore surrogato specificato.
- Mascheramento: sostituisce un certo numero di caratteri di un valore sensibile con un carattere surrogato specificato, ad esempio un cancelletto (#) o un asterisco (*).
- Tokenizzazione basata sulla crittografia: cripta il valore dei dati sensibili originali utilizzando una chiave di crittografica. Sensitive Data Protection supporta diversi tipi di tokenizzazione, tra cui trasformazioni che possono essere invertite o "reidentificate".
- Bucketing: "generalizza" un valore sensibile sostituendolo con un intervallo di valori. Ad esempio, sostituendo un'età specifica con una fascia d'età o temperature con intervalli corrispondenti a "Caldo", "Medio" e "Freddo".
- Spostamento della data: sposta i valori di data sensibili in base a una quantità di tempo casuale.
- Estrazione dell'ora: estrae o conserva le parti specificate dei valori di data e ora.
Il resto di questo argomento tratta ogni tipo diverso di trasformazione di deidentificazione e fornisce esempi del loro utilizzo.
Metodi di trasformazione
La seguente tabella elenca le trasformazioni che Sensitive Data Protection fornisce per anonimizzare i dati sensibili:
Trasformazione | Oggetto | Descrizione | Can Reverse1 | Integrità referenziale2 | Tipo input |
---|---|---|---|---|---|
Oscuramento | RedactConfig |
Oscura un valore rimuovendolo. | Qualsiasi | ||
Sostituzione | ReplaceValueConfig |
Sostituisce ogni valore di input con un valore specificato. | Qualsiasi | ||
Sostituisci con dizionario | ReplaceDictionaryConfig
|
Sostituisce un valore di input con un valore selezionato casualmente 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 | ||
Assegnazione di pseudonimi sostituendo il valore di input 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 saperne di più, consulta la documentazione concettuale sulla pseudonimizzazione. | ✔ | Stringhe o numeri interi | |
Assegnazione di pseudonimi mediante sostituzione con 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 che preserva il formato (FPE) con la modalità
di funzionamento FFX. Ciò consente di utilizzare l'output in sistemi che dispongono di
convalida del formato in base alla lunghezza. Questa opzione è utile per i sistemi legacy in cui
deve essere mantenuta la lunghezza della stringa.
Importante: per l'input di lunghezza variabile o
maggiore di 32 byte, utilizza CryptoDeterministicConfig .
Per rimanere sicuri, 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 deve superare i 95 caratteri. |
Assegnazione di pseudonimi 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à Synthetic Initialization Vector (AES-SIV). Questo metodo di trasformazione, a differenza della tokenizzazione che preserva il formato, non ha limitazioni sui set di caratteri delle stringhe supportati, genera token identici per ogni istanza di un valore di input identico e utilizza surrogati per consentire la reidentificazione data la chiave di crittografia originale. | ✔ | ✔ | Qualsiasi |
Valori bucket basati su intervalli di dimensioni fisse | FixedSizeBucketingConfig |
Maschera 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 |
I bucket inseriscono i 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 coerente per lo stesso contesto. | ✔ Mantiene la sequenza e la durata |
Date/ore | |
Estrai 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 di input,
Sensitive Data Protection supporta una trasformazione di oscuramento
(RedactConfig
nellAPI DLPDLP).
Ad esempio, supponiamo di voler 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 JSON e il codice in diverse lingue mostrano come formare la richiesta API e cosa restituisce l'API DLP.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida rapida 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 valore token specifico 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 di aver detto a Sensitive Data Protection di utilizzare
"[fake@example.com]" per sostituire tutti gli infoType EMAIL_ADDRESS
rilevati e
la seguente stringa viene 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 JSON e il codice in diverse lingue mostrano come formare la richiesta API e cosa restituisce l'API DLP.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida rapida 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 parte di dati sensibili rilevati con un valore che
Sensitive Data Protection seleziona casualmente da un elenco di parole che fornisci.
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 dei tre indirizzi email surrogati.
Invii la seguente stringa di input a Sensitive Data Protection insieme all'elenco degli indirizzi email surrogati:
Input string
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 API e cosa restituisce l'API DLP.
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida rapida 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Sostituzione dell'infoType
Puoi anche specificare una sostituzione dell'infoType
(ReplaceWithInfoTypeConfig
nell'API DLP). Questa trasformazione esegue la stessa operazione della trasformazione di sostituzione di base, ma sostituisce ogni valore di dati sensibili rilevato con il infoType del valore rilevato.
Ad esempio, supponiamo di aver chiesto a Sensitive Data Protection di rilevare sia gli indirizzi email sia i 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 cancelletto (#). Il mascheramento può iniziare dall'inizio o dalla fine della stringa. Questa trasformazione funziona anche con i tipi di numeri
come gli 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 un simbolo del dollaro ($) per mascherare una serie di numeri come 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. - Inverti ordine (
reverseOrder
): indica se mascherare i caratteri in ordine inverso. L'inversione dell'ordine fa sì che i caratteri nei valori corrispondenti vengano mascherati dalla fine verso l'inizio del valore. - Caratteri da ignorare (
charactersToIgnore
): uno o più caratteri da saltare durante il mascheramento dei valori. Ad esempio, puoi indicare a Protezione dei dati sensibili di lasciare i trattini quando maschera un numero di telefono. Puoi anche specificare un gruppo di caratteri comuni (CharsToIgnore
) da ignorare durante la mascheratura.
Supponiamo di inviare la seguente stringa a Sensitive Data Protection e di istruirlo a 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 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida rapida 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 sulla crittografia (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 le trasformazioni che possono essere invertite e consentono la reidentificazione:
- Hashing crittografico: dato un
CryptoKey
, Sensitive Data Protection utilizza un codice di autenticazione del messaggio basato su SHA-256 (HMAC-SHA-256) sul valore di input, quindi sostituisce il valore di input con il valore hash codificato in base64. A differenza di altri tipi di trasformazioni basate sulla 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à operativa FFX. Questo metodo di trasformazione produce un token limitato allo stesso alfabeto del valore di input e della 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 generato utilizzando AES in modalità Synthetic Initialization Vector (AES-SIV). Questo metodo di trasformazione non ha limiti 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 data la chiave di crittografia originale.
Hashing crittografico
La trasformazione di hashing crittografico
(CryptoHashConfig
nell'API DLP) prende un valore di input (un dato sensibile che
Sensitive Data Protection ha rilevato) e lo sostituisce con un valore hash. Il valore
hash viene generato utilizzando un codice di autenticazione del messaggio basato su SHA-256
(HMAC-SHA-256)
) sul valore di input con un
CryptoKey
.
Sensitive Data Protection restituisce una rappresentazione con codifica Base64 del valore di input di hashing al posto del valore originale.
Prima di utilizzare la trasformazione di hashing crittografico, tieni presente quanto segue:
- Il valore di input non è criptato, ma sottoposto ad hashing.
- Questa trasformazione non può essere annullata. ovvero, dato il valore di output hash della trasformazione e la chiave crittografica originale, non è possibile ripristinare il valore originale.
- Al momento, solo i valori stringa e interi possono essere sottoposti ad hashing.
- 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 con codifica Base64 a 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
che Sensitive Data Protection ha rilevato), lo cripta utilizzando la crittografia con protezione del formato in modalità FFX e una
CryptoKey
,
quindi sostituisce il valore originale con il valore criptato o il token.
Il valore di input:
- Deve contenere almeno due caratteri (o la stringa vuota).
- Deve essere codificato come ASCII.
- Composto dai caratteri specificati da un "alfabeto", ovvero l'insieme
di caratteri consentiti nel valore di input, compresi tra 2 e 95. Per
maggiori informazioni, consulta 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 post-crittografia.
- Viene calcolato utilizzando la crittografia con protezione del formato in modalità FFX basata sulla chiave crittografica specificata.
- Non è necessariamente univoco, in quanto ogni istanza dello stesso valore di input viene anonimizzata nello stesso token. Ciò consente l'integrità referenziale e quindi una ricerca più efficiente dei dati deidentificati. Puoi modificare questo comportamento utilizzando le "modifiche" del contesto, come descritto in Contesti.
Se nel contenuto di origine sono presenti più istanze di un valore di input, a ognuna verrà assegnato lo stesso token. FPE conserva 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'aggiunta 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 conservare la lunghezza e lo spazio alfabetico dei valori originali, utilizza la crittografia deterministica, descritta di seguito.
Sensitive Data Protection calcola il token di sostituzione utilizzando una chiave crittografica. Puoi fornire questa chiave in tre modi:
- Incorporandolo senza crittografia nella richiesta API. Ti sconsigliamo tuttavia di selezionare questa opzione.
- Richiedendo a Sensitive Data Protection di generarlo.
- Incorporandolo criptato nella richiesta API.
Se scegli di incorporare la chiave nella richiesta API, devi creare una chiave e eseguirne il wrapping (crittografia) utilizzando una chiave Cloud Key Management Service (Cloud KMS). Per saperne di più, consulta Creare una chiave sottoposta a 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 mostrano come farlo in diverse lingue. Dopo 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 utilizzando Cloud KMS, vedi 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 saperne di più, vedi
Crittografia con protezione del formato in questa pagina.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: anonimizzazione con tipo di surrogato
Questo esempio utilizza il metodo di trasformazione
CryptoReplaceFfxFpeConfig
per anonimizzare i dati sensibili. Per saperne di più, vedi
Crittografia con protezione del formato in questa pagina.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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 saperne di più, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione
Di seguito è codice campione in diverse lingue che mostra come utilizzare
Sensitive Data Protection per reidentificare i dati sensibili che sono stati deidentificati
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per saperne di più, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione del testo
Di seguito è riportato codice campione in diverse lingue che mostra come utilizzare
Sensitive Data Protection per reidentificare il testo sensibile che è stato reso anonimo
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per saperne di più, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione con tipo di surrogato
Di seguito è riportato codice campione in diverse lingue che mostra come utilizzare
Sensitive Data Protection per reidentificare i dati sensibili che sono stati deidentificati
tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per saperne di più, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esempi di crittografia con protezione del formato: reidentificazione dei dati sensibili nelle tabelle
Di seguito è riportato codice campione in diverse lingue che mostra come utilizzare
Sensitive Data Protection per identificare nuovamente i dati sensibili nelle tabelle che sono state
de-identificate tramite il metodo di trasformazione
CryptoReplaceFfxFpeConfig
. Per saperne di più, 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Crittografia deterministica
Il metodo di trasformazione di crittografia deterministica
CryptoDeterministicConfig
nell'API DLP accetta un valore di input (un insieme di dati sensibili che
Sensitive Data Protection ha rilevato), lo cripta utilizzando
AES-SIV
con un
CryptoKey
e poi sostituisce il valore originale con una rappresentazione con codifica Base64
del valore criptato.
L'utilizzo della trasformazione di crittografia deterministica consente una ricerca più efficiente dei dati criptati.
Il valore di input:
- Deve contenere almeno un carattere.
- Non ha limitazioni 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 calcolato utilizzando la crittografia AES in modalità SIV (AES-SIV) con un
CryptoKey
. - Non è necessariamente univoco, in quanto ogni istanza dello stesso valore di input viene anonimizzata nello stesso token. Ciò consente una ricerca più efficiente dei dati criptati. Puoi modificare questo comportamento utilizzando i "ritocchi" del contesto, come descritto in 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 la lunghezza in caratteri. Il surrogato consente di reidentificare il token utilizzando la chiave di crittografia originale utilizzata per la deidentificazione.
Di seguito è riportato un esempio di configurazione JSON per la deidentificazione mediante
crittografia deterministica. Tieni presente che abbiamo scelto di utilizzare "PHONE_SURROGATE" come
tipo di surrogato descrittivo poiché stiamo deidentificando 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 deidentificazione della stringa "Il mio numero di telefono è 206-555-0574" utilizzando questa trasformazione genera una stringa deidentificata 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, dove [CRYPTO_KEY] è la stessa chiave crittografica utilizzata per deidentificare 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 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 Guida rapida: anonimizzazione e reidentificazione
del testo sensibile per un esempio. Quando
sei pronto a utilizzare una libreria client per rimuovere l'identificazione dei contenuti, ricordati di decodificare la
chiave sottoposta a wrapping (che è una stringa con codifica base64 per impostazione predefinita), come illustrato nella sezione
Crittografia che preserva il 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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, consulta Crittografia deterministica
in questa pagina.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Bucketing
Le trasformazioni di bucketing servono ad anonimizzare i dati numerici raggruppandoli in intervalli. L'intervallo di numeri risultante è una stringa con trattino composta da un limite inferiore, un trattino e un limite superiore.
Bucket di dimensioni fisse
Sensitive Data Protection può raggruppare i valori di input numerici in base a intervalli di dimensioni fisse
(FixedSizeBucketingConfig
nell'API DLP). Per configurare il bucketing di dimensioni fisse, specifica 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 unico bucket.
- La dimensione di ogni bucket, ad eccezione di 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 bucketing, consulta Generalizzazione e bucketing.
Bucket personalizzabile
Il bucketing personalizzabile
(BucketingConfig
nell'API DLP) offre maggiore flessibilità rispetto al bucketing di dimensioni fisse.
Invece di specificare limiti superiore e inferiore 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.
Configuri il raggruppamento personalizzabile specificando i 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 di sostituzione per questo intervallo del bucket. Questo è il valore con cui sostituire tutti i valori rilevati che rientrano nei limiti inferiore e superiore. Se non fornisci un valore di sostituzione, verrà generato un intervallo min-max con trattino.
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"
}
}
]
}
Ciò 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 bucketing, consulta Generalizzazione e bucketing.
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 conservano la sequenza e la durata di un periodo di tempo. Lo spostamento delle date viene solitamente effettuato in riferimento a una persona o a un'entità. ovvero vuoi spostare tutte le date di una persona specifica utilizzando lo stesso differenziale di turno, ma utilizzare un differenziale di turno separato per ogni altra persona.
Per saperne di più sullo spostamento delle date, consulta Spostamento delle date.
Di seguito è riportato un codice campione in diverse lingue 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Estrazione dell'ora
L'oggetto 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. Specifichi a Sensitive Data Protection il tipo di valore temporale che vuoi estrarre, inclusi anno, mese, giorno del mese e così via (elencati nell'oggetto
TimePart
).
Ad esempio, supponiamo di aver configurato una trasformazione timePartConfig
impostando la parte dell'ora da estrarre su YEAR
. Dopo aver inviato i dati nella 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 la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta la sezione Librerie client Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.