Neste documento, explicamos os registros de auditoria criados pelo Compute Engine como parte dos Registros de auditoria do Cloud.
Visão geral
Os serviços do Google Cloud gravam registros de auditoria para ajudar você a responder às perguntas: "Quem fez o quê, onde e quando?" nos recursos do Google Cloud.
Seus projetos do Google Cloud contêm apenas os registros de auditoria dos recursos que estão diretamente no projeto. Outros recursos do Google Cloud, como pastas, organizações e contas de faturamento, contêm os registros de auditoria da própria entidade.
Para uma visão geral dos registros de auditoria do Cloud, consulte este link. Para entender melhor o formato do registro de auditoria, consulte Noções básicas dos registros de auditoria.
Registros de auditoria disponíveis
Os tipos de registro de auditoria a seguir estão disponíveis para o Compute Engine:
-
Registros de auditoria de atividade do administrador
Inclui operações de "gravação de administrador" que gravam metadados ou informações de configuração.
Não é possível desativar esses registros.
-
Registros de auditoria de acesso a dados
Inclui operações de "leitura do administrador" que leem metadados ou informações de configuração. Também inclui operações de "leitura de dados" e "gravação de dados" que leem ou gravam dados fornecidos pelo usuário.
Para receber registros de auditoria de acesso a dados, é necessário ativá-los explicitamente.
-
Registros de auditoria de evento do sistema
Identifica ações automatizadas do Google Cloud que modificam a configuração dos recursos.
Não é possível desativar os registros de auditoria de eventos do sistema.
Para ver descrições mais completas dos tipos de registros de auditoria, consulte Tipos de registros de auditoria.
Operações auditadas
Veja na tabela a seguir um resumo das operações de API que correspondem a cada tipo de registro de auditoria no Compute Engine:
Categoria de registros de auditoria | Subtipo | Operações do Compute Engine | Exemplos |
---|---|---|---|
Registros de auditoria de atividade do administrador | N/A |
|
|
Registros de auditoria de acesso a dados1 | ADMIN_READ |
|
|
DATA_READ |
Acessar o conteúdo do console da porta serial | compute.instance.getSerialPortOutput |
|
Registros de auditoria de evento do sistema | N/A |
|
|
1Registros de auditoria de acesso a dados: diferentemente dos registros de auditoria
de outros serviços, o Compute Engine tem apenas registros de acesso a dados ADMIN_READ
e, geralmente, não oferece Registros DATA_READ
e
DATA_WRITE
. Isso acontece porque os registros DATA_READ
e
DATA_WRITE
são usados apenas para serviços que
armazenam e gerenciam dados do usuário, como Cloud Storage, Spanner e
Cloud SQL, e isso não se aplica ao Compute Engine. Há uma exceção a essa regra: o instance.getSerialPortOutput
gera um registro DATA_READ
porque o método lê dados diretamente da instância de VM.
2Conexão/desconexão de porta serial: para mais informações sobre registros de auditoria do console serial, consulte Como visualizar registros de auditoria do console serial.
Edição de dados nos registros de auditoria
Os registros de auditoria registram os dados de solicitações e respostas das ações da API que foram realizadas. No entanto, nas circunstâncias a seguir, as informações de solicitações ou respostas estarão indisponíveis ou editadas:
- Para solicitações de API
instance.setMetadata
eproject.setCommonInstanceMetadata
, a seção de metadados do corpo de resposta é editado para evitar o registro de informações confidenciais enviadas nos metadados. - Campos confidenciais são editados nas solicitações, como chaves privadas para certificados SSL e chaves de criptografia fornecidas pelo cliente para discos.
- Para respostas get e list, o corpo de resposta é editado para evitar o registro de informações privadas.
Formato do registro de auditoria
As entradas de registro de auditoria incluem os seguintes objetos:
A própria entrada de registro, que é um objeto do tipo
LogEntry
. Veja alguns campos úteis:- O
logName
contém o ID do recurso e o tipo de registro de auditoria. - O
resource
contém o destino da operação auditada. - O
timeStamp
contém o horário da operação auditada. - O
protoPayload
contém as informações auditadas.
- O
Os dados de registro de auditoria, que são um objeto
AuditLog
localizado no campoprotoPayload
da entrada de registro.Informações de auditoria opcionais e específicas do serviço, que são um objeto específico do serviço. Para integrações anteriores, esse objeto é mantido no campo
serviceData
do objetoAuditLog
. Integrações posteriores usam o campometadata
.
Confira outros campos nesses objetos e como interpretá-los em Noções básicas sobre registros de auditoria.
Nome do registro
Os nomes dos Registros de auditoria do Cloud incluem identificadores de recursos que indicam o projeto do Google Cloud ou outra entidade do Google Cloud proprietária dos registros de auditoria e se o registro tem dados de registro de auditoria de atividade do administrador, acesso a dados, política negada ou evento do sistema.
Estes são os nomes dos registros de auditoria, que incluem variáveis para os identificadores de recursos:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Nome do serviço
Os registros de auditoria do Compute Engine usam os seguintes nomes de serviço:
compute.googleapis.com
ssh-serialport.googleapis.com
oslogin.googleapis.com
Veja uma lista de todos os nomes de serviço da API Cloud Logging e o tipo de recurso monitorado correspondente em Mapear serviços para recursos.
Tipos de recurso
Os registros de auditoria do Compute Engine usam os seguintes tipos de recursos para registros de auditoria:
Categoria do tipo de recurso | Descrição | Exemplos |
---|---|---|
Recurso da API | Esse recurso registra operações de API. | api |
Recurso auditado | Esse recurso registra operações do Google Cloud. O tipo de recurso auditado é usado principalmente para novas operações que não se encaixam nas outras categorias. | audited_resource |
autoescalador; | Este recurso registra operações do escalonador automático. | autoscaler |
Recurso de desenvolvimento | Esse recurso registra operações de implantação. | deployment |
Recursos do Cloud Deployment Manager (deployment_manager_* ) |
Esse recurso registra as operações do Cloud Deployment Manager. Os tipos de recurso |
|
Recursos do Compute Engine (gce_* ) |
Esse recurso registra operações do Compute Engine. Os tipos de recurso |
|
Recurso de segurança de rede | Esse recurso registra Operações de política de segurança de rede. | network_security_policy |
Recursos do Cloud VPN (vpn_* ) |
Esse recurso registra operações do Cloud VPN. |
|
Confira uma lista de todos os tipos de recursos monitorados do Cloud Logging e informações descritivas em Tipos de recursos monitorados.
Identidades de autor da chamada
O endereço IP do autor da chamada é mantido no campo RequestMetadata.caller_ip
do
objeto AuditLog
. O Logging pode encobrir determinadas identidades e endereços IP de autor da chamada.
Para saber quais informações são editadas nos registros de auditoria, consulte Identidades de autores de chamadas nos registros de auditoria.
Ativar registros de auditoria
Os registros de auditoria de eventos do sistema estão sempre ativados. Não é possível desativá-los.
Os registros de auditoria de atividade do administrador estão sempre ativados. Não é possível desativá-los.
Por padrão, os registros de auditoria de acesso a dados são desativados e não são gravados, a menos que essa opção seja ativada. Os registros de auditoria de acesso a dados do BigQuery são uma exceção e não podem ser desativados.
Para informações sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, consulte Habilitar registros de auditoria de acesso a dados.
Permissões e papéis
As permissões e papéis do IAM determinam a capacidade de acessar dados de registros de auditoria nos recursos do Google Cloud.
Ao decidir as permissões e papéis específicos do Logging que se aplicam ao seu caso de uso, considere o seguinte:
O papel Visualizador de registros (
roles/logging.viewer
) fornece acesso somente leitura aos registros de auditoria de atividade do administrador, política negada e eventos do sistema. Se você tiver apenas esse papel, não será possível acessar os registros de auditoria de acesso a dados que estão no bucket_Default
.O papel Visualizador de registros particulares
(roles/logging.privateLogViewer
inclui as permissões contidas emroles/logging.viewer
, além da capacidade de ler os registros de auditoria de acesso a dados no bucket_Default
.Observe que, se esses registros privados forem armazenados em buckets definidos pelo usuário, qualquer usuário que tenha permissões para ler registros nesses intervalos poderá ler os registros privados. Para mais informações sobre buckets de registro, consulte Visão geral de roteamento e armazenamento.
Para mais informações sobre as permissões e os papéis do IAM que se aplicam aos dados de registros de auditoria, consulte Controle de acesso com IAM.
Ler registros
É possível consultar todos os registros de auditoria ou fazer consultas individuais pelo nome do registro de auditoria. O nome do registro de auditoria inclui o
identificador de recurso
do projeto, da pasta, da conta de faturamento ou da organização
do Google Cloud com as informações de registro de auditoria que você quer consultar.
Suas consultas podem especificar campos LogEntry
indexados e, se você usar a página Análise de dados de registros, que é compatível com consultas SQL, será possível conferir os resultados da consulta como um gráfico.
Para mais informações sobre como consultar seus registros, consulte as seguintes páginas:
- Criar consultas na Análise de registros.
- Consultar e visualizar registros na Análise de dados de registros.
- Amostras de consultas para insights de segurança.
Console
No Console do Google Cloud, é possível usar a Análise de Registros para recuperar as entradas de registro de auditoria do projeto do Google Cloud, da pasta ou da organização:
-
No painel de navegação do console do Google Cloud, selecione Logging e clique em Análise de registros:
Selecione um projeto do Google Cloud, uma pasta ou uma organização.
Para exibir todos os registros de auditoria, insira uma das seguintes consultas no campo do editor de consultas e clique em Executar consulta:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Para exibir os registros de auditoria de um recurso e tipo de registro específicos, no painel Criador de consultas, faça o seguinte:
Em Tipo de recurso, selecione o recurso do Google Cloud com os registros de auditoria que você quer consultar.
Em Nome do registro, selecione o tipo de registro de auditoria que você quer consultar.
- Para os registros de auditoria da atividade do administrador, selecione Atividade.
- Para os registros de auditoria de acesso a dados, selecione data_access.
- Para os registros de auditoria de eventos do sistema, selecione system_event.
- Em "Registros de auditoria de política negada", selecione policy.
Clique em Executar consulta.
Se você não encontrar essas opções, isso significa que não há registros de auditoria desse tipo disponíveis no projeto do Google Cloud, na pasta ou na organização.
Se você estiver com problemas para conferir registros na Análise de registros, consulte as informações de solução de problemas.
Para mais informações sobre como consultar usando a Análise de Registros, consulte Criar consultas na Análise de Registros. Para informações sobre como resumir entradas de registro na Análise de registros usando o Duet AI, consulte Resumir entradas de registro com assistência do Duet AI.
gcloud
A Google Cloud CLI fornece uma interface de linha de comando para a API Logging. Insira um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Google Cloud selecionado.
Para ler suas entradas de registro de auditoria no nível do projeto do Google Cloud, execute o comando a seguir:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Para ler suas entradas de registro de auditoria no nível da pasta, execute o comando a seguir:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Para ler as entradas de registro de auditoria no nível da organização, execute este comando:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Para ler as entradas de registro de auditoria na conta do Cloud Billing, execute este comando:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Adicione a sinalização --freshness
ao comando para ler registros com mais de um dia.
Saiba mais sobre como usar a CLI gcloud em
gcloud logging read
.
API
Ao criar consultas, informe um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Google Cloud selecionado.
Por exemplo, para usar a API Logging para visualizar as entradas de registro de auditoria para envolvidos no projeto:
Acesse a seção Testar esta API da documentação do método
entries.list
.Digite o seguinte na parte do Corpo da solicitação do formulário Teste esta API. Clique nesse formulário preenchido automaticamente para preencher automaticamente o corpo da solicitação, mas é necessário inserir um PROJECT_ID válido em cada um dos nomes de registro.
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Clique em Execute.
Amostras de consultas
Para encontrar registros de auditoria para o Compute Engine, use as seguintes consultas no Explorador de registros:
Nome da consulta | Expressão |
---|---|
Erro de host | resource.type="gce_instance" protoPayload.serviceName="compute.googleapis.com" (protoPayload.methodName:"compute.instances.hostError" OR operation.producer:"compute.instances.hostError") log_id("cloudaudit.googleapis.com/system_event") resource.labels.instance_id="INSTANCE_ID" severity="INFO" |
Manutenção do host | resource.type="gce_instance" protoPayload.serviceName="compute.googleapis.com" (protoPayload.methodName:"OnHostMaintenance" OR operation.producer:"OnHostMaintenance") log_id("cloudaudit.googleapis.com/system_event") resource.labels.instance_id="INSTANCE_ID" severity=INFO |
Host migrado | resource.type="gce_instance" protoPayload.serviceName="compute.googleapis.com" (protoPayload.methodName:"compute.instances.migrateOnHostMaintenance" OR operation.producer:"compute.instances.migrateOnHostMaintenance") log_id("cloudaudit.googleapis.com/system_event") resource.labels.instance_id="INSTANCE_ID" severity=INFO |
Instância encerrada ou antecipada | resource.type="gce_instance" protoPayload.methodName=~"compute.instances.(guestTerminate|preempted)" log_id("cloudaudit.googleapis.com/activity") resource.labels.instance_id="INSTANCE_ID" |
Instância encerrada pelo SO convidado | resource.type="gce_instance" protoPayload.serviceName="compute.googleapis.com" (protoPayload.methodName:"compute.instances.guestTerminate" OR operation.producer:"compute.instances.guestTerminate") log_id("cloudaudit.googleapis.com/system_event") resource.labels.instance_id="INSTANCE_ID" severity=INFO |
Instância encerrada na manutenção do host | resource.type="gce_instance" protoPayload.serviceName="compute.googleapis.com" (protoPayload.methodName:"compute.instances.terminateOnHostMaintenance" OR operation.producer:"compute.instances.terminateOnHostMaintenance") log_id("cloudaudit.googleapis.com/system_event") resource.labels.instance_id="INSTANCE_ID" severity=INFO |
Instância criada | resource.type="gce_instance" protoPayload.methodName:"compute.instances.insert" log_id("cloudaudit.googleapis.com/activity") protoPayload.request.name="INSTANCE_NAME" |
Nome da instância excluído | resource.type="gce_instance" protoPayload.methodName:"compute.instances.delete" log_id("cloudaudit.googleapis.com/activity") protoPayload.resourceName:"INSTANCE_NAME" |
ID da instância excluído | resource.type="gce_instance" protoPayload.methodName:"compute.instances.delete" log_id("cloudaudit.googleapis.com/activity") resource.labels.instance_id="INSTANCE_ID" |
Instância reiniciada | resource.type="gce_instance" protoPayload.methodName=~ "compute.instances.(stop|reset|automaticRestart| guestTerminate|instanceManagerHaltForRestart)" (log_id("cloudaudit.googleapis.com/activity") OR log_id("cloudaudit.googleapis.com/system_event")) resource.labels.instance_id="INSTANCE_ID" |
Disco permanente criado | resource.type="gce_disk" protoPayload.methodName:"compute.disks.insert" log_id("cloudaudit.googleapis.com/activity") protoPayload.request.name="PD_NAME" |
Disco permanente excluído | resource.type="gce_disk" protoPayload.methodName:"compute.disks.delete" log_id("cloudaudit.googleapis.com/activity") protoPayload.resourceName="PD_NAME" |
Nós adicionados em nós de locatário individual | resource.type="gce_node_group" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName=~("compute.nodeGroups.addNodes" OR "compute.nodeGroups.insert") resource.labels.node_group_id="NODE_GROUP_ID" |
Eventos de escalonamento automático em nós de locatário individual | resource.type="gce_node_group" log_id("cloudaudit.googleapis.com/system_event") protoPayload.methodName=~("compute.nodeGroups.deleteNodes" OR "compute.nodeGroups.addNodes") resource.labels.node_group_id="NODE_GROUP_ID" |
Snapshot criado manualmente | resource.type="gce_disk" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.disks.createSnapshot" protoPayload.request.sourceDisk:"PD_NAME" protoPayload.request.name="SNAPSHOT_NAME" |
Snapshot programado tirado | resource.type="gce_disk" log_id("cloudaudit.googleapis.com/system_event") protoPayload.methodName="ScheduledSnapshots" protoPayload.response.operationType="createSnapshot" protoPayload.response.targetLink="PD_NAME" |
Snapshot excluído manualmente | resource.type="gce_snapshot" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.snapshots.delete" protoPayload.resourceName:"SNAPSHOT_NAME" |
Programação de snapshot criada | resource.type="gce_resource_policy" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.resourcePolicies.insert" protoPayload.request.name="SCHEDULE_NAME" |
Programação de snapshots excluída | resource.type="gce_resource_policy" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.resourcePolicies.delete" protoPayload.request.name="SCHEDULE_NAME" |
Programação de snapshot anexada | resource.type="gce_disk" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.disks.addResourcePolicies" protoPayload.request.resourcePolicys:"SCHEDULE_NAME" protoPayload.resourceName:"PD_NAME" |
Programação de snapshot removida | resource.type="gce_disk" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName:"compute.disks.removeResourcePolicies" protoPayload.request.resourcePolicys:"SCHEDULE_NAME" protoPayload.resourceName:"PD_NAME" |
Instância removida ou adicionada do grupo de instâncias | resource.type="gce_instance_group" protoPayload.methodName:"compute.instanceGroups.*" log_id("cloudaudit.googleapis.com/activity") resource.labels.instance_group_name="INSTANCE_GROUP_NAME" |
Modelo de instância definido ou atualizado para um grupo gerenciado de instâncias | resource.type="gce_instance_group_manager" log_id("cloudaudit.googleapis.com/activity") protoPayload.methodName="v1.compute.instanceGroupManagers.setInstanceTemplate" resource.labels.instance_group_manager_name="INSTANCE_GROUP_NAME" |
Escalonamento automático do escalonamento automático do grupo de instâncias gerenciadas | resource.type="autoscaler" resource.labels.project_id="PROJECT" resource.labels.autoscaler_name="AUTOSCALER_NAME" |
Regra de firewall excluída | resource.type="gce_firewall_rule" AND log_id("cloudaudit.googleapis.com/activity") AND protoPayload.methodName:"firewalls.delete" |
Para usar as consultas de amostra, faça o seguinte:
Substitua as variáveis pelas informações do seu projeto e copie a expressão usando o ícone de área de transferência content_copy.
-
No painel de navegação do console do Google Cloud, selecione Logging e, depois, Análise de registros:
Ative Mostrar consulta para abrir o campo "query-editor" e cole a expressão nele:
Clique em Executar consulta. Os registros que correspondem à consulta são listados no painel Resultados da consulta.
Encaminhar registros de auditoria
É possível encaminhar registros de auditoria para destinos suportados da mesma maneira que é possível rotear outros tipos de registros. Confira alguns motivos para Encaminhar registros de auditoria:
Para manter registros de auditoria por mais tempo ou usar recursos de pesquisa mais eficientes, exporte cópias desses registros para o Cloud Storage, o BigQuery ou o Pub/Sub. Com o Pub/Sub, faça exportações para outros aplicativos e repositórios ou para terceiros.
Para gerenciar seus registros de auditoria em toda a organização, crie coletores agregados que podem encaminhar registros de qualquer ou todos os projetos do Google Cloud na organização.
- Se os registros ativados de auditoria de acesso a dados estiverem enviando seus projetos do Google Cloud para as cotas de registros, você poderá criar coletores que excluam os registros de auditoria de acesso a dados do Logging.
Para instruções sobre o roteamento de registros, consulte Rotear registros para destinos compatíveis.
Preços
Para mais informações sobre preços, consulte o Resumo de preços do Cloud Logging.