Através das regras de palavras-chave de ativação, pode expandir ainda mais os detetores de infoType incorporados e personalizados com regras de contexto avançadas. Uma regra de palavra de ativação indica à proteção de dados confidenciais que ajuste a probabilidade de uma descoberta, consoante a ocorrência de uma palavra de ativação perto dessa descoberta. Uma regra de palavra-chave de ativação é um tipo de regra de inspeção, que é especificada em conjuntos de regras. Cada regra é aplicada a um conjunto de infoTypes incorporados ou personalizados.
Anatomia de uma regra de hotword
Um detetor infoType pode ter zero ou mais regras de palavra de ativação. Na configuração de inspeção, define cada objeto HotwordRule
na matriz rules
da seguinte forma:
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"REGEX_PATTERN"
},
"proximity":{
"windowAfter":"NUM_CHARS_TO_CONSIDER_AFTER_FINDING",
"windowBefore":"NUM_CHARS_TO_CONSIDER_BEFORE_FINDING"
}
"likelihoodAdjustment":{
"fixedLikelihood":"LIKELIHOOD_VALUE"
-- OR --
"relativeLikelihood":"LIKELIHOOD_ADJUSTMENT"
},
}
},
...
]
Substitua o seguinte:
- REGEX_PATTERN: uma expressão regular (objeto
Regex
) que define o que se qualifica como uma palavra de ativação. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: um intervalo de carateres após a descoberta. A proteção de dados confidenciais analisa este intervalo para determinar se ocorre uma palavra de ativação perto da descoberta.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: um intervalo de carateres antes da descoberta. A proteção de dados confidenciais analisa este intervalo para determinar se ocorre uma palavra de ativação perto da descoberta.
LIKELIHOOD_VALUE: um nível
Likelihood
fixo para definir a deteção.LIKELIHOOD_ADJUSTMENT: um número que indica em que medida a proteção de dados confidenciais tem de aumentar ou diminuir a probabilidade da descoberta. Um número inteiro positivo aumenta o nível de probabilidade e um número inteiro negativo diminui-o. Por exemplo, se uma descoberta for
POSSIBLE
sem a regra de deteção erelativeLikelihood
for 1, a descoberta é atualizada paraLIKELY
. SerelativeLikelihood
for -1, a descoberta é desclassificada paraUNLIKELY
. A probabilidade nunca pode ser inferior aVERY_UNLIKELY
nem superior aVERY_LIKELY
. Nestes casos, o nível de probabilidade permanece inalterado. Por exemplo, se a probabilidade base forVERY_LIKELY
e o valorrelativeLikelihood
for 1, a probabilidade final continua a serVERY_LIKELY
.
Exemplo de palavra de ativação: fazer corresponder números de registos médicos
Suponhamos que quer detetar um infoType personalizado, como um número de registo médico (MRN), no formato "###-#-#####". Além disso, quer que a proteção de dados confidenciais aumente a probabilidade de correspondência de cada resultado que siga a palavra-chave "MRN".
Exemplos de valores:
- 123-4-56789 seria uma correspondência como
POSSIBLE
. - O MRN 123-4-56789 seria correspondente a
VERY_LIKELY
.
O exemplo JSON e os fragmentos de código seguintes mostram como configurar a regra de palavra-chave de ativação. Este exemplo usa um detetor de expressões regulares personalizado.
Neste exemplo, tenha em atenção o seguinte:
- O pedido define o infoType personalizado
C_MRN
, que é um detetor para qualquer string que corresponda à expressão regular[0-9]{3}-[0-9]{1}-[0-9]{5}
. - A expressão regular
(?i)(mrn|medical)(?-i)
define a palavra-chave. A proteção de dados confidenciais procura esta palavra de ativação dentro do intervalo de carateres definido no campoproximity
. - Para cada descoberta
C_MRN
que tenha uma palavra-chave dentro do conjuntoproximity
, a proteção de dados confidenciais define o nível de probabilidade comoVERY_LIKELY
.
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 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:inspect
Substitua PROJECT_ID
pelo ID do projeto.
Entrada JSON:
{
"item":{
"value":"Patient's MRN 444-5-22222 and just a number 333-2-33333"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
},
"likelihood":"POSSIBLE",
}
],
"ruleSet":[
{
"infoTypes": [{"name" : "C_MRN"}],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"(?i)(mrn|medical)(?-i)"
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
},
"proximity":{
"windowBefore":10
}
}
}
]
}
]
}
}
Saída JSON (abreviada):
{ "result": { "findings": [ { "infoType": { "name": "C_MRN" }, "likelihood": "VERY_LIKELY", "location": { "byteRange": { "start": "14", "end": "25" }, "codepointRange": { ... } } }, { "infoType": { "name": "C_MRN" }, "likelihood": "POSSIBLE", "byteRange": { "start": "44", "end": "55" }, "codepointRange": { ... } } } ] } }
O resultado mostra que a proteção de dados confidenciais identificou corretamente o número do registo médico através do detetor de infoType personalizado C_MRN
.
Além disso, devido à correspondência de contexto na regra de palavra de ativação, a proteção de dados confidenciais atribuiu ao primeiro resultado, que tinha um MRN no conjunto proximity
, uma probabilidade de VERY_LIKELY
, conforme configurado. A segunda descoberta não tinha contexto, pelo que o likelihood
permaneceu em POSSIBLE
.
Exemplo de palavra-chave: defina a probabilidade de correspondência de uma coluna da tabela
Este exemplo demonstra como pode definir a probabilidade de correspondência de uma coluna inteira de dados. Esta abordagem é útil, por exemplo, se quiser excluir uma coluna de dados dos resultados da inspeção.
Considere a seguinte tabela. Uma coluna contém números da segurança social (SSNs) de marcadores de posição e outra contém SSNs reais.
Número de beneficiário da segurança social falso | Número de Identificação da Segurança Social real |
---|---|
111-11-1111 | 222-22-2222 |
Para minimizar o ruído nos resultados da inspeção, pode excluir quaisquer conclusões na coluna Fake Social Security Number
. Atribua um nível de probabilidade baixo a esta coluna. Em seguida, configure o pedido de forma que as correspondências com esse nível de probabilidade sejam excluídas dos resultados.
Neste exemplo, tenha em atenção o seguinte:
- A regra de palavra de ativação é aplicada ao
US_SOCIAL_SECURITY_NUMBER
infoType. - A expressão regular da palavra-chave de ativação
(Fake Social Security Number)
contém o nome da coluna que tem os valores dos marcadores de posição. - A propriedade
windowBefore
está definida como 1, o que significa que a palavra de ativação está num cabeçalho de coluna e as conclusões têm de estar na coluna. - Para cada resultado
US_SOCIAL_SECURITY_NUMBER
nesta coluna, o Sensitive Data Protection define o nível de probabilidade comoVERY_UNLIKELY
. - A propriedade
minLikelihood
está definida comoPOSSIBLE
, o que significa que qualquer descoberta que tenha um nível de probabilidade inferior aPOSSIBLE
é excluída dos resultados da inspeção.
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:inspect
Substitua PROJECT_ID
pelo ID do projeto.
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
Entrada JSON:{
"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": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_UNLIKELY"
},
"proximity": {
"windowBefore": 1
}
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
Saída JSON:
{ "result": { "findings": [ { "quote": "222-22-2222", "infoType": { "name": "US_SOCIAL_SECURITY_NUMBER" }, "likelihood": "VERY_LIKELY", "location": { "byteRange": { "end": "11" }, "codepointRange": { "end": "11" }, "contentLocations": [ { "recordLocation": { "fieldId": { "name": "Real Social Security Number" }, "tableLocation": {} } } ] }, "createTime": "TIMESTAMP", "findingId": "TIMESTAMP" } ] } }
O valor 111-11-1111, que se encontra na coluna Fake Social Security Number
, correspondeu à regra de palavra-chave, pelo que a proteção de dados confidenciais lhe atribuiu o nível de probabilidade VERY_UNLIKELY
. Este nível é inferior à probabilidade mínima definida na configuração da inspeção (POSSIBLE
), pelo que esta descoberta é excluída do resultado da inspeção.
Pode experimentar este exemplo removendo o conjunto de regras. Repare que a proteção de dados confidenciais inclui 111-11-1111 nos resultados.