Se você usa os registros de atividades para visualizar a atividade de administração do Compute Engine e os eventos do sistema, leia este guia para entender como encontrar entradas de registro semelhantes usando os registros de auditoria.
Os registros de atividades do Compute Engine estão obsoletos. É possível identificar entradas de registro de atividades com base no nome de registro:
logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
Os registros de auditoria do Compute Engine têm as mesmas informações disponíveis nos registros de atividades e muito mais. No entanto, os registros de auditoria têm uma maneira diferente de exibir as informações em comparação com os registros de atividades. Portanto, você precisará ajustar suas consultas.
Como migrar dos registros de atividades para os registros de auditoria
Para usar os registros de auditoria ao invés dos registros de atividades, ajuste as consultas. Siga estas etapas:
Encontre suas consultas antigas. Por exemplo, é possível que você as tenha salvo em uma pesquisa salva no Explorador de registros ou criado um script usando a API ou o SDK. Para mais informações sobre como monitorar seus recursos, consulte a documentação do Logging.
Substitua os campos do registro de atividades pelos campos do registro de auditoria adequados. Consulte a tabela para ver como os campos são mapeados.
Por exemplo, se a consulta de registro de atividades legado procurou um campo chamado
jsonPayload.resource.name
, a nova consulta de registro de auditoria deve procurarprotoPayload.resourceName
.Salve e use a nova consulta de registro de auditoria. Por exemplo, crie uma pesquisa salva no Cloud Logging ou atualize os scripts.
Exemplos
Confira alguns exemplos de consultas convertidas:
Consulta de atividades relacionadas a um recurso específico
Exemplo de consulta | |
---|---|
Registro de atividades legado | gcloud logging read jsonPayload.resource.name="VM_NAME"
|
Registro de auditoria | Use uma das seguintes opções:
Com a opção 1, o operador "has" ( |
Como consultar entradas recentes de registro de atividades do administrador
Exemplo de consulta | |
---|---|
Registro de atividades legado | gcloud logging read logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
|
Registro de auditoria | gcloud logging read logName="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 legado | gcloud logging read 'logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log" AND jsonPayload.event_subtype="compute.instances.insert"' |
Registro de auditoria | gcloud logging read 'logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.methodName:"compute.instances.insert"' |
Como consultar o início de todas as operações de criação de instâncias
Exemplo de consulta | |
---|---|
Registro de atividades legado | gcloud logging read 'jsonPayload.event_type="GCE_API_CALL" AND jsonPayload.event_subtype="compute.instances.insert"' |
Registro de auditoria | gcloud logging read 'operation.first="true" AND protoPayload.methodName:"compute.instances.insert"' |
Como consultar a conclusão de qualquer operação
Exemplo de consulta | |
---|---|
Registro de atividades legado | gcloud logging read jsonPayload.event_type="GCE_OPERATION_DONE" |
Registro de auditoria | gcloud logging read operation.last="true" |
Diferenças entre registros de atividades e registros de auditoria
Nesta seção, você entenderá como os registros de auditoria são estruturados de maneira diferente dos registros de atividades. Considere essas diferenças ao converter as consultas do registro de atividades legado em consultas do registro de auditoria. Por exemplo, nas consultas, substitua todos os nomes do campo do registro de atividades legado pelos nomes do campo do registro de auditoria correspondentes.
Embora a geração de registros de auditoria e de atividades retornem objetos da entrada de registro, eles têm as seguintes diferenças:
- Nomes de campos diferentes. Para mais detalhes, consulte a tabela de mapeamento de nome de campo.
- valores de campo diferentes, incluindo:
- Diferentes nomes de registros: os registros de auditoria têm nomes de registros que contêm
cloudaudit.googleapis.com
. - Payloads diferentes: os registros de auditoria retornam um campo
protoPayload
em vez de umjsonPayload
. - Nomes de recursos totalmente qualificados: os registros de auditoria retornam nomes de recursos que incluem o caminho deles, como
projects/my-project/zones/us-east1-b/instances/my-instance-name
. - Nomes de métodos com controle de versão: os registros de auditoria retornam nomes de métodos que incluem a versão deles, como
v1
.
- Diferentes nomes de registros: os registros de auditoria têm nomes de registros que contêm
Confira um exemplo que mostra as diferenças nos nomes de registro e nos payloads:
Exemplo de entrada de registro | |
---|---|
Registro de atividades legado | { insertId: "1x3bbhjg2wwvz1x" jsonPayload: { event_subtype: "compute.instances.stop" ... resource: { id: "12345678900123456789" name: "my-instance-name" type: "instance" zone: "us-east1-b" } ... } labels: {…} logName: "projects/my-project/logs/compute.googleapis.com%2Factivity_log" receiveTimestamp: "2019-08-26T12:22:44.602794616Z" ... } |
Registro de auditoria | { insertId: "-w6o499e22fwk" logName: "projects/my-project/logs/cloudaudit.googleapis.com%2Factivity" protoPayload: { ... methodName: "beta.compute.instances.stop" ... resourceName: "projects/my-project/zones/us-east1-b/instances/my-instance-name" } receiveTimestamp: "2019-08-26T12:22:46.881198276Z" ... } |
Como mapear campos dos registros de atividades para os registros de auditoria
Use as tabelas a seguir para mapear os campos de registro de atividades para os campos de registro de auditoria correspondentes nas consultas.
Campos
Use a tabela a seguir para substituir campos de registro de atividades legadas por campos de registro de auditoria nas consultas atualizadas.
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
.
Campo do registro de atividades legado | Campo do registro de auditoria |
---|---|
insertId |
insertId |
jsonPayload.actor.user |
protoPayload.authenticationInfo.principalEmail |
jsonPayload.event_subtype |
protoPayload.methodName |
jsonPayload.event_timestamp_us |
timestamp |
jsonPayload.event_type="GCE_API_CALL" |
operation.first="true" |
jsonPayload.event_type="GCE_OPERATION_DONE" |
operation.last="true" |
jsonPayload.request |
protoPayload.request |
jsonPayload.operation |
operation |
jsonPayload.resource.id |
resource.labels.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:
|
logName |
logName |
receiveTimestamp |
receiveTimestamp |
resource.labels |
resource.labels |
severity |
severity |
timestamp |
timestamp |
Valores de campo
Use as tabelas a seguir para mapear valores de campo de registro de atividades legado para valores de campo de registro de auditoria. Em comparação com os registros de atividade, os registros de auditoria têm vários valores de nome de registro e diferentes valores de payload. Entradas de registro de auditoria também retornam nomes de recursos totalmente qualificados e nomes de métodos com controle de versão.
Nomes de registro
Para encontrar uma entrada de registro de auditoria, procure um logName
que inclua
cloudaudit.googleapis.com
.
Nome do registro | Conteúdo do registro | |
---|---|---|
Registro de atividades legado | projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log | Atividade do administrador e eventos do sistema |
Registro de auditoria | projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity | Atividade administrativa |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event | Eventos do sistema | |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access | Acesso a dados |
Payloads
Em cada entrada de registro de auditoria, procure um protoPayload
em vez de um jsonPayload
.
Tipo de payload | Exemplo de payload | |
---|---|---|
Registro de atividades legado | jsonPayload | 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 auditoria | protoPayload | protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" authenticationInfo: {…} methodName: "v1.compute.instances.start" request: {…} requestMetadata: {…} resourceName: "projects/my-project/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 recurso
Nos registros de auditoria, os nomes de recursos da API, no campo protoPayload.resourceName
, são totalmente qualificados. Por exemplo:
resourceName: "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
Ainda é possível usar nomes parciais, mas você precisa corrigir a consulta para usar o operador "contém" (:
) em vez do operador "igual a".
Use uma das seguintes opções nas consultas de registro de auditoria para filtrar um recurso específico:
gcloud logging read protoPayload.resourceName:"VM_NAME"
gcloud logging read protoPayload.resourceName="projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
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
.
Campo | Valor | Exemplo de consulta | |
---|---|---|---|
Registro de atividades legado | jsonPayload.event_subtype | RESOURCE.METHOD | jsonPayload.event_subtype=compute.instances.delete |
Registro de auditoria | protoPayload.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 sem controle de versões nas consultas de registro de auditoria, mas você precisa corrigir a consulta para usar o operador "contém" (:
) em vez do operador "igual a" (=
). Por exemplo: protoPayload.methodName:compute.instances.delete
retorna todas as chamadas de API de exclusão de instância, independentemente da versão. Para mais informações sobre operadores, consulte as comparações.
A seguir
- Leia o guia de início rápido sobre como usar as ferramentas do Logging.
- Saiba mais sobre como visualizar entradas de registro.
- Saiba mais sobre como visualizar registros com os filtros avançados de geração de registros.
- Saiba mais sobre os registros de auditoria do Cloud do Compute Engine.