A Proteção de dados sensíveis usa tipos de informações (infoTypes) para definir o que será verificado. Os infoTypes são tipos de dados confidenciais, como nome, endereço de e-mail, número de telefone, número de identificação, número de cartão de crédito e assim por diante. Um detector de infoType é o mecanismo de detecção correspondente que corresponde aos critérios de correspondência de um infoType.
Práticas recomendadas para selecionar infoTypes
Entender seus dados é uma das primeiras etapas essenciais para protegê-los. Como prática recomendada, colete, armazene e processe apenas as informações necessárias para o negócio. Ao identificar os dados que você está processando, é possível tomar decisões informadas para sua empresa, usuários e postura de privacidade e segurança de dados.
Alguns casos de uso comerciais podem exigir informações sensíveis, enquanto outros não. Não há uma única solução que ofereça suporte a todos os casos de uso. Por esse motivo, a Proteção de Dados Sensíveis oferece controle flexível sobre os tipos de dados a serem verificados. Se você estiver usando infoTypes para desidentificação ou mascaramento, também terá controle sobre quando e como os dados são transformados.
Diretrizes gerais
Considere as diretrizes gerais a seguir ao selecionar infoTypes.
Informações sensíveis que você não precisa coletar
Cada serviço na sua empresa precisa coletar apenas os dados necessários
para ele. Por exemplo, alguns serviços na sua empresa não precisam coletar
informações financeiras. Para esses serviços, ative os detectores de infoType
como CREDIT_CARD_NUMBER
, FINANCIAL_ACCOUNT_NUMBER
e outros InfoTypes na
categoria do setor
FINANCE
.
Informações que você precisa coletar, mas não quer compartilhar com toda a equipe
Pode haver casos de uso válidos para coletar informações pessoais, mas você
não deve compartilhar essas informações com sua equipe. Por exemplo, um cliente que envia um
tíquete de suporte pode fornecer dados de contato para que você possa entrar em contato
para resolver problemas. Você não quer que todos na equipe que acessam o tíquete
tenham acesso às informações de identificação pessoal (PII). Ative os detectores de infoType
como PHONE_NUMBER
, EMAIL_ADDRESS
e outros InfoTypes na categoria
PII
.
Categorias de dados sensíveis que estão sujeitas a regulamentações do setor, de privacidade de dados ou jurisdicionais
Alguns tipos de informações são considerados sensíveis devido à forma como são emitidas ou para o que podem ser usadas. Em outros casos, as informações contextuais e demográficas são consideradas uma categoria protegida. Esses tipos de informações podem ter outras restrições sobre como são coletadas, usadas e gerenciadas. Ative os detectores de infoType nas seguintes categorias:
- Categoria de tipo
SPII
,GOVERNMENT_ID
eDEMOGRAPHIC
- Categoria
do setor
HEALTH
Como escolher entre infoTypes semelhantes
Considere o seguinte ao escolher entre detectores de infoType semelhantes.
Passaportes
Se você não precisar verificar identificadores de passaporte de um país específico,
escolha o detector generalizado: PASSPORT
.
Alguns detectores de passaporte específicos do país, como UK_PASSPORT
, estão
disponíveis. No entanto, alguns detectores de passaporte específicos de país só podem identificar
passaportes com formatos específicos ou com a presença de pistas contextuais.
Nomes pessoais
Ao verificar nomes de pessoas, use PERSON_NAME
para a maioria
dos casos de uso em vez de FIRST_NAME
ou LAST_NAME
.
PERSON_NAME
é um detector de nomes de pessoas. Ele inclui nomes de uma palavra
e nomes completos. Esse detector tenta detectar, por exemplo, nomes como
Jane, Jane Smith e Jane Marie Smith usando várias tecnologias,
incluindo o processamento de linguagem natural. FIRST_NAME
e LAST_NAME
são
subconjuntos desse detector que tentam identificar partes de um nome. As descobertas
desses detectores são sempre subconjuntos das descobertas de PERSON_NAME
.
Datas e horas
Se você não precisar verificar todas as datas, use um detector de datas específico,
como DATE_OF_BIRTH
. Esse detector tenta identificar o contexto indicando que
a data está relacionada à data de nascimento de uma pessoa.
O detector DATE
tenta encontrar todas as datas, independentemente do contexto. Ele também
sinaliza datas relativas, como hoje ou ontem. Da mesma forma, TIME
tenta
encontrar todos os carimbos de data/hora.
Locais
Se você não precisar verificar todos os locais, use STREET_ADDRESS
em vez do detector LOCATION
. O detector STREET_ADDRESS
tenta encontrar endereços totalmente qualificados, que geralmente são mais precisos do que locais genéricos e podem ser considerados mais sensíveis.
O detector de infoType LOCATION
tenta encontrar qualquer local, independente do
contexto, por exemplo, Paris ou Canadá.
Detectores de InfoType que exigem contexto
Muitos detectores de infoType exigem que pistas contextuais estejam presentes antes de
identificarem uma correspondência. Se um detector de infoType integrado não estiver sinalizando itens que você
espera que sejam sinalizados porque nenhuma pista contextual ocorre perto
deles, use GENERIC_ID
ou um detector de infoType
personalizado.
Tipos de informações sem uma definição comum do setor
Alguns tipos de informações não têm uma definição comum do setor. Exemplos são números de registros médicos, números de conta, PINs e códigos de segurança. Para esses tipos,
use infoTypes como GENERIC_ID
, FINANCIAL_ACCOUNT_NUMBER
e
MEDICAL_RECORD_NUMBER
. Esses detectores usam uma combinação de detecção de entidade
e contexto para encontrar elementos potencialmente sensíveis.
Detectores de infoType de latência mais alta
Evite ativar os detectores de infoType que você não precisa. Embora os itens a seguir sejam úteis em determinados cenários, esses infoTypes podem fazer com que as solicitações sejam executadas de forma mais lenta do que as solicitações que não os incluem:
PERSON_NAME
FEMALE_NAME
MALE_NAME
FIRST_NAME
LAST_NAME
DATE_OF_BIRTH
LOCATION
STREET_ADDRESS
ORGANIZATION_NAME
Sempre especifique explicitamente os detectores de infoType. Não use uma lista de infoTypes vazia.
Como usar infoTypes
A Proteção de dados sensíveis usa detectores de infoType na configuração de suas verificações para determinar o que inspecionar e como transformar descobertas. Os nomes de infoType também são usados ao exibir ou informar os resultados da verificação.
Por exemplo, se você quiser procurar endereços de e-mail em um bloco de texto, especifique o detector de infoType EMAIL_ADDRESS
na configuração de inspeção. Se você quiser editar endereços de e-mail do bloco de texto, especifique EMAIL_ADDRESS
na configuração da inspeção e na configuração da desidentificação para indicar como editar ou transformar esse tipo.
Além disso, é possível usar uma combinação de detectores de infoType integrados e personalizados para excluir um subconjunto de endereços de e-mail das descobertas da verificação. Primeiro, crie um infoType personalizado chamado INTERNAL_EMAIL_ADDRESS
e configure-o para excluir endereços de e-mail de teste interno. Em seguida, configure a verificação para incluir descobertas para EMAIL_ADDRESS
, mas inclua uma regra de exclusão que exclua todas as descobertas que correspondam a INTERNAL_EMAIL_ADDRESS
. Para mais informações sobre regras de exclusão e outros recursos de detectores de infoType personalizados, consulte Como criar detectores de infoType personalizados.
A Proteção de dados sensíveis oferece um conjunto de detectores de infoType integrados que você especifica por nome, e cada um deles é listado na referência do detector de InfoType. Esses detectores usam uma variedade de técnicas para descobrir e classificar cada tipo. Por exemplo, alguns tipos exigem uma correspondência de padrão, alguns podem ter somas de verificação matemáticas, alguns têm restrições especiais de dígitos e outros podem ter prefixos específicos ou contexto sobre as descobertas.
Exemplos
Ao configurar a Proteção de Dados Sensíveis para verificar seu conteúdo, inclua os detectores de infoType que serão usados na configuração da verificação.
Por exemplo, o JSON e os exemplos de código a seguir demonstram uma solicitação de verificação
simples para a API DLP. O detector PHONE_NUMBER
é especificado em
inspectConfig
,
o que instrui a Proteção de dados sensíveis a verificar a string fornecida em busca de um
número de telefone.
C#
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"value":"My phone number is (415) 555-0890"
},
"inspectConfig":{
"includeQuote":true,
"minLikelihood":"POSSIBLE",
"infoTypes":{
"name":"PHONE_NUMBER"
}
}
}
Quando você envia a solicitação anterior ao endpoint especificado, a Proteção de dados sensíveis retorna o seguinte:
Saída JSON:
{
"result":{
"findings":[
{
"quote":"(415) 555-0890",
"infoType":{
"name":"PHONE_NUMBER"
},
"likelihood":"VERY_LIKELY",
"location":{
"byteRange":{
"start":"19",
"end":"33"
},
"codepointRange":{
"start":"19",
"end":"33"
}
},
"createTime":"2018-10-29T23:46:34.535Z"
}
]
}
}
É necessário especificar infoTypes listados na referência na configuração da inspeção. Se você não especificar nenhum infoType, a Proteção de dados sensíveis usará uma lista de infoTypes padrão destinada apenas a fins de teste. A lista padrão pode não ser adequada para seus casos de uso.
Para mais informações sobre como usar os detectores de infoType para verificar conteúdo, consulte um dos tópicos de instruções sobre inspeção, edição ou desidentificação.
Certeza e teste
As descobertas são informadas com uma pontuação de certeza chamada de probabilidade. A pontuação de probabilidade indica até que ponto é provável que uma descoberta corresponda ao tipo. Por exemplo, um tipo pode retornar uma probabilidade menor se corresponder apenas ao padrão e retornar uma probabilidade maior se corresponder ao padrão e tiver contexto positivo ao redor dele. Por esse motivo, é possível perceber que uma única descoberta pode corresponder a vários tipos com menor probabilidade. Além disso, uma descoberta pode não aparecer ou pode ter menos certeza se não corresponder corretamente ou se tiver contexto negativo em torno dela. Por exemplo, uma descoberta pode não ser informada se corresponder à estrutura do infoType especificado, mas falhar na soma de verificação do infoType. Ou uma descoberta pode corresponder a mais de um infoType, mas ter um contexto que impulsiona um deles e, portanto, só é informado para esse tipo.
Se você estiver testando vários detectores, poderá notar que dados falsos ou de amostra não são informados porque esses dados não são aprovados em verificações suficientes.
Tipos de detectores de infoType
A Proteção de dados sensíveis inclui vários tipos de detectores de infoType, que estão resumidos aqui:
- Os detectores de infoType integrados fazem parte da Proteção de dados sensíveis. Eles incluem detectores para tipos de dados sensíveis específicos do país ou da região, bem como tipos de dados aplicáveis globalmente.
- Os detectores de infoType personalizados são aqueles que você mesmo cria. Eles são divididos em três tipos:
- Os pequenos detectores de dicionários personalizados são listas de palavras simples com as quais a Proteção de dados sensíveis faz correspondência. Use detectores de dicionário personalizados pequenos quando tiver uma lista de até várias dezenas de milhares de palavras ou frases. Os detectores de dicionários personalizados pequenos são preferidos caso você não preveja alterações significativas na sua lista de palavras.
- Os detectores de dicionários personalizados grandes são gerados pela Proteção de dados sensíveis usando grandes listas de palavras ou frases armazenadas no Cloud Storage ou no BigQuery. Use detectores de dicionário personalizados grandes quando tiver uma lista grande de palavras ou frases, até dezenas de milhões.
- Os detectores de expressões regulares (regex) permitem que a Proteção de dados sensíveis detecte correspondências com base em um padrão de expressão regular.
Além disso, a Proteção de dados sensíveis inclui o conceito de regras de inspeção. Com elas, você ajusta os resultados da verificação usando estes itens:
- Regras de exclusão, que permitem diminuir o número de descobertas retornadas adicionando regras a um detector de infoType integrado ou personalizado.
- Regras de hotword, que permitem aumentar a quantidade ou alterar o valor de probabilidade das descobertas retornadas adicionando regras a um detector de infoType integrado ou personalizado.
Detectores de infoType integrados
Os detectores de infoType integrados fazem parte da Proteção de dados sensíveis e
incluem detectores para tipos de dados sensíveis específicos do país ou da região, como
o Numéro d'Inscription au Répertoire (NIR) (FRANCE_NIR
) francês, o número da carteira de habilitação do Reino Unido (UK_DRIVERS_LICENSE_NUMBER
) e o número da Previdência Social dos EUA (US_SOCIAL_SECURITY_NUMBER
). Eles também incluem tipos de dados aplicáveis globalmente, como o nome de uma pessoa (PERSON_NAME
), números de telefone (PHONE_NUMBER
), endereços de e-mail (EMAIL_ADDRESS
) e números de cartão de crédito (CREDIT_CARD_NUMBER
). Para detectar conteúdo que corresponde a infoTypes, a Proteção de dados sensíveis usa várias técnicas, incluindo correspondência de padrões, somas de verificação, aprendizado de máquina, análise de contexto e outras.
A lista de detectores de infoType integrados está sempre em atualização. Para uma lista completa daqueles que são compatíveis atualmente, consulte Referência dos detectores de infoType.
Também é possível conferir uma lista completa de todos os detectores de infoType integrados
chamando o método
infoTypes.list
da Proteção de dados confidenciais.
Suporte ao idioma
Os infoTypes específicos do país são compatíveis com o idioma inglês e os idiomas do respectivo país. A maioria dos infoTypes globais funciona com vários idiomas. Teste a Proteção de dados sensíveis com seus dados para verificar se ela atende aos seus requisitos.
Detectores de infoType personalizados
Há três tipos deles:
- Detectores de dicionários personalizados pequenos
- Detectores de dicionários personalizados grandes
- Expressões regulares (regex)
Além disso, a Proteção de Dados Sensíveis inclui regras de inspeção que permitem ajustar os resultados da verificação adicionando as seguintes regras aos detectores atuais:
Detectores de dicionários personalizados pequenos
Use detectores de dicionários personalizados pequenos (também chamados de "detectores de dicionários personalizados regulares") para corresponder a uma lista curta (até várias dezenas de milhares) de palavras ou frases. Um dicionário personalizado pequeno pode atuar como um detector exclusivo próprio.
Os detectores de dicionários personalizados são úteis quando você quer verificar uma lista de palavras ou frases que não são facilmente correspondidas por uma expressão regular ou um detector incorporado. Por exemplo, se você quiser verificar salas de conferência que geralmente são identificadas não por números, mas por nomes, como nomes de estado ou região, pontos de referência, personagens fictícios, entre outros. É possível criar um detector de dicionário personalizado pequeno que contenha uma lista desses nomes de salas. A Proteção de dados sensíveis pode verificar o conteúdo de cada um dos nomes de sala e retornar uma correspondência quando encontrar um deles no contexto. Saiba mais sobre como a Proteção de dados sensíveis combina palavras e frases de dicionário na seção "Especificações de correspondência do dicionário" de Como criar um detector de dicionário personalizado regular.
Para mais detalhes sobre como detectores de infoType personalizados de dicionário pequenos funcionam, bem como para ver exemplos em ação, consulte Como criar um detector de dicionário personalizado regular.
Detectores de dicionários personalizados grandes
Use detectores de dicionários personalizados grandes (também chamados de "detectores de dicionários personalizados armazenados") quando houver mais de algumas palavras ou frases para verificar ou se sua lista de palavras ou frases mudar com frequência. Detectores de dicionários personalizados grandes podem corresponder a até dezenas de milhões de palavras ou frases.
Os detectores de dicionários personalizados grandes são criados de forma diferente dos detectores personalizados de expressões regulares e dos detectores de dicionários personalizados pequenos. Cada dicionário personalizado grande tem dois componentes:
- Uma lista de frases que você cria e define. Essa lista é armazenada como um arquivo de texto no Cloud Storage ou como uma coluna em uma tabela do BigQuery.
- Os arquivos de dicionário gerados, que são criados pela Proteção de dados sensíveis com base na sua lista de frases. Os arquivos de dicionário são armazenados no Cloud Storage e compostos por uma cópia dos dados da frase de origem e dos filtros de Bloom, que ajudam na pesquisa e na correspondência. Não é possível editar esses arquivos diretamente.
Depois de criar uma lista de palavras e usar a Proteção de dados sensíveis para gerar um dicionário personalizado, inicie ou programe uma verificação usando um detector de dicionário personalizado grande de maneira semelhante a outros detectores de infoType.
Para mais detalhes sobre como os detectores de dicionários personalizados grandes funcionam, bem como exemplos em ação, consulte Como criar um detector de dicionário personalizado armazenado.
Expressões regulares
Um detector de infoType personalizado de expressão regular (regex) permite que você crie seus próprios detectores de infoType para que a Proteção de dados sensíveis detecte correspondências com base em um padrão de expressão regular. Por exemplo, se você tiver números de registros médicos no formato ###-#-#####
. Será possível definir um padrão de regex como este:
[1-9]{3}-[1-9]{1}-[1-9]{5}
A Proteção de Dados Sensíveis corresponderia a itens como estes:
123-4-56789
Também é possível especificar uma probabilidade a ser atribuída a cada correspondência de infoType personalizada. Ou seja, quando a Proteção de dados sensíveis corresponder à sequência
especificada, ela vai atribuir a probabilidade indicada. Isso é
útil porque, se a regex personalizada definir uma sequência comum o suficiente, ela
poderá corresponder facilmente a outra sequência aleatória. Não convém
que a Proteção de dados sensíveis rotule todas as correspondências como VERY_LIKELY
. Isso pode reduzir a confiança nos resultados da verificação e, possivelmente, fazer com que as informações incorretas sejam correspondidas ou desidentificadas.
Para mais informações sobre detectores de infoType personalizados de expressões regulares e para vê-los em ação, consulte Como criar um detector de regex personalizado.
Regras de inspeção
Use regras de inspeção para refinar os resultados retornados pelos detectores de infoType atuais, sejam eles incorporados ou personalizados. Essas regras podem ser úteis quando for preciso aumentar os resultados retornados pela Proteção de dados sensíveis, seja adicionando ou excluindo o detector de infoType atual.
Os dois tipos de regras de inspeção são:
- Regras de exclusão
- Regras de hotword
Para mais informações sobre regras de inspeção, consulte Como modificar os detectores de InfoType para refinar os resultados da verificação.
Regras de exclusão
As regras de exclusão permitem diminuir a quantidade ou a precisão das descobertas retornadas ao adicionar regras a um detector de infoType integrado ou personalizado. Essas regras podem ajudar a reduzir o ruído ou impedir que resultados indesejados sejam retornados por um detector de infoType.
Por exemplo, ao verificar um banco de dados em busca de endereços de e-mail, é possível adicionar uma regra de exclusão como um regex personalizado que instrua a Proteção de dados sensíveis a excluir descobertas que terminem em "@example.com".
Para mais informações sobre regras de exclusão, consulte Como modificar os detectores de InfoType para refinar os resultados da verificação.
Regras de hotword
As regras de hotword permitem aumentar a quantidade ou precisão das descobertas retornadas ao adicionar regras a um detector de infoType integrado ou personalizado. As regras de hotword podem ajudá-lo efetivamente a flexibilizar as regras de um detector de infoType atual.
Por exemplo, suponha que você queira verificar nomes de pacientes em um banco de dados médico. É possível
usar o detector de infoType PERSON_NAME
integrado da Proteção de dados sensíveis, mas isso fará com que a Proteção de dados sensíveis corresponda a todos
os nomes de pessoas, não apenas aos nomes de pacientes. Para corrigir esse problema, inclua uma regra de hotword no formato de um infoType personalizado de regex que procura pela palavra “paciente” dentro de uma determinada proximidade de caracteres do primeiro caractere de possíveis correspondências. Em seguida, é possível atribuir a descobertas correspondentes a esse padrão uma probabilidade de "muito provável", já que elas correspondem aos critérios especiais.
Para mais informações sobre regras de hotword, consulte Como modificar os detectores de InfoType para refinar os resultados da verificação.
Exemplos
Para ter uma ideia melhor de como os infoTypes correspondem às descobertas, observe os seguintes exemplos de correspondência em uma série de dígitos para determinar se eles representam um número de seguro social dos EUA ou um número de identificação de contribuinte individual dos EUA. Lembre-se de que esses exemplos são para detectores de infoType integrados. Ao criar um detector de infoType personalizado, você especifica os critérios que determinam a probabilidade de uma correspondência de verificação.
Exemplo 1
"SSN 222-22-2222"
Informa um alto índice de probabilidade de VERY_LIKELY
para um US_SOCIAL_SECURITY_NUMBER
porque:
- Ele está no formato de número de seguro social padrão, o que aumenta a certeza.
- Ele tem contexto próximo ("SSN") que aumenta tendendo a
US_SOCIAL_SECURITY_NUMBER
.
Exemplo 2
"999-99-9999"
Informa um baixo índice de probabilidade de VERY_UNLIKELY
para um US_SOCIAL_SECURITY_NUMBER
porque:
- Ele está no formato padrão, o que aumenta a certeza.
- Começa com um número 9, o que não é permitido em números de seguro social, reduzindo, assim, a certeza.
- Falta contexto, o que diminui a certeza.
Exemplo 3
"999-98-9999"
Informa um nível de probabilidade de POSSIBLE
para um US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
e VERY_UNLIKELY
para US_SOCIAL_SECURITY_NUMBER
porque:
- Ele tem o formato padrão para
US_SOCIAL_SECURITY_NUMBER
eUS_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
. - Começa com 9 e tem outra verificação de dígitos, o que aumenta a certeza de
US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
. - Falta qualquer contexto, o que diminui a certeza para ambos.
A seguir
A equipe de Proteção de dados sensíveis lança novos detectores e grupos de infoType periodicamente. Para saber como ter a lista mais recente de infoTypes integrados, consulte [Como listar detectores de infoType integrados].