Este tópico aborda as técnicas de desidentificação disponíveis, ou transformações, na Proteção de dados confidenciais.
Tipos de técnicas de desidentificação
A escolha da transformação de desidentificação que quer usar depende do tipo de dados que quer desidentificar e da finalidade da desidentificação dos dados. As técnicas de desidentificação suportadas pela proteção de dados confidenciais enquadram-se nas seguintes categorias gerais:
- Ocultação: elimina a totalidade ou parte de um valor sensível detetado.
- Substituição: substitui um valor sensível detetado por um valor substituto especificado.
- Ocultação: substitui um número de carateres de um valor sensível por um caráter substituto especificado, como um cardinal (#) ou um asterisco (*).
- Tokenização baseada em criptografia: encripta o valor dos dados confidenciais originais com uma chave criptográfica. A Proteção de dados confidenciais suporta vários tipos de tokenização, incluindo transformações que podem ser revertidas ou "reidentificadas".
- Agrupamento: "generaliza" um valor sensível substituindo-o por um intervalo de valores. (Por exemplo, substituir uma idade específica por um intervalo de idades ou temperaturas por intervalos correspondentes a "Quente", "Médio" e "Frio".)
- Desvio de datas: desvia os valores de datas confidenciais por um período aleatório.
- Extração de tempo: extrai ou preserva partes especificadas dos valores de data e hora.
O resto deste tópico aborda cada tipo diferente de transformação de desidentificação e fornece exemplos da respetiva utilização.
Métodos de transformação
A tabela seguinte apresenta as transformações que a Proteção de dados confidenciais oferece para desidentificar dados confidenciais:
Transformação | Objeto | Descrição | Pode ser invertido1 | Integridade referencial2 | Tipo de entrada |
---|---|---|---|---|---|
Ocultação | RedactConfig |
Oculta um valor removendo-o. | Qualquer | ||
Substituição | ReplaceValueConfig |
Substitui cada valor de entrada por um valor determinado. | Qualquer | ||
Substituir por dicionário | ReplaceDictionaryConfig
|
Substitui um valor de entrada por um valor selecionado aleatoriamente a partir de uma lista de palavras. | Qualquer | ||
Substituir por infoType | ReplaceWithInfoTypeConfig |
Substitui um valor de entrada pelo nome do respetivo infoType. | Qualquer | ||
Máscara com personagem | CharacterMaskConfig |
Máscara uma string total ou parcialmente, substituindo um determinado número de carateres por um caráter fixo especificado. | Qualquer | ||
Pseudonimização através da substituição do valor de entrada por um hash criptográfico | CryptoHashConfig |
Substitui os valores de entrada por uma string hexadecimal de 32 bytes gerada através de uma determinada chave de encriptação de dados. Consulte a documentação conceptual sobre a pseudonimização para saber mais. | ✔ | Strings ou números inteiros | |
Pseudonimização através da substituição por um token de preservação do formato criptográfico | CryptoReplaceFfxFpeConfig |
Substitui um valor de entrada por um token ou um valor substituto do mesmo comprimento usando a encriptação de preservação do formato (FPE) com o modo de funcionamento FFX. Isto permite que a saída seja usada em sistemas que têm
validação de formato no comprimento. Isto é útil para sistemas antigos em que o comprimento da string tem de ser mantido.
Importante: para entradas com um comprimento variável ou um comprimento superior a 32 bytes, use CryptoDeterministicConfig .
Para permanecerem seguras, os seguintes limites são recomendados pelo
National Institute of Standards and Technology:
|
✔ | ✔ | Strings ou números inteiros com um número limitado de carateres e um comprimento uniforme. O alfabeto tem de ser composto por, pelo menos, 2 carateres e não pode conter mais de 95. |
Pseudonimização através da substituição por um token criptográfico | CryptoDeterministicConfig |
Substitui um valor de entrada por um token ou um valor substituto do mesmo comprimento através do AES no modo de vetor de inicialização sintético (AES-SIV). Este método de transformação, ao contrário da tokenização que preserva o formato, não tem limitações nos conjuntos de carateres de strings suportados, gera tokens idênticos para cada instância de um valor de entrada idêntico e usa substitutos para permitir a reidentificação com base na chave de encriptação original. | ✔ | ✔ | Qualquer |
Agrupe valores com base em intervalos de tamanhos fixos | FixedSizeBucketingConfig |
Máscaras de valores de entrada substituindo-os por intervalos nos quais o valor de entrada se enquadra. | Qualquer | ||
Agrupe valores com base em intervalos de tamanhos personalizados | BucketingConfig |
Agrupa os valores de entrada com base em intervalos configuráveis pelo utilizador e valores de substituição. | Qualquer | ||
Alteração de datas | DateShiftConfig |
Altera as datas por um número aleatório de dias, com a opção de ser consistente para o mesmo contexto. | ✔ Preserva a sequência e a duração |
Datas/horas | |
Extraia dados de tempo | TimePartConfig |
Extrai ou preserva uma parte dos valores Date ,
Timestamp e TimeOfDay . |
Datas/horas |
Notas de rodapé
content.reidentify
.
Ocultação
Se quiser simplesmente remover dados confidenciais do seu conteúdo de entrada, a proteção de dados confidenciais suporta uma transformação de ocultação (RedactConfig
na API DLP).
Por exemplo, suponhamos que quer fazer uma ocultação simples de todos os
EMAIL_ADDRESS
infoTypes e que a seguinte string é enviada para a
proteção de dados confidenciais:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
A string devolvida é a seguinte:
My name is Alicia Abernathy, and my email address is .
O exemplo JSON e o código seguintes em vários idiomas mostram como formar o pedido da API e o que a API DLP devolve.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
REST
Consulte o guia de início rápido de JSON para mais informações sobre a utilização da API DLP com JSON.
Método HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Substitua PROJECT_ID
pelo ID do projeto.
Entrada 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"
}
]
}
}
Saída 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"
}
]
}
}
Substituição
As transformações de substituição substituem cada valor de entrada por um valor de token determinado ou pelo nome do respetivo infoType.
Substituição básica
A transformação de substituição básica
(ReplaceValueConfig
na API DLP) substitui os valores de dados confidenciais detetados por um valor
que especificar. Por exemplo, suponhamos que indicou à proteção de dados confidenciais para usar "[fake@example.com]" para substituir todos os infoTypes EMAIL_ADDRESS
detetados e que a seguinte string é enviada para a proteção de dados confidenciais:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
A string devolvida é a seguinte:
My name is Alicia Abernathy, and my email address is [fake@example.com].
O exemplo JSON e o código seguintes em vários idiomas mostram como formar o pedido da API e o que a API DLP devolve.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
REST
Consulte o guia de início rápido de JSON para mais informações sobre a utilização da API DLP com JSON.
Método HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Substitua PROJECT_ID
pelo ID do projeto.
Entrada 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"
}
]
}
}
Saída 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"
}
]
}
}
Substituição do dicionário
Substituição por dicionário
(ReplaceDictionaryConfig
)
substitui cada parte dos dados confidenciais detetados por um valor que o
Sensitive Data Protection seleciona aleatoriamente a partir de uma lista de palavras que fornece.
Este método de transformação é útil se quiser usar valores substitutos realistas.
Suponhamos que quer que a proteção de dados confidenciais detete endereços de email e substitua cada valor detetado por um de três endereços de email substitutos.
Envia a seguinte string de entrada para a proteção de dados confidenciais juntamente com a lista de endereços de email substitutos:
String de entrada
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Lista de palavras
- izumi@example.com
- alex@example.com
- tal@example.com
A string devolvida pode ser qualquer uma das seguintes opções:
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.
O exemplo JSON seguinte mostra como formar o pedido da API e o que a API DLP devolve.
Consulte o início rápido de JSON para mais informações sobre a utilização da API DLP com JSON.
Método HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Substitua PROJECT_ID
pelo ID do projeto.
Entrada 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"
}
]
}
}
Saída 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#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Substituição de InfoType
Também pode especificar uma substituição de infoType
(ReplaceWithInfoTypeConfig
na API DLP). Esta transformação faz o mesmo que a transformação de substituição básica, mas substitui cada valor de dados confidenciais detetado pelo infoType do valor detetado.
Por exemplo, suponhamos que indicou à proteção de dados confidenciais para detetar endereços de email e apelidos, e para substituir cada valor detetado pelo infoType do valor. Envia a seguinte string para a proteção de dados confidenciais:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
A string devolvida é a seguinte:
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
Máscara
Pode configurar a proteção de dados confidenciais para ocultar total ou parcialmente um
valor confidencial detetado
(CharacterMaskConfig
na API DLP) substituindo cada caráter por um caráter de ocultação único fixo, como um asterisco (*) ou um cardinal (#). A ocultação pode começar no
início ou no fim da string. Esta transformação também funciona com tipos de números, como números inteiros longos.
A transformação de ocultação da Proteção de dados confidenciais tem as seguintes opções que pode especificar:
- Caráter de ocultação (o argumento
maskingCharacter
na API DLP): o caráter a usar para ocultar cada caráter de um valor sensível. Por exemplo, pode especificar um asterisco (*) ou um cifrão ($) para ocultar uma série de números, como os de um número de cartão de crédito. - O número de carateres a ocultar (
numberToMask
): se não especificar este valor, todos os carateres são ocultados. - Whether to reverse the order (
reverseOrder
): Whether to mask characters in reverse order. Inverter a ordem faz com que os carateres nos valores correspondentes sejam ocultados do fim para o início do valor. - Carateres a ignorar (
charactersToIgnore
): um ou mais carateres a ignorar ao ocultar valores. Por exemplo, pode indicar à proteção de dados confidenciais que deixe os hífenes no lugar ao ocultar um número de telefone. Também pode especificar um grupo de carateres comuns (CharsToIgnore
) a ignorar ao aplicar a máscara.
Suponhamos que envia a seguinte string para a proteção de dados confidenciais e lhe dá instruções para usar a transformação de ocultação de carateres em endereços de email:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Com o caráter de ocultação enviado para "#", os carateres a ignorar definidos para o conjunto de carateres comum e, caso contrário, as predefinições, a proteção de dados confidenciais devolve o seguinte:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Os exemplos de JSON e código seguintes demonstram como funciona a transformação de ocultação.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
REST
Consulte o guia de início rápido de JSON para mais informações sobre a utilização da API DLP com JSON.
Método HTTP e URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Substitua PROJECT_ID
pelo ID do projeto.
Entrada 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"
}
]
}
}
Saída 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"
}
]
}
}
Transformações de tokenização baseadas em criptomoedas
As transformações de tokenização baseadas em criptografia (também denominadas "pseudonimização") são métodos de desidentificação que substituem os valores de dados confidenciais originais por valores encriptados. A Proteção de dados confidenciais suporta os seguintes tipos de tokenização, incluindo transformações que podem ser revertidas e permitem a reidentificação:
- Aplicação de hash criptográfico: dado um
CryptoKey
, a Proteção de dados confidenciais usa um código de autenticação de mensagens baseado em SHA-256 (HMAC-SHA-256) no valor de entrada e, em seguida, substitui o valor de entrada pelo valor com hash codificado em base64. Ao contrário de outros tipos de transformações baseadas em criptomoedas, este tipo de transformação não é reversível. - Encriptação de preservação do formato: substitui um valor de entrada por um token que foi gerado através da encriptação de preservação do formato (FPE) com o modo de funcionamento FFX. Este método de transformação produz um token limitado ao mesmo alfabeto que o valor de entrada e tem o mesmo comprimento que o valor de entrada. A FPE também suporta a reidentificação com a chave de encriptação original.
- Encriptação determinística: substitui um valor de entrada por um token que foi gerado através do AES no modo de vetor de inicialização sintético (AES-SIV). Este método de transformação não tem limitações nos conjuntos de carateres de strings suportados, gera tokens idênticos para cada instância de um valor de entrada idêntico e usa substitutos para permitir a reidentificação com a chave de encriptação original.
Hash criptográfico
A transformação de hash criptográfico (CryptoHashConfig
na API DLP) usa um valor de entrada (um fragmento de dados confidenciais que a Proteção de dados confidenciais detetou) e substitui-o por um valor com hash. O valor de hash é gerado através de um código de autenticação de mensagens baseado em SHA-256 (HMAC-SHA-256) no valor de entrada com uma CryptoKey
.
A proteção de dados confidenciais gera uma representação codificada em base64 do valor de entrada com hash no lugar do valor original.
Antes de usar a transformação de hash criptográfico, tenha em atenção o seguinte:
- O valor introduzido não está encriptado, mas tem hash.
- Não é possível anular esta transformação. Ou seja, dado o valor de saída com hash da transformação e a chave criptográfica original, não existe forma de restaurar o valor original.
- Atualmente, só é possível aplicar hash a valores de string e números inteiros.
- O resultado com hash da transformação tem sempre o mesmo comprimento, consoante o tamanho da chave criptográfica. Por exemplo, se usar a transformação de hash criptográfico em números de telefone de 10 dígitos, cada número de telefone é substituído por um valor de hash codificado em base64 de comprimento fixo.
Encriptação de preservação do formato
O método de transformação de encriptação que preserva o formato (FPE) (CryptoReplaceFfxFpeConfig
na API DLP) usa um valor de entrada (um conjunto de dados confidenciais que a proteção de dados confidenciais detetou), encripta-o através da encriptação que preserva o formato no modo FFX e de um CryptoKey
e, em seguida, substitui o valor original pelo valor encriptado ou token.
O valor de entrada:
- Tem de ter, pelo menos, dois carateres (ou a string vazia).
- Tem de estar codificado como ASCII.
- Composto pelos carateres especificados por um "alfabeto", que é o conjunto de entre 2 e 95 carateres permitidos no valor de entrada. Para mais informações, consulte o campo do alfabeto em
CryptoReplaceFfxFpeConfig
.
O token gerado:
- É o valor de entrada encriptado.
- Preserva o conjunto de carateres ("alfabeto") e o comprimento do valor de entrada após a encriptação.
- É calculada através da encriptação de preservação do formato no modo FFX com base na chave criptográfica especificada.
- Não é necessariamente único, uma vez que cada instância do mesmo valor de entrada é anonimizada para o mesmo token. Isto permite a integridade referencial e, por isso, permite uma pesquisa mais eficiente de dados anonimizados. Pode alterar este comportamento usando "ajustes" de contexto, conforme descrito em Contextos.
Se existirem várias instâncias de um valor de entrada no conteúdo de origem, cada uma delas é anonimizada para o mesmo token. A FPE preserva o comprimento e o espaço do alfabeto (o conjunto de carateres), que está limitado a 95 carateres. Pode alterar este comportamento através de "ajustes" de contexto, que podem melhorar a segurança. A adição de um ajuste de contexto à transformação permite que a proteção de dados confidenciais desidentifique várias instâncias do mesmo valor de entrada em tokens diferentes. Se não precisar de preservar o comprimento e o espaço alfabético dos valores originais, use a encriptação determinística, descrita abaixo.
A proteção de dados confidenciais calcula o token de substituição através de uma chave criptográfica. Pode fornecer esta chave de uma das três formas seguintes:
- Incorporando-o sem encriptação no pedido da API. Contudo, não recomendamos que o faça.
- Pedindo ao Sensitive Data Protection para o gerar.
- Incorporando-o encriptado no pedido da API.
Se optar por incorporar a chave no pedido da API, tem de criar uma chave e envolvê-la (encriptá-la) com uma chave do Cloud Key Management Service (Cloud KMS). Para mais informações, consulte o artigo Crie uma chave com encapsulamento. O valor devolvido é uma string codificada em base64 por predefinição. Para definir este valor na proteção de dados confidenciais, tem de descodificá-lo numa string de bytes. Os seguintes fragmentos de código realçam como fazê-lo em vários idiomas. Seguem-se exemplos completos destes fragmentos.
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)
Para mais informações sobre a encriptação e desencriptação de dados através do Cloud KMS, consulte o artigo Encriptar e desencriptar dados.
Exemplos de encriptação de preservação do formato: desidentificação
Este exemplo usa o método de transformação
CryptoReplaceFfxFpeConfig
para remover a identificação de dados confidenciais. Para mais informações, consulte a secção
Encriptação com preservação do formato nesta página.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação de preservação do formato: desidentificação com tipo substituto
Este exemplo usa o método de transformação
CryptoReplaceFfxFpeConfig
para remover a identificação de dados confidenciais. Para mais informações, consulte a secção
Encriptação com preservação do formato nesta página.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação que preserva o formato: desidentificação de dados confidenciais em tabelas
Este exemplo usa o método de transformação
CryptoReplaceFfxFpeConfig
para remover a identificação de dados confidenciais em tabelas. Para mais
informações, consulte o artigo Encriptação com preservação do formato nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação de preservação do formato: reidentificação
Segue-se um exemplo de código em vários idiomas que demonstra como usar a proteção de dados confidenciais para reidentificar dados confidenciais que foram anonimizados através do método de transformação CryptoReplaceFfxFpeConfig
. Para mais informações, consulte a secção Encriptação com preservação do formato nesta página.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação de preservação do formato: reidentificação de texto
Segue-se um exemplo de código em vários idiomas que demonstra como usar a proteção de dados confidenciais para reidentificar texto confidencial que foi desidentificado através do método de transformação CryptoReplaceFfxFpeConfig
. Para mais informações, consulte a secção Encriptação com preservação do formato nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação de preservação do formato: reidentificação com tipo substituto
Segue-se um exemplo de código em vários idiomas que demonstra como usar a proteção de dados confidenciais para reidentificar dados confidenciais que foram anonimizados através do método de transformação CryptoReplaceFfxFpeConfig
. Para mais informações, consulte a secção Encriptação com preservação do formato nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação de preservação do formato: reidentificação de dados confidenciais em tabelas
Segue-se um exemplo de código em vários idiomas que demonstra como usar a
proteção de dados confidenciais para reidentificar dados confidenciais em tabelas que foram
desidentificadas através do método de transformação
CryptoReplaceFfxFpeConfig
. Para mais informações, consulte a secção Encriptação com preservação do formato nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Encriptação determinística
O método de transformação de encriptação determinística
CryptoDeterministicConfig
na API DLP recebe um valor de entrada (um fragmento de dados confidenciais que
a proteção de dados confidenciais detetou), encripta-o através de
AES-SIV
com um
CryptoKey
,
e, em seguida, substitui o valor original por uma representação codificada em base64 do
valor encriptado.
A utilização da transformação de encriptação determinística permite uma pesquisa mais eficiente de dados encriptados.
O valor de entrada:
- Tem de ter, pelo menos, 1 caráter.
- Não tem limitações de conjunto de carateres.
O token gerado:
- É uma representação codificada em Base64 do valor encriptado.
- Não preserva o conjunto de carateres ("alfabeto") nem o comprimento do valor de entrada após a encriptação.
- É calculado através da encriptação AES no modo SIV (AES-SIV) com um
CryptoKey
. - Não é necessariamente único, uma vez que cada instância do mesmo valor de entrada é anonimizada para o mesmo token. Isto permite uma pesquisa mais eficiente de dados encriptados. Pode alterar este comportamento usando "ajustes" de contexto, conforme descrito em Contextos.
- É gerado com um prefixo adicionado, no formato
[SURROGATE_TYPE]([LENGTH]):
, em que[SURROGATE_TYPE]
representa um infoType substituto que descreve o valor de entrada e[LENGTH]
indica o comprimento dos carateres. O substituto permite que o token seja reidentificado através da chave de encriptação original usada para a desidentificação.
Segue-se um exemplo de configuração JSON para a anulação da identificação através da encriptação determinística. Tenha em atenção que optámos por usar "PHONE_SURROGATE" como o nosso tipo de substituto descritivo, uma vez que estamos a remover a identificação dos números de telefone.
[CRYPTO_KEY]
representa uma chave criptográfica não envolvida obtida a partir do 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"
}
}
A desidentificação da string "O meu número de telefone é 206-555-0574" através desta transformação resulta numa string desidentificada, como a seguinte:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Para identificar novamente esta string, pode usar um pedido JSON como o seguinte, em que [CRYPTO_KEY] é a mesma chave criptográfica usada para desidentificar o conteúdo.
{
"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"
}
}
A reidentificação desta string resulta na string original:
My phone number is 206-555-0574, call me
Se quiser usar um CryptoKey
envolvido (encriptado) para uma melhor segurança, consulte o Início rápido: desidentificação e reidentificação de texto sensível para ver um exemplo. Quando estiver
pronto para usar uma biblioteca de cliente para anular a identificação do conteúdo, lembre-se de descodificar a
chave envolvida (que é uma string codificada em base64 por predefinição), conforme demonstrado na
encriptação de preservação do formato
nesta página.
Exemplos de encriptação determinística: desidentificação
Este exemplo usa o método de transformação
CryptoDeterministicConfig
para remover a identificação de dados confidenciais. Para mais informações, consulte a secção
Encriptação determinística nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplos de encriptação determinística: reidentificação
Este exemplo demonstra como voltar a identificar dados confidenciais que foram
desidentificados através do método de transformação
CryptoDeterministicConfig
. Para mais informações, consulte Encriptação determinística
nesta página.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Segmentação
As transformações de agrupamento servem para remover a identificação dos dados numéricos agrupando-os em intervalos. O intervalo de números resultante é uma string com hífenes que consiste num limite inferior, um hífen e um limite superior.
Agrupamento de tamanho fixo
A Proteção de dados confidenciais pode agrupar em forma de contentor valores de entrada numéricos com base em intervalos de tamanho fixo (FixedSizeBucketingConfig
na API DLP). Especifique o seguinte para configurar a segmentação em grupos de tamanho fixo:
- O valor do limite inferior de todos os intervalos. Todos os valores inferiores ao limite inferior são agrupados num único intervalo.
- O valor do limite superior de todos os contentores. Todos os valores superiores ao limite superior são agrupados num único grupo.
- O tamanho de cada grupo, exceto os grupos mínimo e máximo.
Por exemplo, se o limite inferior estiver definido como 10, o limite superior estiver definido como 89 e o tamanho do contentor estiver definido como 10, são usados os seguintes contentores: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+.
Para mais informações sobre o conceito de agrupamento, consulte o artigo Generalização e agrupamento.
Agrupamento personalizável
A colocação em contentores personalizável (BucketingConfig
na API DLP) oferece mais flexibilidade do que a colocação em contentores de tamanho fixo.
Em vez de especificar limites superiores e inferiores e um valor de intervalo com o qual
criar grupos de tamanho igual, especifica os valores máximos e mínimos para cada
grupo que quer criar. Cada par de valores máximo e mínimo tem de ter o mesmo tipo.
Configura a segmentação em grupos personalizável especificando grupos individuais. Cada contentor tem as seguintes propriedades:
- O limite inferior do intervalo do grupo. Omita este valor para criar um intervalo que não tenha um limite inferior.
- O limite superior do intervalo do recipiente. Omita este valor para criar um intervalo que não tenha limite superior.
- O valor de substituição para este intervalo de grupos. Este é o valor com o qual substituir todos os valores detetados que se enquadram nos limites inferior e superior. Se não fornecer um valor de substituição, é gerado um intervalo mínimo-máximo com hífenes.
Por exemplo, considere a seguinte configuração JSON para esta transformação de agrupamento:
"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"
}
}
]
}
Isto define o seguinte comportamento:
- Os valores de números inteiros compreendidos entre 1 e 30 são ocultados e substituídos por
LOW
. - Os valores de números inteiros entre 31 e 65 são ocultados e substituídos por
MEDIUM
. - Os valores de números inteiros entre 66 e 100 são ocultados e substituídos por
HIGH
.
Para mais informações sobre o conceito de agrupamento, consulte o artigo Generalização e agrupamento.
Alteração de datas
Quando usa a transformação de mudança de data
(DateShiftConfig
na API DLP num valor de entrada de data, a proteção de dados confidenciais muda as
datas por um número aleatório de dias.
As técnicas de alteração de datas alteram aleatoriamente um conjunto de datas, mas preservam a sequência e a duração de um período. A alteração de datas é normalmente feita no contexto de um indivíduo ou uma entidade. Ou seja, quer alterar todas as datas de um indivíduo específico usando a mesma diferença de alteração, mas usar uma diferença de alteração separada para cada outro indivíduo.
Para mais informações sobre a alteração de datas, consulte o artigo Alteração de datas.
Segue-se um exemplo de código em vários idiomas que demonstra como usar a API Cloud DLP para desidentificar datas através da mudança de datas.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Extração de tempo
A execução da extração de tempo
(TimePartConfig
na API DLP) preserva uma parte de um valor correspondido que, numa data, numa hora ou numa data/hora, preserva uma parte de um valor correspondido. Especifica ao Sensitive Data Protection que tipo de valor de tempo quer extrair, incluindo o ano, o mês, o dia do mês, etc. (enumerados no objeto
TimePart
).
Por exemplo, suponha que configurou uma transformação timePartConfig
definindo a parte de tempo a extrair como YEAR
. Depois de enviar os dados na primeira coluna abaixo para a Proteção de dados confidenciais, acaba com os valores transformados na segunda coluna:
Valores originais | Valores transformados |
---|---|
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#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.