Os detectores de infoType integrados da proteção de dados sensíveis são eficazes para encontrar tipos comuns de dados sensíveis. 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 a proteção de dados sensíveis retorna ao modificar o mecanismo de detecção de um determinado detector de infoType.
Se você quiser excluir ou incluir mais valores dos resultados retornados por um detector de infoType integrado, crie um novo infoType personalizado do zero e defina todos os critérios que a proteção de dados sensíveis precisa procurar. Como alternativa, é possível refinar as descobertas que os detectores integrados ou personalizados da proteção de dados sensíveis retornam de acordo com os critérios especificados. 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".
- Os resultados da verificação estão com ruído. 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, frases ou combinação de caracteres que quer excluir dos resultados.
- Você quer excluir uma coluna inteira de dados dos resultados.
- Você quer excluir descobertas próximas a uma string que corresponda a uma expressão regular.
Visão geral da API de regras de exclusão
A proteção de dados sensíveis define uma regra de exclusão no
objeto
ExclusionRule
. Em ExclusionRule
, especifique uma das seguintes opções:
- Um objeto
Dictionary
, que contém uma lista de strings a serem excluídas dos resultados. - Um objeto
Regex
, que define um padrão de expressão regular. As strings que correspondem ao padrão são excluídas dos resultados. - Um objeto
ExcludeInfoTypes
, que contém uma matriz de detectores de infoType. Se uma descoberta for correspondente por qualquer um dos detectores de infoType listados aqui, ela será excluída dos resultados. Um objeto
ExcludeByHotword
, que contém o seguinte:- Uma expressão regular que define a hotword.
- Um valor de proximity que define a distância que a hotword precisa estar da descoberta.
Se a descoberta estiver dentro da proximidade definida, ela será excluída dos resultados. Para tabelas, esse tipo de regra de exclusão permite excluir uma coluna inteira de dados dos resultados.
Cenários de exemplo de regra de exclusão
Cada um dos snippets JSON a seguir ilustra como configurar a proteção de dados sensíveis no cenário especificado.
Omitir endereço de e-mail 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 à proteção de dados sensíveis usando um InspectConfig
que precisa evitar a correspondência em "example@example.com" em uma verificação que usa o detector de infoType EMAIL_ADDRESS
:
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
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 à proteção de dados sensíveis usando um InspectConfig
que precisa evitar a correspondência em endereços de e-mail que terminam com "@example.com" em uma verificação que usa o detector de infoType EMAIL_ADDRESS
:
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
Omita correspondências de verificação que incluam a substring "TEST"
O snippet e código JSON a seguir em várias linguagens ilustram como indicar à proteção de dados sensíveis usando um InspectConfig
que precisa excluir todas as descobertas que incluam o token "TEST" da lista de infoTypes especificada.
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.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
Omita correspondências de verificação que incluam a substring "Jimmy" de uma verificação personalizada do detector de infoType
O snippet e o código JSON a seguir em várias linguagens ilustram como indicar à proteção de dados sensíveis usando um InspectConfig
que precisa evitar a correspondência do nome "Jimmy" em uma verificação que usa o detector de regex personalizado especificado:
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
Omitir correspondências de verificação do detector PERSON_NAME que se sobreponham a um detector personalizado
Nesse cenário, o usuário não quer retornar uma correspondência de uma verificação de proteção de dados
sensíveis com o detector integrado PERSON_NAME
caso ela também
seja correspondida 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
.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API DLP com o JSON.
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"customInfoTypes":[
{
"infoType":{
"name":"VIP_DETECTOR"
},
"regex":{
"pattern":"Dana Williams|Quinn Garcia"
},
"exclusionType":"EXCLUSION_TYPE_EXCLUDE"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"VIP_DETECTOR"
}
]
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
Omitir correspondências no detector PERSON_NAME se também houver correspondência no detector EMAIL_ADDRESS
O snippet e o código JSON a seguir em várias linguagens ilustram como
indicar à proteção de dados sensíveis usando um
InspectConfig
que ele precisa retornar apenas uma correspondência no caso de haver sobreposição do detector
PERSON_NAME
com 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
.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
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
à proteção de dados sensíveis usando um
InspectConfig
de que ele só retornará correspondências para uma verificação de detector DOMAIN_NAME
se elas
não se sobrepuserem a uma correspondência em uma verificação de 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:
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
Omitir correspondências se elas estiverem localizadas perto de uma string
O exemplo a seguir ilustra como excluir correspondências no detector de infoType US_SOCIAL_SECURITY_NUMBER
se a palavra "SKU" estiver com até 10 caracteres antes ou 10 caracteres depois da descoberta.
Devido à regra de exclusão, este exemplo não classifica 222-22-2222
como um
possível CPF dos EUA.
{
"item": {
"value": "The customer sent the product SKU 222-22-2222"
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"exclusionRule": {
"excludeByHotword": {
"hotwordRegex": {
"pattern": "(SKU)"
},
"proximity": {
"windowBefore": 10,
"windowAfter": 10
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
],
"includeQuote": true
}
}
Omitir descobertas em uma coluna inteira de dados
O exemplo a seguir ilustra como excluir descobertas em uma coluna inteira de
dados tabulares se o nome dessa coluna corresponder a uma expressão regular. Aqui, qualquer descoberta que corresponda ao detector de infoType US_SOCIAL_SECURITY_NUMBER
será excluída dos resultados se ela estiver na coluna Número de seguro social falso.
Este exemplo retorna apenas 222-22-2222
, porque 111-11-1111
está na coluna Fake
Social Security Number.
{
"item": {
"table": {
"headers": [
{
"name": "Fake Social Security Number"
},
{
"name": "Real Social Security Number"
}
],
"rows": [
{
"values": [
{
"stringValue": "111-11-1111"
},
{
"stringValue": "222-22-2222"
}
]
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"includeQuote": true,
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"exclusionRule": {
"excludeByHotword": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"proximity": {
"windowBefore": 1
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
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
da proteção de dados sensíveis, especifique um objeto HotwordRule
, que ajusta a probabilidade de descobertas dentro de uma determinada 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 a proteção de dados sensíveis no cenário especificado.
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. É possível usar o detector de infoType PERSON_NAME
integrado da proteção de dados sensíveis, mas isso fará com que ela corresponda aos 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.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
...
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
.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API 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"
}
}
]
}
]
}
...
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.