Os detectores de infoType integrados do Cloud Data Loss Prevention (DLP) são eficientes para encontrar tipos comuns de dados confidenciais. Os detectores de infoType personalizados permitem que você personalize totalmente seu próprio detector de dados confidenciais. As regras de inspeção ajudam a refinar os resultados da verificação que o Cloud DLP retorna ao modificar o mecanismo de detecção de um determinado detector de infoType.
Se você quiser excluir ou incluir mais valores dos resultados que são retornados por um detector de infoType integrado, crie um novo infoType personalizado do zero e defina todos os critérios a serem seguidos pelo Cloud DLP durante a pesquisa. Como alternativa, é possível refinar as descobertas que os detectores integrados ou personalizados do Cloud DLP retornam de acordo com os critérios que você especificar. Basta adicionar regras de inspeção que ajudem a reduzir o ruído, aumentar a precisão e o recall ou ajustar a certeza de probabilidade das descobertas da verificação.
Neste tópico, discutimos como usar os dois tipos de regras de inspeção para excluir determinadas descobertas ou adicionar outras descobertas, tudo de acordo com os critérios personalizados que você especificar. Neste tópico, apresentamos vários cenários em que você talvez queira alterar um detector de infoType existente.
Veja a seguir os dois tipos de regras de inspeção:
- Regras de exclusão, que ajudam a excluir descobertas falsas ou indesejadas.
- Regras de hotword, que ajudam a detectar mais descobertas.
Regras de exclusão
Veja a seguir algumas situações em que as regras de exclusão são úteis:
- Você quer excluir correspondências de verificação duplicadas em resultados causados por detectores de infoType sobrepostos. Por exemplo, você está verificando endereços de e-mail e números de telefone, mas está recebendo dois hits de endereços de e-mail com números, como "206-555-0764@example.org".
- As descobertas da verificação apresentam ruídos. Por exemplo, você está vendo o mesmo endereço de e-mail fictício (como "example@example.com") ou domínio (como "example.com") retornado um número excessivo de vezes por uma verificação de endereços de e-mail legítimos.
- Você tem uma lista de termos e frases ou uma combinação de caracteres que quer excluir das descobertas.
Visão geral da API de regras de exclusão
O Cloud DLP define uma regra de exclusão no objeto ExclusionRule
. Em ExclusionRule
, especifique uma das seguintes opções:
- Um objeto
Dictionary
, que indica que a regra de exclusão é uma regra de dicionário normal. - Um objeto
Regex
, que indica que a regra de exclusão é uma regra de expressão normal. - Um objeto
ExcludeInfoTypes
, que contém uma matriz de detectores de infoType. Se uma descoberta for correspondida por um dos detectores de infoType listados aqui, ela será excluída dos resultados da verificação.
Cenários de exemplo de regra de exclusão
Cada um dos snippets JSON a seguir ilustra como configurar o Cloud DLP para o cenário fornecido.
Omitir endereço de e-mail específico da verificação do detector EMAIL_ADDRESS
O seguinte snippet e código JSON em várias linguagens ilustra como indicar ao Cloud DLP usando um InspectConfig
que é preciso evitar a correspondência em "example@example.com" em uma verificação que usa o detector de infoType EMAIL_ADDRESS
:
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"example@example.com"
]
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omitir endereços de e-mail que terminem com um domínio específico da verificação do detector EMAIL_ADDRESS
O snippet e o código JSON a seguir em várias linguagens ilustram como indicar ao Cloud DLP usando um InspectConfig
que é preciso evitar a correspondência em qualquer endereço de e-mail que termine com "@example.com" em uma verificação que usa o detector de infoType EMAIL_ADDRESS
:
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"rules":[
{
"exclusionRule":{
"regex":{
"pattern":".+@example.com"
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omita correspondências de verificação que incluam a substring "TEST"
O seguinte snippet e código JSON em várias linguagens ilustra como
indicar ao Cloud DLP usando um
InspectConfig
que ele precisa excluir quaisquer descobertas que incluam a substring "TEST" na
lista especificada de infoTypes:
Ela corresponde a "TEST" como um token, não a uma substring. Portanto, embora algo como "TEST@email.com" corresponda, o mesmo não se aplica a "TESTER@email.com". Se você quiser a correspondência em uma substring, use uma regex na regra de exclusão em vez de um dicionário.
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"DOMAIN_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"DOMAIN_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"TEST"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omita correspondências de verificação que incluam a substring "Jimmy" de uma verificação personalizada do detector de infoType
O seguinte snippet e o código JSON em várias linguagens ilustram como indicar ao Cloud DLP usando um InspectConfig
que ele precisa evitar a correspondência com o nome "Jimmy" em uma verificação que usa o detector de regex personalizado especificado:
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_NAME_DETECTOR"
},
"regex":{
"pattern":"[A-Z][a-z]{1,15}, [A-Z][a-z]{1,15}"
}
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"CUSTOM_NAME_DETECTOR"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"Jimmy"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omitir correspondências de verificação do detector PERSON_NAME que se sobreponham a um detector personalizado
Neste cenário, o usuário não quer que seja retornada uma correspondência de uma verificação do Cloud DLP com o detector PERSON_NAME
integrado se ela também existir em uma verificação com o detector de regex personalizado definido na primeira parte do snippet.
O snippet e o código JSON a seguir em várias linguagens especificam um detector de regex personalizado e uma regra de exclusão no InspectConfig
.
O detector de regex personalizado especifica os nomes que serão excluídos dos resultados. A regra de exclusão especifica que, se algum resultado retornado de uma verificação de PERSON_NAME
também tiver correspondência pelo detector de regex personalizado, ele será omitido. Neste caso, VIP_DETECTOR
está marcado como EXCLUSION_TYPE_EXCLUDE
, portanto, ele não produzirá resultados sozinho. Ele apenas afetará os resultados produzidos pelo detector PERSON_NAME
.
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"customInfoTypes":[
{
"infoType":{
"name":"VIP_DETECTOR"
},
"regex":{
"pattern":"Larry Page|Sergey Brin"
},
"exclusionType":"EXCLUSION_TYPE_EXCLUDE"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"VIP_DETECTOR"
}
]
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omitir correspondências no detector PERSON_NAME se também houver correspondência no detector EMAIL_ADDRESS
O snippet e o código JSON em várias linguagens abaixo ilustram como indicar ao Cloud DLP com InspectConfig
que ele só deve retornar uma correspondência caso a correspondência para o detector PERSON_NAME
se sobreponha às correspondências para o detector EMAIL_ADDRESS
.
Isso evita que um endereço de e-mail, como "james@example.com", seja encontrado nos detectores PERSON_NAME
e EMAIL_ADDRESS
.
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Omitir correspondências em nomes de domínio que fazem parte de endereços de e-mail em uma verificação de detector DOMAIN_NAME
O snippet e o código JSON a seguir em várias linguagens ilustram como indicar ao Cloud DLP usando uma InspectConfig
que ele só deve retornar correspondências para uma verificação do detector DOMAIN_NAME
se a correspondência não se sobrepuser a uma correspondência em uma verificação do detector EMAIL_ADDRESS
. Nesse cenário, a verificação principal é a do detector DOMAIN_NAME
. O usuário não quer que uma correspondência de nome de domínio seja retornada nas descobertas se o nome de domínio for usado em um endereço de e-mail:
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"DOMAIN_NAME"
},
{
"name":"EMAIL_ADDRESS"
}
],
"customInfoTypes":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"exclusionType":"EXCLUSION_TYPE_EXCLUDE"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"DOMAIN_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Regras de hotword
As regras de hotword são úteis nas seguintes situações:
- Você quer alterar os valores de probabilidade atribuídos para verificar correspondências com base na proximidade da correspondência com uma hotword. Por exemplo, você quer definir o valor de probabilidade maior para correspondências em nomes de pacientes, dependendo da proximidade dos nomes com a palavra "paciente".
- Ao inspecionar dados tabulares estruturados, você quer alterar os valores de
probabilidade atribuídos a correspondências com base em um nome de cabeçalho de coluna. Por exemplo, você
quer definir o valor de probabilidade mais alto para
US_SOCIAL_SECURITY_NUMBER
quando encontrado em uma coluna com cabeçalhoACCOUNT_ID
.
Visão geral da API de regras de hotword
No objeto InspectionRule
do Cloud DLP, especifique um objeto HotwordRule
, que ajusta a probabilidade de descobertas dentro de uma certa proximidade de hotwords.
Os objetos InspectionRule
são agrupados como um "conjunto de regras" em um objeto InspectionRuleSet
, junto com uma lista de detectores de infoType aos quais o conjunto de regras se aplica. As regras em um conjunto de regras são aplicadas na ordem especificada.
Cenários de exemplo de regra de hotword
O snippet de código a seguir ilustra como configurar o Cloud DLP para o cenário apresentado.
Aumente a probabilidade de uma correspondência de PERSON_NAME se houver a hotword "paciente" nas proximidades
O snippet e o código JSON a seguir em várias linguagens ilustram o uso da propriedade InspectConfig
com o objetivo de verificar nomes de pacientes em um banco de dados médico. Embora seja possível usar o detector de infoType PERSON_NAME
integrado do Cloud DLP, isso o levará a fazer a correspondência dos nomes de todas as pessoas, não apenas dos pacientes. Para corrigir isso, é possível incluir uma regra de hotword que procure a palavra “paciente” dentro de uma determinada proximidade de caractere a partir 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 seus critérios especiais. Definir o mínimo de Likelihood
como VERY_LIKELY
em InspectConfig
garante que apenas correspondências com essa configuração sejam retornadas nas descobertas.
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"patient"
},
"proximity":{
"windowBefore":50
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
}
}
}
]
}
],
"minLikelihood":"VERY_LIKELY"
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Para informações mais detalhadas sobre hotwords, consulte Como personalizar a probabilidade de correspondência.
Cenário com várias regras de inspeção
O snippet e o código JSON InspectConfig
a seguir em várias linguagens ilustram a aplicação de regras de exclusão e de hotword. O conjunto de regras desse snippet inclui as regras de hotword e de exclusão de dicionário e regex. Observe que as quatro regras são especificadas em uma matriz dentro do elemento rules
.
Protocolo
Consulte o guia de início rápido do JSON para mais informações sobre o uso da API Cloud DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"patient"
},
"proximity":{
"windowBefore":10
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
}
}
},
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"doctor"
},
"proximity":{
"windowBefore":10
},
"likelihoodAdjustment":{
"fixedLikelihood":"UNLIKELY"
}
}
},
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"Quasimodo"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
},
{
"exclusionRule":{
"regex":{
"pattern":"REDACTED"
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Detectores de infoType sobrepostos
É possível definir um detector de infoType personalizado com o mesmo nome de um integrado. Conforme mostrado no exemplo da seção Cenários de exemplo de regra de hotword, quando você cria um detector de infoType personalizado com o mesmo nome de um infoType integrado, todas as descobertas detectadas pelo novo detector de infoType são adicionadas àquelas do detector integrado. Isso só é válido enquanto o infoType integrado estiver especificado na lista de infoTypes no objeto InspectConfig
.
Ao criar novos detectores de infoType personalizados, teste-os detalhadamente em conteúdos de exemplo para garantir que funcionem conforme esperado.