O gerenciamento adequado dos dados confidenciais armazenados em um repositório de armazenamento começa com a classificação de armazenamento. Isso significa identificar a localização dos dados confidenciais no repositório, o tipo dos dados confidenciais e como eles estão sendo usados. Esse conhecimento pode ajudar você a definir adequadamente o controle de acesso e as permissões de compartilhamento, além de fazer parte de um plano de monitoramento contínuo.
O Cloud Data Loss Prevention (DLP) pode detectar e classificar dados confidenciais armazenados em um local do Cloud Storage, um tipo do Datastore ou uma tabela do BigQuery. Ao verificar arquivos em locais do Cloud Storage, o Cloud DLP é compatível com a verificação de arquivos binários, de texto, de imagem, do Microsoft Word, PDF e Apache Avro. Uma lista de extensões dos tipos de arquivos dentro do Cloud Storage que o Cloud DLP pode verificar está disponível na página de referência da API para FileType
.
Os arquivos de tipos não reconhecidos são verificados como arquivos binários.
Para inspecionar dados confidenciais de armazenamento e bancos de dados, especifique o local e o tipo dos dados confidenciais que o Cloud DLP precisa procurar. O Cloud DLP inicia um job que inspeciona os dados no local especificado e disponibiliza detalhes sobre os InfoTypes encontrados no conteúdo, valores de probabilidade, entre outros.
É possível configurar a inspeção de armazenamento e bancos de dados usando o Cloud DLP no Console do Cloud, por meio da API RESTful do Cloud DLP ou usando de maneira programática uma biblioteca de cliente do Cloud DLP em uma das várias linguagens.
Este tópico inclui:
- Práticas recomendadas para configurar verificações de repositórios de armazenamento e bancos de dados do Google Cloud.
- Instruções para configurar uma verificação de inspeção usando o Cloud DLP no Console do Cloud e, opcionalmente, programar verificações periódicas de inspeção repetidas.
- Exemplo de JSON para cada tipo de repositório de armazenamento do Google Cloud (Cloud Storage, Datastore e BigQuery) e amostras de código em várias linguagens de programação.
- Uma visão geral detalhada das opções de configuração dos jobs de verificação.
- Instruções sobre como recuperar os resultados da verificação e como gerenciar os jobs de verificação criados com base em cada solicitação bem-sucedida.
Práticas recomendadas
Como identificar e priorizar a verificação
É importante avaliar primeiro os recursos e especificar quais deles têm a maior prioridade de verificação. Ao começar, é possível ter um grande acúmulo de dados que precisam de classificação e será impossível verificá-los imediatamente. Escolha inicialmente os dados que representam o maior risco potencial, por exemplo, dados que são acessados com frequência, amplamente acessíveis ou desconhecidos.
Garanta que o Cloud DLP possa acessar seus dados
O Cloud DLP precisa acessar os dados a serem verificados. Certifique-se de que a conta de serviço do Cloud DLP tenha permissão para ler seus recursos.
Limite o escopo nas primeiras verificações
Para ter melhores resultados, limite o escopo dos seus primeiros jobs em vez de verificar todos os dados. Comece com uma tabela, um bucket ou alguns arquivos e use uma amostragem. Ao limitar o escopo das primeiras verificações, é possível determinar melhor quais detectores serão ativados e quais regras de exclusão podem ser necessárias para reduzir os falsos positivos. Assim, suas descobertas serão mais significativas. Evite ativar todos os infoTypes se você não precisar de todos eles, pois os falsos positivos ou as descobertas inúteis podem dificultar a avaliação do seu risco. Embora sejam úteis em determinados cenários, alguns infoTypes, como DATE
, TIME
, DOMAIN_NAME
e URL
, correspondem a uma ampla variedade de descobertas e podem não ser úteis para grandes verificações de dados.
Programar as verificações
Use os gatilhos de jobs do Cloud DLP para executar verificações automaticamente e gerar descobertas diárias, semanais ou trimestrais. Essas verificações também podem ser configuradas para inspecionar apenas os dados que foram alterados desde a última verificação, o que pode economizar tempo e reduzir custos. Executar verificações regularmente pode ajudar você a identificar tendências ou anomalias nos resultados da verificação.
Reduzir a latência
A latência é afetada por vários fatores: a quantidade de dados a serem verificados, o repositório de armazenamento que está sendo verificado e o tipo e o número de infoTypes que estão ativados.
Para ajudar a reduzir a latência do job, tente o seguinte:
- Ative a amostragem.
- Evite ativar todos os infoTypes se você não precisar de todos eles. Embora sejam úteis em
determinados cenários, alguns infoTypes, incluindo
PERSON_NAME
,FEMALE_NAME
,MALE_NAME
,FIRST_NAME
,LAST_NAME
,DATE_OF_BIRTH
,LOCATION
,STREET_ADDRESS
,MEDICAL_TERM
,ORGANIZATION_NAME
eALL_BASIC
podem fazer com que as solicitações fiquem muito mais lentas se comparadas com aquelas em que eles não são incluídos.
Antes de começar
As instruções fornecidas neste tópico pressupõem o seguinte:
Você ativou o faturamento.
Você ativou o Cloud DLP.
A classificação de armazenamento requer o seguinte escopo OAuth: https://www.googleapis.com/auth/cloud-platform
. Para mais informações, consulte Como autenticar na API Cloud DLP.
Inspecionar um local do Cloud Storage
É possível configurar uma inspeção do Cloud DLP de um local do Cloud Storage usando o Console do Google Cloud, a API Cloud DLP por meio de solicitações REST ou RPC ou programaticamente em vários idiomas usando uma biblioteca de cliente. Para informações sobre os parâmetros incluídos nas amostras de código e JSON a seguir, consulte "Configurar inspeção de armazenamento" mais adiante neste tópico.
Para configurar um job de verificação de um bucket do Cloud Storage usando o Cloud DLP:
Console
No Console do Cloud, abra o Cloud DLP.
No menu Criar, escolha Job ou gatilho de jobs.
Insira as informações de job do Cloud DLP e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, nomeie o job digitando um valor no campo Nome. Em Local, escolha o Cloud Storage no menu Tipo de armazenamento e insira o local dos dados a serem verificados. A seção Amostragem é pré-configurada para executar uma verificação de amostra com base nos seus dados. Você pode ajustar o campo Porcentagem de objetos verificados dentro do bucket para salvar recursos se você tiver uma grande quantidade de dados. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar as descobertas do Cloud DLP em uma tabela do BigQuery. Forneça:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
, em que[DATE]
representa a data em que a verificação é executada. Se você especificar uma tabela existente, as descobertas serão anexadas a ela.
Também é possível salvar os resultados no Pub/Sub, no Security Command Center, no Data Catalog e no Cloud Monitoring. Para mais detalhes, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, para executar a verificação apenas uma vez, deixe o menu definido como Nenhum. Para programar a execução periódica das verificações, clique em Criar um gatilho para executar o job periodicamente. Para mais detalhes, consulte Programar.
Clique em Criar.
Depois que o job do Cloud DLP for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar as descobertas do Cloud DLP no BigQuery, na página Detalhes do job, clique em Ver descobertas no BigQuery para abrir a tabela na IU da Web do BigQuery. Lá, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar os resultados no BigQuery, consulte Como consultar as descobertas do Cloud DLP no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o endpoint REST especificado do Cloud DLP. Este JSON de exemplo demonstra como usar a API Cloud DLP para inspecionar buckets do Cloud Storage. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.
É possível testar isso rapidamente na APIs Explorer na página de referência para content.inspect
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte "Recuperar resultados de inspeção", mais adiante neste tópico. Para informações gerais sobre como usar JSON para enviar solicitações à API Cloud DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]"
}
}
}
}
]
}
}
Saída JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"minLikelihood":"LIKELY",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[NEW-TABLE-ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-07T18:01:14.225Z"
}
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Go
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
PHP
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.
Inspecionar um tipo do Datastore
É possível configurar uma inspeção de um tipo do Datastore usando o Console do Google Cloud, a API Cloud DLP por meio de solicitações REST ou RPC ou programaticamente em vários idiomas usando uma biblioteca de cliente.
Para configurar um job de verificação de um tipo do Datastore usando o Cloud DLP:
Console
Para configurar um job de verificação de um bucket do Datastore usando o Cloud DLP:
No Console do Cloud, abra o Cloud DLP.
No menu Criar, escolha Job ou gatilho de jobs.
Insira as informações de job do Cloud DLP e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, insira os identificadores do projeto, o namespace (opcional) e o tipo que você quer verificar. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar as descobertas do Cloud DLP em uma tabela do BigQuery. Forneça:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
. Se você especificar uma tabela atual, as descobertas serão anexadas a ela.
Para mais informações sobre as outras ações listadas, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, configure um período de tempo ou uma programação, selecionando Especificar período de tempo ou Criar um gatilho para executar o job em uma programação periódica. Para mais informações, consulte Programar.
Clique em Criar.
Depois que o job do Cloud DLP for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar as descobertas do Cloud DLP no BigQuery, na página Detalhes do job, clique em Ver descobertas no BigQuery para abrir a tabela na IU da Web do BigQuery. Lá, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar os resultados no BigQuery, consulte Como consultar as descobertas do Cloud DLP no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o endpoint REST especificado da API Cloud DLP. Este JSON de exemplo demonstra como usar a API Cloud DLP para inspecionar tipos do Datastore. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.
É possível testar isso rapidamente na APIs Explorer na página de referência para dlpJobs.create
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte Recuperar resultados de inspeção, mais adiante neste tópico. Para informações gerais sobre como usar JSON para enviar solicitações à API Cloud DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"Example-Kind"
},
"partitionId":{
"namespaceId":"[NAMESPACE-ID]",
"projectId":"[PROJECT-ID]"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
}
}
}
]
}
}
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Go
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
PHP
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.
Inspecionar uma tabela do BigQuery
É possível configurar a inspeção de uma tabela do BigQuery usando o Cloud DLP com solicitações REST ou de maneira programática em várias linguagens com uma biblioteca de cliente.
Para configurar um job de verificação de uma tabela do BigQuery usando o Cloud DLP:
Console
Para configurar um job de verificação de uma tabela do BigQuery usando o Cloud DLP:
No Console do Cloud, abra o Cloud DLP.
No menu Criar, escolha Job ou gatilho de jobs.
Insira as informações de job do Cloud DLP e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, nomeie o job digitando um valor no campo Nome. Em Local, escolha o BigQuery no menu Tipo de armazenamento e insira as informações da tabela a ser verificada. A seção Amostragem é pré-configurada para executar uma verificação de amostra com base nos seus dados. É possível ajustar os campos Limitar linhas por e Número máximo de linhas para economizar recursos se houver uma grande quantidade de dados. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar as descobertas do Cloud DLP em uma tabela do BigQuery. Forneça:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
. Se você especificar uma tabela atual, as descobertas serão anexadas a ela.
Também é possível salvar os resultados no Pub/Sub, Security Command Center e Data Catalog. Para mais detalhes, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, para executar a verificação apenas uma vez, deixe o menu definido como Nenhum. Para programar a execução periódica das verificações, clique em Criar um gatilho para executar o job periodicamente. Para mais detalhes, consulte Programar.
Clique em Criar.
Depois que o job do Cloud DLP for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar as descobertas do Cloud DLP no BigQuery, na página Detalhes do job, clique em Ver descobertas no BigQuery para abrir a tabela na IU da Web do BigQuery. Lá, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar os resultados no BigQuery, consulte Como consultar as descobertas do Cloud DLP no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o endpoint REST especificado da API Cloud DLP. Este JSON de exemplo demonstra como usar a API Cloud DLP para inspecionar tabelas do BigQuery. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.É possível testar isso rapidamente na APIs Explorer na página de referência para dlpJobs.create
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte "Recuperar resultados de inspeção", mais adiante neste tópico. Para informações gerais sobre como usar JSON para enviar solicitações à API Cloud DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"identifyingFields":[
{
"name":"person.contactinfo"
}
]
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z ",
"endTime":"2018-01-05T04:45:04.240912125Z "
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
},
"outputSchema": "BASIC_COLUMNS"
}
}
]
}
}
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Go
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
PHP
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.
Configurar a inspeção de armazenamento
Para inspecionar um local do Cloud Storage, um tipo do Datastore ou uma tabela do BigQuery, envie uma solicitação ao método projects.dlpJobs.create
da API Cloud DLP que contenha pelo menos o local dos dados a serem verificados e o que verificar. Além desses parâmetros obrigatórios, também é possível especificar em que local gravar os resultados da verificação, os limites de tamanho e de probabilidade, entre outros. Uma solicitação bem-sucedida resulta na criação de uma instância do objeto DlpJob
, que discutiremos em "Recuperar os resultados da inspeção".
Veja as opções de configuração disponíveis resumidas abaixo:
Objeto
InspectJobConfig
: contém as informações de configuração do job de inspeção. Observe que o objetoInspectJobConfig
também é usado pelo objetoJobTriggers
para programar a criação deDlpJob
. Esse objeto inclui:Objeto
StorageConfig
: obrigatório. Contém detalhes sobre o repositório de armazenamento a ser verificado:Um dos itens a seguir precisa ser incluído no objeto
StorageConfig
, dependendo do tipo de repositório de armazenamento que está sendo verificado:Objeto
CloudStorageOptions
: contém informações sobre o bucket do Cloud Storage a ser verificado.Objeto
DatastoreOptions
: contém informações sobre o conjunto de dados do Datastore a ser verificado.Objeto
BigQueryOptions
: contém informações sobre a tabela do BigQuery a ser verificada e, se você quiser, os campos de identificação. Esse objeto também ativa a amostragem dos resultados. Para mais informações, consulte Como ativar a amostragem de resultados abaixo.Objeto
TimespanConfig
: opcional. Especifica o período dos itens a serem incluídos na verificação.
Objeto
InspectConfig
: obrigatório. Especifica o que verificar, como valores infoTypes e probabilidade .- Objetos
InfoType
: obrigatórios. Um ou mais valores de infoType a serem verificados. - Enumeração
Likelihood
: opcional. Quando definida, o Cloud DLP retorna apenas descobertas iguais ou acima desse limite de probabilidade. Se for omitida, o valor padrão seráPOSSIBLE
. - Objeto
FindingLimits
: opcional. Quando definido, esse objeto permite especificar um limite para o número de descobertas retornadas. - Parâmetro
includeQuote
: opcional. O padrão éfalse
. Quando definido comotrue
, cada descoberta inclui uma citação contextual dos dados que a acionaram. - Parâmetro
excludeInfoTypes
: opcional. O padrão éfalse
. Quando definido comotrue
, os resultados da verificação excluem as informações de tipo das descobertas. - Objetos
CustomInfoType
: um ou mais infoTypes personalizados criados pelo usuário. Para mais informações sobre a criação de infoTypes personalizados, consulte Como criar detectores de infoType personalizados.
- Objetos
String
inspectTemplateName
: opcional. Especifica um modelo a ser usado para preencher valores padrão no objetoInspectConfig
. Se você já tiver especificadoInspectConfig
, os valores do modelo serão mesclados.Objetos
Action
: opcionais. Uma ou mais ações a serem executadas na conclusão do job. Cada ação é executada na ordem em que está listada. É aqui que você especifica em que local gravar os resultados ou se quer publicar uma notificação em um tópico do Pub/Sub.
jobId
: opcional. Um identificador para o job retornado pelo Cloud DLP. SejobId
for omitido ou estiver vazio, o sistema criará um ID para o job. Se especificado, o job receberá esse valor de ID. O ID do job precisa ser exclusivo e pode conter letras maiúsculas e minúsculas, números e hifens. Isto é, ele precisa corresponder à seguinte expressão regular:[a-zA-Z\\d-]+
.
Limitar a quantidade de conteúdo inspecionado
Se você estiver verificando tabelas do BigQuery ou buckets do Cloud Storage, o Cloud DLP incluirá uma maneira de verificar um subconjunto do conjunto de dados. Esse procedimento pode fornecer uma amostra dos resultados da verificação sem incorrer nos custos potenciais da verificação de um conjunto de dados inteiro.
As seções a seguir contêm informações sobre como limitar o tamanho das verificações do Cloud Storage e do BigQuery.
Limitar verificações do Cloud Storage
Para ativar a amostragem no Cloud Storage, limite a quantidade de dados verificados. É possível instruir a API Cloud DLP a verificar apenas os arquivos com um determinado tamanho, apenas alguns tipos de arquivos ou apenas uma certa porcentagem do número total no conjunto de arquivos de entrada. Para fazer isso, especifique os campos opcionais a seguir em CloudStorageOptions
:
bytesLimitPerFile
: define o número máximo de bytes a serem verificados em um arquivo. Se o tamanho de um arquivo verificado for maior que esse valor, o restante dos bytes será omitido.fileTypes[]
: lista oFileTypes
a ser incluído na verificação. Pode ser definido como um ou mais dos tipos enumerados a seguir:filesLimitPercent
: limita o número de arquivos para verificação à porcentagem especificada na entradaFileSet
. A especificação de0
ou100
aqui significa que não há limite.sampleMethod
: como criar bytes de amostra se nem todos forem verificados. A especificação desse valor só é relevante quando usada em conjunto combytesLimitPerFile
. Se não for especificado, a verificação começará de cima para baixo. Esse campo pode ser definido como um destes dois valores:TOP
: a verificação começa de cima para baixo.RANDOM_START
: para cada arquivo maior que o tamanho especificado embytesLimitPerFile
, escolha aleatoriamente o deslocamento para iniciar a verificação. Os bytes verificados são contíguos.
Os exemplos a seguir demonstram o uso da API Cloud DLP para verificar um subconjunto de 90% de um bucket do Cloud Storage em busca de nomes de pessoas. A verificação começa em um local aleatório no conjunto de dados e inclui apenas arquivos de texto com menos de 200 bytes.
Protocolo
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"filesLimitPercent":90,
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"excludeInfoTypes":true,
"includeQuote":true,
"minLikelihood":"POSSIBLE"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Depois de enviar a entrada JSON em uma solicitação POST para o endpoint especificado, um job do Cloud DLP é criado e a API envia a resposta a seguir.
Saída JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"sampleMethod":"TOP",
"filesLimitPercent":90
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true,
"excludeInfoTypes":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[TABLE-ID]"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-30T22:22:08.279Z"
}
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Limitar as verificações do BigQuery
Para ativar a amostragem no BigQuery, limite a quantidade de dados verificados e especifique os campos opcionais a seguir em BigQueryOptions
:
rowsLimit
: o número máximo de linhas a serem verificadas. Se a tabela tiver mais linhas do que esse valor, o restante delas será omitido. Se não for definido ou se for definido como 0, todas as linhas serão verificadas.sampleMethod
: como criar linhas de amostra se nem todas forem verificadas. Se não for especificado, a verificação começará de cima para baixo. Esse campo pode ser definido como um destes dois valores:TOP
: a verificação começa de cima para baixo.RANDOM_START
: a verificação começa a partir de uma linha selecionada aleatoriamente.
excludedFields
: exclui determinadas colunas da leitura. Isso pode ajudar a reduzir a quantidade de dados verificados e reduzir o custo geral de um job de inspeção.
Outro recurso útil para limitar os dados verificados, especialmente ao verificar tabelas particionadas, é TimespanConfig
.
TimespanConfig
permite filtrar as linhas da tabela do BigQuery fornecendo valores relativos ao horário de início e término para definir um período. Em seguida, o Cloud DLP só verifica as linhas que contêm um carimbo de data/hora nesse período.
Os exemplos a seguir demonstram o uso da API Cloud DLP para verificar um subconjunto de 1.000 linhas em uma tabela do BigQuery. A verificação começa a partir de uma linha aleatória.
Protocolo
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START",
"identifyingFields":[
{
"name":"name"
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Depois de enviar a entrada JSON em uma solicitação POST para o endpoint especificado, um job do Cloud DLP é criado e a API envia a resposta a seguir.
Saída JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-25T21:02:50.655Z"
}
Quando a execução do job de inspeção termina e os resultados são processados pelo BigQuery, eles ficam disponíveis na tabela de saída especificada do BigQuery. Para mais informações sobre como recuperar os resultados da inspeção, consulte a próxima seção.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud DLP, consulte Bibliotecas de cliente do Cloud DLP.
Recuperar os resultados da inspeção
É possível recuperar um resumo de DlpJob
usando o método projects.dlpJobs.get
. O DlpJob
retornado inclui um objeto InspectDataSourceDetails
, que contém um resumo da configuração do job (RequestedOptions
) e um resumo do resultado do job (Result
). O resumo dos resultados inclui:
processedBytes
: o tamanho total em bytes que foram processados.totalEstimatedBytes
: estimativa do número de bytes restantes a processar.- Objeto
InfoTypeStatistics
: as estatísticas de quantas instâncias referentes a cada infoType foram encontradas durante o job de inspeção.
Para ver os resultados completos da inspeção, você tem duas opções. Dependendo da Action
que você escolheu, os jobs de inspeção são:
- Salvos no BigQuery (o objeto
SaveFindings
) na tabela especificada. Antes de ver ou analisar os resultados, use o métodoprojects.dlpJobs.get
descrito abaixo para conferir se o job foi concluído. É possível especificar um esquema para armazenar descobertas usando o objetoOutputSchema
. - Publicado em um tópico do Pub/Sub (o objeto
PublishToPubSub
). É preciso conceder ao tópico direitos de acesso de publicação à conta de serviço do Cloud DLP que executa oDlpJob
responsável pelo envio das notificações.
Para ajudar a filtrar grandes quantidades de dados gerados pelo Cloud DLP, use ferramentas integradas do BigQuery, que permitem fazer análises avançadas de SQL, ou ferramentas como o Google Data Studio, que possibilitam gerar relatórios. Para mais informações, consulte Como analisar e reportar as descobertas do Cloud DLP. Para algumas consultas de amostra, veja Como consultar descobertas no BigQuery.
Se você enviar uma solicitação de inspeção do repositório de armazenamento para o Cloud DLP, uma instância do objeto DlpJob
será criada e executada em resposta. Esses jobs podem levar segundos, minutos ou horas para serem executados, dependendo do tamanho dos dados e da configuração que você especificou. Caso você opte por publicar em um tópico do Pub/Sub, (especificando PublishToPubSub
em Action
), as notificações serão enviadas automaticamente para o tópico com o nome especificado quando o status do job for alterado. O nome do tópico do Pub/Sub é especificado no formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME]
.
Você tem controle total sobre os jobs criados, incluindo os métodos de gerenciamento a seguir:
- Método
projects.dlpJobs.cancel
: interrompe um job que está em execução. O servidor faz várias tentativas de cancelar o job, mas o sucesso não é garantido. O job e a configuração dele existirão até que você os exclua com o método a seguir. - Método
projects.dlpJobs.delete
: exclui um job e a respectiva configuração. - Método
projects.dlpJobs.get
: recupera um único job e retorna o status, a respectiva configuração e, se o job tiver sido concluído, o resumo dos resultados. - Método
projects.dlpJobs.list
: recupera uma lista de todos os jobs e inclui a capacidade de filtrar os resultados.