Como migrar de registros de atividades para registros de auditoria

Se você usa registros de atividades legados, leia este guia para saber como encontrar as entradas de registro usando a geração de registros de auditoria.

O uso de registros de atividades legados será suspenso em uma versão futura. Algumas entradas de registro de atividades serão descontinuadas em 1º de março de 2020.

Os registros de auditoria têm as mesmas informações que estão disponíveis nos registros de atividades legados e muito mais. No entanto, os registros de auditoria têm uma maneira diferente de apresentar as informações em comparação com os registros de atividades.

Para usar registros de auditoria em vez de registros de atividades, ajuste suas consultas para filtrar os seguintes elementos:

Como distinguir entradas de registro de atividades e de auditoria

Todos os registros de auditoria e de atividades legados têm objetos de entrada de registro. No entanto, o conteúdo deles é diferente. Quando for emitir consultas para ver entradas de registro, considere essas diferenças conforme os registros de atividades são migrados para registros de auditoria.

É possível distinguir entre os registros de auditoria e os registros de atividades legados examinando o conteúdo das entradas de registro: eles têm diferentes nomes de registro e payloads distintos.

Exemplo de entrada de registro
Registro de atividades legado

{
  insertId:  "1x3bbhjg2wwvz1x"
  jsonPayload: {…}
  labels: {…}
  logName:  "projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
  receiveTimestamp:  "2019-08-26T12:22:44.602794616Z"
  ...
}
Registro de auditoria

{
  insertId:  "-w6o499e22fwk"
  logName:  "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
  protoPayload: {…}
  receiveTimestamp:  "2019-08-26T12:22:46.881198276Z"
  ...
}

Leia Como mapear campos de entrada de registro para saber como mapear os campos do registro de atividades legado para os campos do registro de auditoria.

Como mapear campos de entrada de registro: de registros de atividades para registros de auditoria

Os registros de auditoria têm as mesmas informações que os registros de atividades. No entanto, os nomes dos campos de entrada de registro podem ser diferentes. Os valores também podem variar.

Nomes de campos

Use a tabela a seguir para mapear os nomes dos campos do registro de atividades legado para os nomes dos campos do registro de auditoria. Por exemplo, se a consulta do registro de atividades legado continha um filtro baseado em jsonPayload.resource.type, a nova consulta de registro de auditoria deve filtrar por resource.type.

Nome do campo do registro de atividades legado Nome do campo do registro de auditoria
insertId insertId
jsonPayload.actor.user protoPayload.authenticationInfo.principalEmail
jsonPayload.event_subtype protoPayload.methodName
jsonPayload.event_timestamp_us resource.timestamp
jsonPayload.request protoPayload.request
jsonPayload.operation operation
jsonPayload.resource.id resource.lablels.instance_id
jsonPayload.resource.name protoPayload.resourceName
jsonPayload.resource.type resource.type
jsonPayload.resource.zone resource.labels.zone
jsonPayload.trace_id operation.id
jsonPayload.user_agent protoPayload.requestMetadata.callerSuppliedUserAgent
labels.compute.googleapis.com/resource_id resource.labels.[RESOURCE_TYPE]_id
labels.compute.googleapis.com/resource_name protoPayload.resourceName
labels.compute.googleapis.com/resource_type resource.type
labels.compute.googleapis.com/resource_zone Uma das seguintes opções:
  • resource.labels.zone
  • resource.labels.region
  • resource.labels.location
logName logName
receiveTimestamp receiveTimestamp
resource.labels resource.labels
severity severity
timestamp timestamp

Valores de campo

Em comparação com os registros de atividades, os registros de auditoria têm nomes de registro, payloads distintos e fornecem nomes de método com controle de versões.

Nomes de registro

Um registro de auditoria tem um logName que inclui cloudaudit.googleapis.com.

Nome do registroConteúdo do registro
Registro de atividades legadoprojects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_logAtividade do administrador e eventos do sistema
Registro de auditoriaprojects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2FactivityAtividade administrativa
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_eventEventos do sistema
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_accessAcesso a dados

Payloads

Um registro de auditoria tem protoPayload em vez de jsonPayload.

Tipo de payloadExemplo de payload
Registro de atividades legadojsonPayload

    jsonPayload: {
      actor: {…}
      event_subtype:  "compute.instances.start"
      event_timestamp_us:  "1566404493487248"
      event_type:  "GCE_API_CALL"
      ip_address:  ""
      operation: {…}
      request: {…}
      resource: {…}
      trace_id:  "operation-1566404491560-590a2f74b4705-a1ae0686-d896d772"
      user_agent:  "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
      version:  "1.2"
    }
Registro de auditoriaprotoPayload

    protoPayload: {
      @type:  "type.googleapis.com/google.cloud.audit.AuditLog"
      authenticationInfo: {…}
      methodName:  "v1.compute.instances.start"
      request: {…}
      requestMetadata: {…}
      resourceName:  "projects/[PROJECT_ID]/zones/us-central1-a/instances/alert"
      serviceName:  "compute.googleapis.com"
    }

Para saber como esses payloads se relacionam uns com os outros e como mapear campos de registros de atividades legados para campos de registros de auditoria, leia sobre o mapeamento de campos de entrada de registro.

Nomes de método

Nos registros de auditoria, os nomes de método de API (no campo protoPayload.methodName) são prefixados com a versão, como v1.compute.instances.delete.

CampoValorExemplo de consulta
Registro de atividades legadojsonPayload.event_subtype[RESOURCE].[METHOD]jsonPayload.event_subtype=compute.instances.delete
Registro de auditoriaprotoPayload.methodName[API_VERSION].[RESOURCE].[METHOD]protoPayload.methodName=v1.compute.instances.delete
ou
protoPayload.methodName=beta.compute.instances.delete
ou
protoPayload.methodName:compute.instances.delete

É possível continuar usando nomes de método de API sem controle de versões nas consultas de registros de atividades legados, mas certifique-se de usar um operador “contém” (:) na consulta em vez de um operador “igual a” (=). Por exemplo: protoPayload.methodName:compute.instances.delete retorna todas as chamadas de API de exclusão de instância, seja qual for a versão. Para mais informações sobre operadores, consulte as comparações.

Exemplos de consultas

Nesta seção, apresentamos alguns exemplos de consultas para ajudar você a começar a usar registros de auditoria em vez de registros de atividades. Consulte Ver registros para mais informações sobre consultas básicas e avançadas.

Como consultar entradas recentes de registro de atividades do administrador

Exemplo de consulta
Registro de atividades legadologName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
Registro de auditorialogName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"

Como consultar entradas recentes de registro de criação de instâncias

Exemplo de consulta
Registro de atividades legadologName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
jsonPayload.event_subtype=compute.instances.insert
Registro de auditorialogName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName:compute.instances.insert

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine