A gestão adequada dos dados confidenciais armazenados num repositório de armazenamento começa com a classificação do armazenamento: identificar onde estão os seus dados confidenciais no repositório, que tipo de dados confidenciais são e como estão a ser usados. Este conhecimento pode ajudar a definir corretamente o controlo de acesso e as autorizações de partilha, e pode fazer parte de um plano de monitorização contínuo.
A Proteção de dados confidenciais pode detetar e classificar dados confidenciais armazenados numa localização do Cloud Storage, num tipo do Datastore ou numa tabela do BigQuery. Ao analisar ficheiros em localizações do Cloud Storage, a proteção de dados sensíveis suporta a análise de ficheiros binários, de texto, de imagem, do Microsoft Word, do Microsoft Excel, do Microsoft PowerPoint, PDF e do Apache Avro. Os ficheiros de tipos não reconhecidos são analisados como ficheiros binários. Para mais informações sobre os tipos de ficheiros suportados, consulte Tipos de ficheiros suportados.
Para inspecionar o armazenamento e as bases de dados em busca de dados confidenciais, especifica a localização dos dados e o tipo de dados confidenciais que a proteção de dados confidenciais deve procurar. A proteção de dados confidenciais inicia uma tarefa que inspeciona os dados na localização especificada e, em seguida, disponibiliza detalhes sobre os infoTypes encontrados no conteúdo, os valores de probabilidade e muito mais.
Pode configurar a inspeção do armazenamento e das bases de dados através da proteção de dados confidenciais na Google Cloud consola, através da API DLP RESTful ou programaticamente através de uma biblioteca de cliente da proteção de dados confidenciais num dos vários idiomas.
Este tópico inclui:
- Práticas recomendadas para configurar as análises de Google Cloud repositórios de armazenamento e bases de dados.
- Instruções para configurar uma análise de inspeção através da proteção de dados confidenciais na Google Cloud consola e (opcionalmente) para agendar análises de inspeção periódicas repetidas.
- Exemplos de código e JSON para cada Google Cloud tipo de repositório de armazenamento: (Cloud Storage, Firestore no modo Datastore (Datastore) e BigQuery).
- Uma vista geral detalhada das opções de configuração para tarefas de análise.
- Instruções sobre como obter os resultados da análise e como gerir as tarefas de análise criadas a partir de cada pedido bem-sucedido.
Práticas recomendadas
Identifique e priorize a análise
É importante avaliar primeiro os seus recursos e especificar os que têm a prioridade mais alta para a análise. Quando está a começar, pode ter um grande volume de dados que precisam de classificação, e é impossível analisar tudo imediatamente. Escolha inicialmente os dados que representam o maior risco potencial, por exemplo, dados acedidos com frequência, amplamente acessíveis ou desconhecidos.
Certifique-se de que a proteção de dados confidenciais pode aceder aos seus dados
A proteção de dados confidenciais tem de conseguir aceder aos dados a analisar. Certifique-se de que a conta de serviço de proteção de dados confidenciais tem autorização para ler os seus recursos.
Limite o âmbito das suas primeiras análises
Para obter os melhores resultados, limite o âmbito das suas primeiras tarefas em vez de analisar todos os seus dados. Comece com uma tabela, um contentor ou alguns ficheiros e use a amostragem. Ao limitar o âmbito das suas primeiras análises, pode determinar melhor que detetores ativar e que regras de exclusão podem ser necessárias para reduzir os falsos positivos, de modo que as suas conclusões sejam mais significativas. Evite ativar todos os infoTypes se não precisar de todos, uma vez que os falsos positivos ou as descobertas inutilizáveis podem dificultar a avaliação do seu risco. Embora sejam úteis em determinados cenários, os infoTypes, como DATE
, TIME
, DOMAIN_NAME
e URL
, correspondem a uma vasta gama de resultados e podem não ser úteis para ativar em grandes análises de dados.
Quando faz a amostragem de um ficheiro estruturado, como um ficheiro CSV, TSV ou Avro, certifique-se de que a dimensão da amostra é suficientemente grande para abranger o cabeçalho completo do ficheiro e uma linha de dados. Para mais informações, consulte o artigo Analisar ficheiros estruturados no modo de análise estruturada.
Agende as suas análises
Use acionadores de tarefas da Proteção de dados confidenciais para executar automaticamente verificações e gerar resultados diariamente, semanalmente ou trimestralmente. Estas análises também podem ser configuradas para inspecionar apenas os dados que foram alterados desde a última análise, o que pode poupar tempo e reduzir os custos. A execução de análises regularmente pode ajudar a identificar tendências ou anomalias nos resultados das análises.
Latência da tarefa
Não existem objetivos ao nível do serviço (SLO) garantidos para tarefas e acionadores de tarefas. A latência é afetada por vários fatores, incluindo a quantidade de dados a analisar, o repositório de armazenamento que está a ser analisado, o tipo e o número de infoTypes que está a procurar, a região onde a tarefa é processada e os recursos de computação disponíveis nessa região. Por conseguinte, não é possível determinar antecipadamente a latência das tarefas de inspeção.
Para ajudar a reduzir a latência das tarefas, pode experimentar o seguinte:
- Se a amostragem estiver disponível para o seu trabalho ou acionador de trabalho, ative-a.
Evite ativar infoTypes de que não precisa. Embora as seguintes sejam úteis em determinados cenários, estes infoTypes podem fazer com que os pedidos sejam executados muito mais lentamente do que os pedidos que não os incluem:
PERSON_NAME
FEMALE_NAME
MALE_NAME
FIRST_NAME
LAST_NAME
DATE_OF_BIRTH
LOCATION
STREET_ADDRESS
ORGANIZATION_NAME
Especifique sempre os infoTypes explicitamente. Não use uma lista infoTypes vazia.
Se possível, use uma região de processamento diferente.
Se continuar a ter problemas de latência com tarefas depois de experimentar estas técnicas,
considere usar pedidos
content.inspect
ou
content.deidentify
em vez de tarefas. Estes métodos são abrangidos pelo contrato de nível de serviço. Para mais informações, consulte o contrato de nível de serviço de proteção de dados confidenciais.
Antes de começar
As instruções fornecidas neste tópico pressupõem o seguinte:
Ativou a faturação.
Ativou a proteção de dados confidenciais.
A classificação de armazenamento requer o seguinte âmbito do OAuth:
https://www.googleapis.com/auth/cloud-platform
. Para mais informações, consulte o artigo
Autenticação na API DLP.
Inspeccione uma localização do Cloud Storage
Pode configurar uma inspeção de proteção de dados confidenciais de uma localização do Cloud Storage através da Google Cloud consola, da API DLP através de pedidos REST ou RPC, ou programaticamente em vários idiomas através de uma biblioteca cliente. Para obter informações sobre os parâmetros incluídos nos seguintes exemplos de JSON e código, consulte a secção "Configure a inspeção de armazenamento" mais adiante neste tópico.
A Proteção de dados confidenciais baseia-se nas extensões de ficheiros e nos tipos de multimédia (MIME) para identificar os tipos de ficheiros a analisar e os modos de análise a aplicar. Por exemplo, a Proteção de dados confidenciais analisa um ficheiro .txt
no modo de texto simples, mesmo que o ficheiro esteja estruturado como um ficheiro CSV, que é normalmente analisado no modo de análise estruturada.
Para configurar uma tarefa de análise de um contentor do Cloud Storage através da proteção de dados confidenciais:
Consola
Esta secção descreve como inspecionar um contentor ou uma pasta do Cloud Storage. Se também quiser que o Sensitive Data Protection crie uma cópia anónima dos seus dados, consulte o artigo Anonimize dados sensíveis armazenados no Cloud Storage através da Google Cloud consola.
Na secção Proteção de dados confidenciais da Google Cloud consola, aceda à página Criar tarefa ou acionador de tarefas.
Introduza as informações da tarefa de proteção de dados confidenciais e clique em Continuar para concluir cada passo:
Em Escolher dados de entrada, atribua um nome à tarefa introduzindo um valor no campo Nome. Em Localização, escolha Cloud Storage no menu Tipo de armazenamento e, de seguida, introduza a localização dos dados a analisar. A secção Amostragem está pré-configurada para executar uma análise de amostra nos seus dados. Pode ajustar o campo Percentagem de objetos analisados no contentor para poupar recursos se tiver uma grande quantidade de dados. Para mais detalhes, consulte a secção Escolha os dados de entrada.
(Opcional) Em Configurar deteção, pode configurar os tipos de dados a procurar, denominados "infoTypes". Pode selecionar a partir da lista de infoTypes predefinidos ou selecionar um modelo, se existir. Para mais detalhes, consulte o artigo Configure a deteção.
Para Adicionar ações, selecione uma ou mais ações que a proteção de dados confidenciais deve realizar após a conclusão da tarefa. Para mais informações, consulte Ative ações de inspeção ou análise de riscos.
Depois de selecionar as ações, clique em Continuar.
(Opcional) Para Agendar, para executar a análise apenas uma vez, deixe o menu definido como Nenhuma. Para agendar a execução periódica de análises, clique em Criar um acionador para executar a tarefa numa programação periódica. Para mais detalhes, consulte o artigo Programação.
Clique em Criar.
Após a conclusão da tarefa de proteção de dados confidenciais, é redirecionado para a página de detalhes da tarefa e recebe uma notificação por email. Pode ver os resultados da inspeção na página de detalhes da tarefa.
(Opcional) Se optou por publicar as conclusões da Proteção de dados confidenciais no BigQuery, na página Detalhes da tarefa, clique em Ver conclusões no BigQuery para abrir a tabela na IU Web do BigQuery. Em seguida, pode consultar a tabela e analisar as suas conclusões. Para mais informações sobre como consultar os resultados no BigQuery, consulte o artigo Consultar resultados da proteção de dados confidenciais no BigQuery.
Protocolo
Segue-se um exemplo de JSON que pode ser enviado num pedido POST para o ponto final REST de proteção de dados confidenciais especificado. Este exemplo JSON demonstra como usar a API DLP para inspecionar contentores do Cloud Storage. Para ver informações sobre os parâmetros incluídos no pedido, consulte "Configurar a inspeção de armazenamento" mais adiante neste tópico.
Pode experimentar rapidamente esta funcionalidade no Explorador de APIs na página de referência para
content.inspect
:
Tenha em atenção que um pedido bem-sucedido, mesmo no Explorador de APIs, cria uma nova tarefa de análise. Para obter informações sobre como controlar as tarefas de análise, consulte "Obtenha resultados da inspeção" mais adiante neste tópico. Para obter informações gerais sobre a utilização de JSON para enviar pedidos à API DLP, consulte o início rápido de 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 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.
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.
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.
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.
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.
Inspecione um tipo do Datastore
Pode configurar uma inspeção de um tipo do Datastore através da Google Cloud consola, da API DLP através de pedidos REST ou RPC, ou de forma programática em vários idiomas através de uma biblioteca de cliente.
Para configurar uma tarefa de análise de um tipo do Datastore através da proteção de dados confidenciais:
Consola
Para configurar uma tarefa de análise de um tipo do Datastore através da proteção de dados confidenciais:
Na secção Proteção de dados confidenciais da Google Cloud consola, aceda à página Criar tarefa ou acionador de tarefas.
Introduza as informações da tarefa de proteção de dados confidenciais e clique em Continuar para concluir cada passo:
Para Escolher dados de entrada, introduza os identificadores do projeto, do espaço de nomes (opcional) e do tipo que quer analisar. Para mais detalhes, consulte o artigo Escolha os dados de entrada.
(Opcional) Em Configurar deteção, pode configurar os tipos de dados a procurar, denominados "infoTypes". Pode selecionar a partir da lista de infoTypes predefinidos ou selecionar um modelo, se existir. Para mais detalhes, consulte o artigo Configure a deteção.
Para Adicionar ações, selecione uma ou mais ações que a proteção de dados confidenciais deve realizar após a conclusão da tarefa. Para mais informações, consulte Ative ações de inspeção ou análise de riscos.
Depois de selecionar as ações, clique em Continuar.
(Opcional) Para Programação, configure um intervalo de tempo ou uma programação selecionando Especificar intervalo de tempo ou Criar um acionador para executar a tarefa numa programação periódica. Para mais informações, consulte o artigo Agende.
Clique em Criar.
Após a conclusão da tarefa de proteção de dados confidenciais, é redirecionado para a página de detalhes da tarefa e recebe uma notificação por email. Pode ver os resultados da inspeção na página de detalhes da tarefa.
(Opcional) Se optou por publicar as conclusões da Proteção de dados confidenciais no BigQuery, na página Detalhes da tarefa, clique em Ver conclusões no BigQuery para abrir a tabela na IU Web do BigQuery. Em seguida, pode consultar a tabela e analisar os resultados. Para mais informações sobre como consultar os resultados no BigQuery, consulte o artigo Consultar resultados da Proteção de dados confidenciais no BigQuery.
Protocolo
Segue-se um exemplo de JSON que pode ser enviado num pedido POST para o ponto final REST da API DLP especificado. Este JSON de exemplo demonstra como usar a API DLP para inspecionar tipos de Datastore. Para obter informações sobre os parâmetros incluídos no pedido, consulte a secção "Configure a inspeção de armazenamento" mais adiante neste tópico.
Pode experimentar rapidamente esta funcionalidade no Explorador de APIs na página de referência para
dlpJobs.create
:
Tenha em atenção que um pedido bem-sucedido, mesmo no Explorador de APIs, cria uma nova tarefa de análise. Para obter informações sobre como controlar tarefas de análise, consulte a secção Obtenha os resultados da inspeção, mais adiante neste tópico. Para obter informações gerais sobre a utilização de JSON para enviar pedidos à API DLP, consulte o início rápido de 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 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.
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.
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.
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.
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.
Inspeção de uma tabela do BigQuery
Pode configurar uma inspeção de uma tabela do BigQuery através da proteção de dados confidenciais através de pedidos REST ou programaticamente em vários idiomas através de uma biblioteca de cliente.
Para configurar uma tarefa de análise de uma tabela do BigQuery através da proteção de dados confidenciais:
Consola
Para configurar uma tarefa de análise de uma tabela do BigQuery através da proteção de dados confidenciais:
Na secção Proteção de dados confidenciais da Google Cloud consola, aceda à página Criar tarefa ou acionador de tarefas.
Introduza as informações da tarefa de proteção de dados confidenciais e clique em Continuar para concluir cada passo:
Em Escolher dados de entrada, atribua um nome à tarefa introduzindo um valor no campo Nome. Em Localização, escolha o BigQuery no menu Tipo de armazenamento e, de seguida, introduza as informações da tabela a analisar.
A secção Amostragem está pré-configurada para executar uma análise de amostra nos seus dados. Pode ajustar os campos Limitar linhas por e Número máximo de linhas para poupar recursos se tiver uma grande quantidade de dados. Para mais detalhes, consulte o artigo Escolha os dados de entrada.
(Opcional) Se quiser poder associar cada descoberta à linha que a contém, defina o campo Campos de identificação.
Introduza os nomes das colunas que identificam de forma exclusiva cada linha na tabela. Se necessário, use a notação de pontos para especificar campos aninhados. Pode adicionar quantos campos quiser.
Também tem de ativar a ação Guardar no BigQuery para exportar as conclusões para o BigQuery. Quando as conclusões são exportadas para o BigQuery, cada conclusão contém os respetivos valores dos campos de identificação. Para mais informações, consulte
identifyingFields
.(Opcional) Em Configurar deteção, pode configurar os tipos de dados a procurar, denominados "infoTypes". Pode selecionar a partir da lista de infoTypes predefinidos ou selecionar um modelo, se existir. Para mais detalhes, consulte o artigo Configure a deteção.
Para Adicionar ações, selecione uma ou mais ações que a proteção de dados confidenciais deve realizar após a conclusão da tarefa. Para mais informações, consulte Ative ações de inspeção ou análise de riscos.
Depois de selecionar as ações, clique em Continuar.
(Opcional) Para Agendar, para executar a análise apenas uma vez, deixe o menu definido como Nenhuma. Para agendar a execução periódica de análises, clique em Criar um acionador para executar a tarefa numa programação periódica. Para mais detalhes, consulte o artigo Programação.
Clique em Criar.
Após a conclusão da tarefa de proteção de dados confidenciais, é redirecionado para a página de detalhes da tarefa e recebe uma notificação por email. Pode ver os resultados da inspeção na página de detalhes da tarefa.
(Opcional) Se optou por publicar as conclusões da Proteção de dados confidenciais no BigQuery, na página Detalhes da tarefa, clique em Ver conclusões no BigQuery para abrir a tabela na IU Web do BigQuery. Em seguida, pode consultar a tabela e analisar os resultados. Para mais informações sobre como consultar os resultados no BigQuery, consulte o artigo Consultar resultados da Proteção de dados confidenciais no BigQuery.
Protocolo
Segue-se um exemplo de JSON que pode ser enviado num pedido POST para o ponto final REST da API DLP especificado. Este exemplo JSON demonstra como usar a API DLP para inspecionar tabelas do BigQuery. Para obter informações sobre os parâmetros incluídos no pedido, consulte a secção "Configure a inspeção de armazenamento" mais adiante neste tópico.Pode experimentar rapidamente esta funcionalidade no Explorador de APIs na página de referência para
dlpJobs.create
:
Tenha em atenção que um pedido bem-sucedido, mesmo no Explorador de APIs, cria uma nova tarefa de análise. Para obter informações sobre como controlar as tarefas de análise, consulte "Obtenha resultados da inspeção" mais adiante neste tópico. Para obter informações gerais sobre a utilização de JSON para enviar pedidos à API DLP, consulte o início rápido de 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":"id"
}
]
},
"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 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.
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.
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.
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.
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.
Configure a inspeção de armazenamento
Para inspecionar uma localização do Cloud Storage, um tipo do Datastore ou uma tabela do BigQuery, envia um pedido para o método projects.dlpJobs.create
da API DLP que contém, pelo menos, a localização dos dados a verificar e o que verificar. Além desses parâmetros obrigatórios, também pode especificar onde escrever os resultados da análise, os limites de tamanho e probabilidade, e muito mais. Uma solicitação bem-sucedida resulta na criação de uma instância do objeto DlpJob
, que é abordada no artigo "Obtenha os resultados da inspeção".
As opções de configuração disponíveis são resumidas aqui:
InspectJobConfig
object: contém as informações de configuração da tarefa de inspeção. Tenha em atenção que o objetoInspectJobConfig
também é usado pelo objetoJobTriggers
para agendar a criação deDlpJob
s. Este objeto inclui:StorageConfig
object: obrigatório. Contém detalhes sobre o repositório de armazenamento a analisar:Tem de incluir um dos seguintes no objeto
StorageConfig
, consoante o tipo de repositório de armazenamento que está a ser analisado:CloudStorageOptions
object: contém informações sobre o contentor do Cloud Storage a analisar.DatastoreOptions
object: contém informações sobre o conjunto de dados do Datastore a analisar.BigQueryOptions
object: Contém informações sobre a tabela do BigQuery (e, opcionalmente, campos de identificação) a analisar. Este objeto também ativa a amostragem de resultados. Para mais informações, consulte a secção Ativar a amostragem de resultados abaixo.TimespanConfig
object: opcional. Especifica o intervalo de tempo dos artigos a incluir na análise.
InspectConfig
object: obrigatório. Especifica o que procurar, como valores de infoTypes e probabilidade.InfoType
objects: Obrigatório. Um ou mais valores de infoType para procurar.Likelihood
enumeração: opcional. Quando definido, a proteção de dados confidenciais só devolve resultados iguais ou superiores a este limite de probabilidade. Se esta enumeração for omitida, o valor predefinido éPOSSIBLE
.FindingLimits
object: opcional. Quando definido, este objeto permite-lhe especificar um limite para o número de resultados devolvidos.- Parâmetro
includeQuote
: opcional. A predefinição éfalse
. Quando definida comotrue
, cada descoberta inclui uma citação contextual dos dados que a acionaram. - Parâmetro
excludeInfoTypes
: opcional. A predefinição éfalse
. Quando definido comotrue
, os resultados da análise excluem informações de tipo para as conclusões. CustomInfoType
objects: um ou mais infoTypes personalizados criados pelo utilizador. Para mais informações sobre a criação de infoTypes personalizados, consulte o artigo Criar detetores de infoTypes personalizados.
String
inspectTemplateName
: opcional. Especifica um modelo a usar para preencher os valores predefinidos no objetoInspectConfig
. Se já especificouInspectConfig
, os valores do modelo são incorporados.Action
objects: opcional. Uma ou mais ações a executar após a conclusão da tarefa. Cada ação é executada pela ordem em que é apresentada. É aqui que especifica onde escrever os resultados ou se quer publicar uma notificação num tópico do Pub/Sub.
jobId
: opcional. Um identificador da tarefa devolvida pela proteção de dados confidenciais. SejobId
for omitido ou estiver vazio, o sistema cria um ID para a tarefa. Se for especificado, o trabalho é atribuído a este valor de ID. O ID da tarefa tem de ser único e pode conter letras maiúsculas e minúsculas, números e hífenes, ou seja, tem de corresponder à seguinte expressão regular:[a-zA-Z\\d-]+
.
Limite a quantidade de conteúdo inspecionado
Se estiver a analisar tabelas do BigQuery ou contentores do Cloud Storage, a proteção de dados confidenciais inclui uma forma de analisar um subconjunto do conjunto de dados. Isto tem o efeito de fornecer uma amostragem dos resultados da análise sem incorrer nos potenciais custos de analisar um conjunto de dados completo.
As secções seguintes contêm informações sobre como limitar o tamanho das análises do Cloud Storage e das análises do BigQuery.
Limite as análises do Cloud Storage
Pode ativar a amostragem no Cloud Storage limitando a quantidade de dados analisados. Pode instruir a API DLP para analisar apenas ficheiros com um determinado tamanho, apenas determinados tipos de ficheiros e apenas uma determinada percentagem do número total de ficheiros no conjunto de ficheiros de entrada. Para o fazer, especifique os seguintes campos opcionais em CloudStorageOptions
:
bytesLimitPerFile
: define o número máximo de bytes a analisar a partir de um ficheiro. Se o tamanho de um ficheiro digitalizado for superior a este valor, os restantes bytes são omitidos. A definição deste campo não tem efeito em determinados tipos de ficheiros. Para mais informações, consulte Limites de bytes analisados por ficheiro.fileTypes[]
: apresenta a lista deFileTypes
a incluir na procura. Pode definir um ou mais dos seguintes tipos enumerados.filesLimitPercent
: limita o número de ficheiros a analisar à percentagem especificada da entradaFileSet
. Se especificar0
ou100
aqui, indica que não existe um limite.sampleMethod
: como obter uma amostra de bytes se nem todos os bytes forem analisados. A especificação deste valor só é significativa quando usada em conjunto combytesLimitPerFile
. Se não for especificado, a leitura começa na parte superior. Este campo pode ser definido com um de dois valores:TOP
: a análise começa na parte superior.RANDOM_START
: para cada ficheiro superior ao tamanho especificado embytesLimitPerFile
, escolha aleatoriamente o deslocamento para iniciar a análise. Os bytes analisados são contíguos.
Os exemplos seguintes demonstram a utilização da API DLP para analisar um subconjunto de 90% de um contentor do Cloud Storage em busca de nomes de pessoas. A análise começa numa localização aleatória no conjunto de dados e inclui apenas ficheiros de texto com menos de 200 bytes.
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:
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 num pedido POST para o ponto final especificado, é criado um trabalho de proteção de dados confidenciais e a API envia a seguinte resposta.
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"
}
Limite as análises do BigQuery
Para ativar a amostragem no BigQuery, limitando a quantidade de dados analisados, especifique os seguintes campos opcionais em BigQueryOptions
:
rowsLimit
: o número máximo de linhas a analisar. Se a tabela tiver mais linhas do que este valor, as restantes linhas são omitidas. Se não for definida ou for definida como 0, todas as linhas são analisadas.rowsLimitPercent
: a percentagem máxima de linhas a analisar (entre 0 e 100). As linhas restantes são omitidas. Se definir este valor como 0 ou 100, não existe limite. A predefinição é 0. Só é possível especificar um derowsLimit
erowsLimitPercent
.sampleMethod
: como obter amostras de linhas se nem todas as linhas forem analisadas. Se não for especificado, a leitura começa a partir da parte superior. Este campo pode ser definido para um de dois valores:TOP
: a análise começa na parte superior.RANDOM_START
: a análise começa numa linha selecionada aleatoriamente.
excludedFields
: campos de tabela que identificam de forma exclusiva as colunas a excluir da leitura. Isto pode ajudar a reduzir a quantidade de dados analisados e diminuir o custo geral de uma tarefa de inspeção.includedFields
: campos de tabela que identificam exclusivamente linhas específicas na tabela a analisar.
Outra funcionalidade útil para limitar os dados analisados, particularmente quando analisa tabelas particionadas, é TimespanConfig
.
TimespanConfig
permite-lhe filtrar linhas da tabela do BigQuery fornecendo valores de hora de início e de fim para definir um intervalo de tempo. Proteção de dados confidenciais
só analisa as linhas que contêm uma data/hora nesse intervalo de tempo.
Os exemplos seguintes demonstram a utilização da API DLP para analisar um subconjunto de 1000 linhas de uma tabela do BigQuery. A análise começa a partir de uma linha aleatória.
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.
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.
REST
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",
"includedFields":[
{
"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 num pedido POST para o ponto final especificado, é criado um trabalho de proteção de dados confidenciais e a API envia a seguinte resposta.
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",
"includedFields": [
{
"name": "name"
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "FIRST_NAME"
}
],
"limits": {},
"includeQuote": true
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "[PROJECT-ID]",
"datasetId": "[DATASET-ID]",
"tableId": "bqsample"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
},
"result": {}
},
"createTime": "2022-11-04T18:53:48.350Z"
}
Quando a tarefa de inspeção termina e os respetivos resultados são processados pelo BigQuery, os resultados da análise estão disponíveis na tabela de saída do BigQuery especificada. Para mais informações sobre como obter os resultados da inspeção, consulte a secção seguinte.
Obtenha resultados da inspeção
Pode obter um resumo de um
DlpJob
através do método
projects.dlpJobs.get
. O DlpJob
devolvido inclui o respetivo objeto InspectDataSourceDetails
, que contém um resumo da configuração da tarefa (RequestedOptions
) e um resumo do resultado da tarefa (Result
). O resumo do resultado inclui:
processedBytes
: o tamanho total em bytes que foram processados.totalEstimatedBytes
: estimativa do número de bytes restantes a processar.InfoTypeStatistics
object: Estatísticas de quantas instâncias de cada infoType foram encontradas durante a tarefa de inspeção.
Para ver os resultados completos da tarefa de inspeção, tem várias opções. Consoante o
Action
que escolheu, os trabalhos de inspeção são:
- Guardado no BigQuery (o objeto
SaveFindings
) na tabela especificada. Antes de ver ou analisar os resultados, certifique-se primeiro de que a tarefa foi concluída através do métodoprojects.dlpJobs.get
, que é descrito abaixo. Tenha em atenção que pode especificar um esquema para armazenar resultados através do objetoOutputSchema
. - Publicado num tópico do Pub/Sub (o objeto
PublishToPubSub
). O tópico tem de ter concedido direitos de acesso de publicação à conta de serviço do Sensitive Data Protection que executa o envio de notificaçõesDlpJob
. - Publicado no Security Command Center.
- Publicado no Data Catalog.
- Publicado no Cloud Monitoring.
Para ajudar a analisar grandes quantidades de dados gerados pela proteção de dados confidenciais, pode usar ferramentas do BigQuery incorporadas para executar análises SQL avançadas ou ferramentas como o Looker Studio para gerar relatórios. Para mais informações, consulte o artigo Análise e relatórios sobre as conclusões da proteção de dados confidenciais. Para ver algumas consultas de exemplo, consulte o artigo Consultar descobertas no BigQuery.
O envio de um pedido de inspeção do repositório de armazenamento para a proteção de dados confidenciais cria e executa uma instância do objeto DlpJob
em resposta. Estas tarefas podem demorar segundos, minutos ou horas a serem executadas, consoante o tamanho dos seus dados e a configuração que especificou. Se optar por publicar num tópico do Pub/Sub (especificando
PublishToPubSub
em Action
),
as notificações são enviadas automaticamente para o tópico com o nome especificado quando o estado da tarefa muda. O nome do tópico do Pub/Sub é especificado
no formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME]
.
Tem controlo total sobre as tarefas que cria, incluindo os seguintes métodos de gestão:
projects.dlpJobs.cancel
method: Para uma tarefa que está atualmente em curso. O servidor faz o seu melhor para cancelar a tarefa, mas o sucesso não é garantido. A tarefa e a respetiva configuração permanecem até a eliminar (com .projects.dlpJobs.delete
method: Elimina uma tarefa e a respetiva configuração.projects.dlpJobs.get
method: Obtém uma única tarefa e devolve o respetivo estado, configuração e, se a tarefa estiver concluída, os resultados do resumo.projects.dlpJobs.list
method: Obtém uma lista de todas as tarefas e inclui a capacidade de filtrar os resultados.
Passos seguintes
- Para saber como criar tarefas de inspeção de armazenamento, consulte o artigo Criar e programar tarefas de inspeção da proteção de dados confidenciais.
- Saiba como criar uma cópia anónima dos dados no armazenamento.
- Saiba mais sobre os tipos de ficheiros suportados ao inspecionar contentores do Cloud Storage. Consulte os tipos de ficheiros suportados.