Se usar registos de atividade para ver a atividade de administrador e os eventos do sistema do Compute Engine, leia este guia para compreender como encontrar entradas de registo semelhantes usando registos de auditoria.
Os registos de atividade do Compute Engine foram descontinuados. Pode identificar as entradas do registo de atividade com base no respetivo nome do registo:
logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
Os registos de auditoria do Compute Engine contêm as mesmas informações que estão disponíveis através dos registos de atividade e muito mais. No entanto, os registos de auditoria apresentam as informações de forma diferente em comparação com os registos de atividade. Por isso, tem de ajustar as suas consultas.
Como migrar de registos de atividade para registos de auditoria
Para usar registos de auditoria em vez de registos de atividade, ajuste as suas consultas. Siga os passos seguintes.
Encontre as suas consultas antigas. Por exemplo, pode tê-los guardado numa pesquisa guardada no Explorador de registos ou criado um script através da API ou do SDK. Para mais informações sobre como pode monitorizar os seus recursos, consulte a documentação de registo.
Substitua os campos do registo de atividade pelos campos do registo de auditoria adequados. Consulte a tabela para ver como os campos são mapeados entre si.
Por exemplo, se a sua consulta do registo de atividade antigo procurava um campo denominado
jsonPayload.resource.name
, a nova consulta do registo de auditoria deve procurarprotoPayload.resourceName
.Guarde e use a nova consulta do registo de auditoria. Por exemplo, crie uma pesquisa guardada no Cloud Logging ou atualize os seus scripts.
Exemplos
Seguem-se alguns exemplos de consultas convertidas:
Consultar atividade relacionada com um recurso específico
Exemplo de consulta | |
---|---|
Registo de atividade antigo | gcloud logging read jsonPayload.resource.name="VM_NAME"
|
Registo de auditoria | Use uma das seguintes opções
Com a opção 1, o operador "tem" ( |
Consultar entradas recentes do registo de atividade de administrador
Exemplo de consulta | |
---|---|
Registo de atividade antigo | gcloud logging read logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
|
Registo de auditoria | gcloud logging read logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" |
Consultar entradas do registo de criação de instâncias recentes
Exemplo de consulta | |
---|---|
Registo de atividade antigo | gcloud logging read 'logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log" AND jsonPayload.event_subtype="compute.instances.insert"' |
Registo de auditoria | gcloud logging read 'logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.methodName:"compute.instances.insert"' |
Consultar o início de todas as operações de criação de instâncias
Exemplo de consulta | |
---|---|
Registo de atividade antigo | gcloud logging read 'jsonPayload.event_type="GCE_API_CALL" AND jsonPayload.event_subtype="compute.instances.insert"' |
Registo de auditoria | gcloud logging read 'operation.first="true" AND protoPayload.methodName:"compute.instances.insert"' |
Consultar a conclusão de qualquer operação
Exemplo de consulta | |
---|---|
Registo de atividade antigo | gcloud logging read jsonPayload.event_type="GCE_OPERATION_DONE" |
Registo de auditoria | gcloud logging read operation.last="true" |
Diferenças entre os registos de atividade e os registos de auditoria
Leia esta secção para saber como os registos de auditoria estão estruturados de forma diferente dos registos de atividade. Tenha em atenção estas diferenças ao converter consultas do registo de atividade antigo em consultas do registo de auditoria. Por exemplo, nas suas consultas, substitua todos os nomes dos campos do registo de atividade antigo pelos nomes dos campos do registo de auditoria correspondentes.
Embora o registo de auditoria e o registo de atividade devolvam objetos de entrada de registo, têm as seguintes diferenças:
- Nomes de campos diferentes. Consulte a tabela de mapeamento de nomes de campos para ver detalhes.
- Valores de campos diferentes, incluindo:
- Nomes de registos diferentes: os registos de auditoria têm nomes de registos que contêm
cloudaudit.googleapis.com
. - Diferentes conteúdos úteis: os registos de auditoria devolvem um campo
protoPayload
em vez de umjsonPayload
. - Nomes de recursos totalmente qualificados: os registos de auditoria devolvem nomes de recursos que incluem o respetivo caminho, por exemplo:
projects/my-project/zones/us-east1-b/instances/my-instance-name
. - Nomes de métodos com versões: os registos de auditoria devolvem nomes de métodos que incluem a respetiva versão, por exemplo,
v1
.
- Nomes de registos diferentes: os registos de auditoria têm nomes de registos que contêm
Segue-se um exemplo que mostra as diferenças nos nomes dos registos e nos payloads:
Exemplo de entrada do registo | |
---|---|
Registo de atividade antigo | { 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" ... } |
Registo 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" ... } |
Mapeamento de campos de registos de atividade para registos de auditoria
Use as tabelas seguintes para mapear os campos do registo de atividade com os campos do registo de auditoria correspondentes nas suas consultas.
Campos
Use a tabela seguinte para substituir os campos do registo de atividade antigo pelos campos do registo de auditoria nas suas consultas atualizadas.
Por exemplo, se a sua consulta do registo de atividade antigo contivesse um filtro com base em jsonPayload.resource.type
, a nova consulta do registo de auditoria deve filtrar com base em resource.type
.
Campo do registo de atividade antigo | Campo do registo 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 dos campos
Use as tabelas seguintes para mapear os valores dos campos do registo de atividade antigo para os valores dos campos do registo de auditoria. Em comparação com os registos de atividade, os registos de auditoria têm vários valores de nome do registo e valores de carga útil diferentes. As entradas do registo de auditoria também devolvem nomes de recursos totalmente qualificados e nomes de métodos com versões.
Nomes de registos
Para encontrar uma entrada do registo de auditoria, procure um logName
que inclua
cloudaudit.googleapis.com
.
Nome de registo | Conteúdos de registos | |
---|---|---|
Registo de atividade antigo | projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log | Atividade do administrador e eventos do sistema |
Registo de auditoria | projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity | Atividade do administrador |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event | Eventos do sistema | |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access | Acesso aos dados |
Payloads
Em cada entrada do registo de auditoria, procure um protoPayload
em vez de um jsonPayload
.
Tipo de payload | Exemplo de payload | |
---|---|---|
Registo de atividade antigo | 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" } |
Registo 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 estes payloads se relacionam entre si e como mapear os campos do registo de atividade antigos para os campos do registo de auditoria, leia os mapeamentos de campos de entradas de registo.
Nomes de recursos
Nos registos de auditoria, os nomes dos recursos da API (no campo protoPayload.resourceName
) são totalmente qualificados, por exemplo:
resourceName: "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
Pode continuar a usar nomes parciais, mas tem de corrigir a sua consulta para usar o operador "has" (:
) em vez do operador "equals".
Use uma das seguintes opções nas suas consultas do registo 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 dos métodos
Nos registos de auditoria, os nomes dos métodos da API (no campo protoPayload.methodName
) têm o prefixo da respetiva versão, como: v1.compute.instances.delete
.
Campo | Valor | Exemplo de consulta | |
---|---|---|---|
Registo de atividade antigo | jsonPayload.event_subtype | RESOURCE.METHOD | jsonPayload.event_subtype=compute.instances.delete |
Registo 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 |
Ainda pode usar nomes de métodos sem versão nas suas consultas de registo de auditoria, mas
tem de corrigir a consulta para usar o operador "has" (:
) em vez do operador "equals"
(=
). Por exemplo: protoPayload.methodName:compute.instances.delete
devolve todas as chamadas da API de eliminação de instâncias, independentemente da versão. Para mais
informações sobre os operadores, consulte as
comparações.
O que se segue?
- Leia o início rápido para usar as ferramentas de registo.
- Saiba mais sobre como ver entradas de registo.
- Saiba como ver registos com filtros de registo avançados.
- Saiba mais sobre os registos de auditoria do Cloud do Compute Engine.