Neste documento, descrevemos os registros de auditoria criados pelo VPC Service Controls como parte dos Registros de auditoria do Cloud.
Informações gerais
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 seguintes tipos de registros de auditoria estão disponíveis para o VPC Service Controls:
-
Registros de auditoria de política negada
Identifica quando um usuário ou uma conta de serviço tem o acesso negado devido a uma violação da política de segurança. O nome do serviço e o nome do método nos registros de auditoria de política negada indicam os nomes do recurso a que o usuário ou a conta de serviço teve o acesso negado.
Não é possível desativar os registros de auditoria de política negada. No entanto, é possível adicionar o seguinte ao filtro de exclusão no coletor
_Default
para excluir os registros de auditoria de política negada:LOG_ID("cloudaudit.googleapis.com/policy")
. Também é possível desativar o coletor_Default
do Cloud Logging, o que impede que os registros sejam roteados para o bucket_Default
.
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 da API que correspondem a cada tipo de registro de auditoria no VPC Service Controls:
Categoria de registro de auditoria | Métodos do VPC Service Controls |
---|---|
Registros de auditoria de política negada | Os métodos dos serviços integrados ao VPC Service Controls são compatíveis. |
Conteúdo do registro de auditoria
Cada registro de auditoria contém informações que podem ser divididas em duas categorias principais: as informações sobre a chamada original e as informações sobre violações da política de segurança. Elas são preenchidas pela API VPC Service Controls da seguinte maneira:
Campo do registro de auditoria | Descrição |
---|---|
serviceName |
O serviço ao qual o acesso é restrito por um perímetro de serviço. A solicitação para esse serviço violou uma verificação do VPC Service Controls e resultou na criação desse registro de auditoria. |
methodName
|
O nome da chamada de método que resultou na violação da política de segurança descrita no registro. Muitas vezes, methodName é o método associado ao serviço do Google Cloud especificado no campo serviceName .
|
authenticationInfo.principalEmail
|
O endereço de e-mail do usuário ou da conta de serviço que emitiu a solicitação. Alguns endereços de e-mail podem ser editados. Para mais informações, consulte Identidades do autor da chamada em registros de auditoria. |
resourceName
|
O recurso do Google Cloud especificado na solicitação original do cliente.
O resourceName pode ser um projeto, uma pasta, uma organização ou um recurso, como um bucket do Google Cloud.
|
requestMetadata.callerIp |
O endereço IP do autor da chamada.
Se a chamada tiver sido originada da Internet, Se a chamada tiver sido originada de uma VM do Compute Engine, Se a chamada tiver sido originada na rede de produção interna do Google, o valor desse campo será |
request_metadata.caller_network
|
O nome da rede do autor da chamada. Esse valor será definido apenas se o projeto host de rede pertencer à mesma organização ou projeto do Google Cloud a que o recurso acessado pertence. Para mais informações, consulte Redes VPC. |
status
|
O status geral de processamento de uma operação descrita no registro. |
metadata
|
As informações sobre a violação da política de segurança. |
metadata.resourceNames |
Os nomes dos recursos envolvidos na violação da política de segurança descrita no registro. |
metadata.dryRun
|
Um valor booleano que será True se o registro de auditoria for para uma verificação de política de simulação.
|
metadata.vpcServiceControlsUniqueId
|
O identificador exclusivo da violação do VPC Service Controls descrito no registro. |
metadata.violationReason
|
O motivo da violação. Por exemplo, RESOURCE_NOT_IN_SAME_SERVICE_PERIMETER significa que os recursos acessados não pertencem ao mesmo perímetro de serviço.
|
metadata.securityPolicyInfo
|
O nome do perímetro de serviço a que a violação ocorreu e o identificador exclusivo da organização a que o perímetro pertence. |
metadata.egressViolations
|
Uma violação de saída geralmente ocorre quando uma solicitação falha porque a origem é protegida por um perímetro de serviço e o recurso de destino está fora do perímetro. A origem pode ser um projeto ou uma rede VPC. |
metadata.ingressViolations |
O tipo de violação. Geralmente, essa violação ocorre quando a solicitação tenta acessar um recurso de destino protegido por um perímetro de serviço. A origem pode ser um projeto ou uma rede VPC. Esse campo contém uma estrutura que explica a violação de entrada. |
metadata.accessLevels
|
Todos os níveis de acesso correspondentes na organização que pertencem à mesma política de acesso. Esses níveis de acesso podem não ser especificados no perímetro violado e, portanto, podem causar a violação NO_MATCHING_ACCESS_LEVEL .
|
metadata.intermediateServices
|
A lista dos serviços envolvidos na cadeia de solicitação. Este campo está vazio para solicitações iniciadas pelo usuário. |
metadata.deviceState
|
O estado do dispositivo que cria a solicitação quando a política do dispositivo está ativada. O valor padrão deste campo é Unknown .
|
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 VPC Service Controls usam os nomes dos serviços integrados ao VPC Service Controls.
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 VPC Service Controls usam os tipos de recursos compatíveis com os serviços integrados ao VPC Service Controls.
Veja 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 atividade do administrador estão sempre ativados. Não é possível desativá-los.
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 Leitor 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 Leitor 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 intervalos 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.
Ver 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.
Para mais informações sobre como consultar seus registros, consulte
Criar consultas no Explorador de registros.
O Explorador de registros permite visualizar e filtrar entradas de registro individuais. Se você quiser usar o SQL para analisar grupos de entradas de registro, use a página Análise de registros. Veja mais informações em:
- Consultar e visualizar registros na Análise de dados de registros.
- Amostras de consultas para insights de segurança.
- Resultados da consulta de gráficos.
A maioria dos registros de auditoria pode ser visualizada no Cloud Logging usando o console do Google Cloud, a Google Cloud CLI ou a API Logging. No entanto, para registros de auditoria relacionados ao faturamento, só é possível usar a Google Cloud CLI ou a API Logging.
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 console do Google Cloud, acesse a página Análise de registros:
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração 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.
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
.
REST
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 na 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 Executar.
Amostras de consultas
Para usar as consultas de amostra na tabela a seguir, siga estas etapas:
Substitua as variáveis na expressão de consulta pelas informações do projeto e copie a expressão usando o ícone de área de transferência content_copy.
-
No console do Google Cloud, acesse a página Análise de registros:
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.
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.
Para encontrar registros de auditoria do VPC Service Controls, use as seguintes consultas na Análise de registros:
Descrição da consulta | Expressão |
---|---|
Detalhes da violação com base em um ID de negação | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.metadata.vpcServiceControlsUniqueId="UNIQUE_ID" Substitua |
Violações de um endereço IP | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.requestMetadata.callerIp="IP_ADDRESS" Substitua |
Violações de um serviço | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.serviceName="SERVICE_NAME" Substitua |
Alteração do nível de acesso feita a um perímetro | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName="google.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter" -protoPayload.metadata.previousState:"ACCESS_LEVEL" protoPayload.request.servicePerimeter.status.accessLevels:"ACCESS_LEVEL" Substitua |
Operações CRUD do perímetro | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.name=~".*PERIMETER_NAME$" PERIMETER_NAME pelo nome do perímetro. |
Operações CRUD do nível de acesso | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*AccessLevel" protoPayload.request.accessLevel.name=~".*ACCESS_LEVEL$" |
Operações de criação e atualização para regras de entrada | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.ingressPolicies:"*" |
Operações de criação e atualização para regras de saída | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.egressPolicies:"*" |
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 Firebase na organização.
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.