Introdução aos registros de auditoria no BigQuery
Os registros são registros de texto gerados em resposta a eventos ou ações específicos. O BigQuery cria entradas de registro para ações, como criar ou excluir uma tabela, comprar slots ou executar um job de carregamento.
O Google Cloud também grava registros, incluindo registros de auditoria que fornecem insights sobre questões operacionais relacionadas ao uso dos serviços do Google Cloud. Para mais informações sobre como o Google Cloud lida com a geração de registros, consulte a documentação do Cloud Logging e a visão geral dos registros de auditoria do Cloud.
Registros de auditoria comparados a visualizações INFORMATION_SCHEMA
Seus projetos do Google Cloud contêm apenas registros de auditoria dos recursos que estão diretamente nele. Outros recursos do Google Cloud, como pastas, organizações e contas de faturamento, contêm os próprios registros de auditoria.
Os registros de auditoria ajudam a responder às perguntas "Quem fez o que, onde e quando?" referentes aos recursos do Google Cloud. Os registros de auditoria são a fonte de informações definitiva para a atividade do sistema por usuário e padrões de acesso e devem ser sua principal fonte para perguntas de auditoria ou segurança.
As visualizações INFORMATION_SCHEMA
no BigQuery são outra fonte de insights que pode ser usada com métricas e registros. Essas visualizações contêm metadados sobre jobs, conjuntos de dados, tabelas e outras
entidades do BigQuery. Por exemplo, é possível receber metadados em tempo real sobre quais jobs do BigQuery foram executados durante um horário especificado. Depois, é possível agrupar ou filtrar os resultados por projeto, usuário, tabelas referenciadas e outras dimensões.
As visualizações INFORMATION_SCHEMA
fornecem informações para realizar uma análise mais detalhada sobre suas cargas de trabalho do BigQuery, como:
- Qual é a utilização média de slots para todas as consultas nos últimos sete dias de um determinado projeto?
- Quais erros de streaming ocorreram nos últimos 30 minutos, agrupados por código de erro?
Os registros de auditoria do BigQuery contêm entradas de registro para chamadas de API, mas não descrevem o impacto das chamadas de API. Um subconjunto de chamadas de API cria jobs (como consulta e carregamento) com informações que são capturadas por visualizações INFORMATION_SCHEMA
. Por exemplo, é possível encontrar informações sobre o horário e os slots
usados por uma consulta específica nas visualizações INFORMATION_SCHEMA
, mas não nos registros de auditoria.
Para insights sobre o desempenho das cargas de trabalho do BigQuery, consulte metadados de jobs, metadados de streaming e metadados de reservas.
Para mais informações sobre os tipos de registros de auditoria que os serviços do Google Cloud gravam, consulte Tipos de registros de auditoria.
Formato do registro de auditoria
Os serviços do Google Cloud gravam registros de auditoria no formato JSON estruturado. O tipo de dados base para
entradas de registro do Google Cloud é a
estrutura LogEntry
. Essa estrutura contém o nome do registro, o recurso que gerou a entrada de registro, o carimbo de data/hora (UTC) e outras informações básicas.
Os registros incluem detalhes do evento registrado em um subcampo chamado campo de payload. Para registros de auditoria, o campo de payload é chamado protoPayload
. O tipo deste campo (protoPayload.@type
) está definido como type.googleapis.com/google.cloud.audit.AuditLog
, o que indica que o campo usa a estrutura de registros AuditLog
.
Para operações em conjuntos de dados, tabelas e jobs, o BigQuery grava
registros de auditoria em dois formatos diferentes, embora ambos compartilhem o tipo
base AuditLog
.
O formato mais antigo inclui os seguintes campos e valores:
- O valor do campo
resource.type
ébigquery_resource
. - O BigQuery grava os detalhes de uma operação no campo
protoPayload.serviceData
. O valor desse campo usa a estrutura de registrosAuditData
.
O formato mais recente inclui os seguintes campos e valores:
- O valor do campo
resource.type
ébigquery_project
oubigquery_dataset
. O recursobigquery_project
tem entradas de registro sobre jobs, enquanto o recursobigquery_dataset
tem entradas de registro sobre armazenamento. - O BigQuery grava os detalhes de uma operação no campo
protoPayload.metadata
. O valor desse campo usa a estruturaBigQueryAuditMetadata
.
Recomendamos o uso de registros no formato mais recente. Para mais informações, consulte o guia de migração de registros de auditoria.
Veja a seguir um exemplo abreviado de uma entrada de registro que mostra uma operação com falha:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 5,
"message": "Not found: Dataset myproject:mydataset was not found in location US"
},
"authenticationInfo": { ... },
"requestMetadata": { ... },
"serviceName": "bigquery.googleapis.com",
"methodName": "google.cloud.bigquery.v2.JobService.InsertJob",
"metadata": {
},
"resource": {
"type": "bigquery_project",
"labels": { .. },
},
"severity": "ERROR",
"logName": "projects/myproject/logs/cloudaudit.googleapis.com%2Fdata_access",
...
}
Para operações em reservas do BigQuery, o campo protoPayload
usa a estrutura AuditLog
, e os campos protoPayload.request
e protoPayload.response
contêm mais informações. Encontre as definições de campo na
API BigQuery Reservation. Para mais informações, consulte Como monitorar reservas do BigQuery.
Para entender melhor o formato do registro de auditoria, consulte Noções básicas dos registros de auditoria.
Limitações
As mensagens de registro têm um limite de tamanho de 100.000 bytes. Para mais informações, consulte Entrada de registro truncada.
Visibilidade e controle de acesso
Os registros de auditoria do BigQuery podem incluir informações que os usuários podem considerar confidenciais, como texto do SQL, definições de esquema e identificadores para recursos como tabelas e conjuntos de dados. Para informações sobre como gerenciar o acesso a essas informações, consulte a documentação de controle de acesso do Cloud Logging.
A seguir
- Para saber como usar o Cloud Logging para auditar atividades relacionadas a tags de política, consulte Tags de política de auditoria.
- Para saber como usar o BigQuery na análise de atividades registradas, consulte Visão geral dos registros de auditoria do BigQuery.