Registros de auditoria do Cloud com Cloud Storage

Nesta página, você verá informações complementares sobre como usar os registros de auditoria do Cloud com o Cloud Storage. Use os registros de auditoria do Cloud para gerar registros das operações da API realizadas no Cloud Storage.

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. Também é possível anexar informações personalizadas aos registros de auditoria para ver informações mais detalhadas sobre como os recursos são acessados.

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 Cloud Storage:

  • Registros de auditoria de atividade do administrador: entradas de operações que modificam o acesso aos recursos do Cloud Storage e operações que restauram buckets ou criam, excluem ou modificam buckets, pastas gerenciadas ou configurações de relatórios de inventário.

  • Registros de auditoria de acesso a dados: entradas de operações que não são rastreadas nos registros de auditoria de atividades do administrador. Há vários subtipos de registros de auditoria de acesso a dados:

    • ADMIN_READ: entradas de operações que leem configurações de acesso, leem metadados de buckets ou listam buckets em um projeto.

    • DATA_READ: entradas de operações que leem ou listam recursos do Cloud Storage diferentes de buckets.

    • DATA_WRITE: entradas de operações que criam, modificam, excluem ou restauram objetos ou que criam, modificam ou excluem uploads de várias partes da API XML ou que criam, excluem ou renomeiam pastas.

    Para receber registros de auditoria de acesso a dados, é necessário ativá-los explicitamente.

Além dos registros de auditoria para o Cloud Storage, os registros de auditoria do Cloud podem criar registros de auditoria para o Storage Insights. Os registros de auditoria do Storage Insights são gerados sempre que as configurações do relatório de inventário são criadas, atualizadas e buscadas e quando os relatórios de inventário são buscados.

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 de quais operações do Cloud Storage correspondem a cada tipo de registro de auditoria:

Tipo de registro de auditoria Subtipo Operações do Cloud Storage
Atividade do administrador ADMIN_WRITE
  • Definir/alterar as políticas de IAM
  • Como alterar ACLs de objeto 1
  • Criar buckets
  • Como excluir buckets
  • Atualizar metadados de intervalos
  • Como criar pastas gerenciadas
  • Como excluir pastas gerenciadas
  • Como criar configurações de relatório de inventário
  • Como atualizar configurações de relatório de inventário
  • Como excluir configurações de relatório de inventário
  • Como restaurar buckets excluídos de forma reversível
Acesso a dados ADMIN_READ
  • Receber políticas de IAM
  • Receber ACLs de objetos
  • Receber metadados de intervalos
  • Como listar buckets
Acesso a dados DATA_READ
  • Receber dados de objetos
  • Receber metadados de objetos
  • Como listar objetos
  • Como receber metadados da pasta
  • Como listar pastas
  • Como receber metadados da pasta gerenciada
  • Listar pastas gerenciadas
  • Como copiar objetos2
  • Como criar objetos2
  • Como listar os uploads de várias partes da API XML em andamento
  • Como listar os uploads de várias partes da API XML
  • Como acessar configurações de relatório de inventário
  • Como listar configurações de relatório de inventário
  • Como gerar relatórios de inventário
  • Como listar relatórios de inventário
Acesso a dados DATA_WRITE
  • Criar objetos
  • Como excluir objetos
  • Como restaurar objetos excluídos de forma reversível
  • Atualizar metadados de objetos não relacionados a ACL
  • Como copiar objetos1
  • Como criar objetos1
  • Como iniciar uploads de várias partes da API XML
  • Como criar partes em um upload de várias partes da API XML
  • Como cancelar uploads de várias partes da API XML
  • Como concluir uploads de várias partes da API XML
  • Como criar pastas
  • Como excluir pastas
  • Renomear pastas

1 Os registros de atividades do administrador não serão gerados se/quando as ACLs forem inicialmente definidas na criação do objeto. 3: além disso, se uma ACL de objeto estiver definida como pública, os registros de auditoria não serão gerados para leituras ou gravações nesse objeto ou na ACL correspondente.

2 Essas operações envolvem dados de leitura e gravação. Como resultado, essas operações geram duas entradas de registro.

Restrições

As restrições a seguir se aplicam ao uso dos registros de auditoria do Cloud com o Cloud Storage:

Se você precisar de recursos de geração de registros em um desses casos, use Registros de uso do Cloud Storage.

Formato do registro de auditoria

As entradas de registro de auditoria incluem os seguintes componentes:

  • A própria entrada de registro, que é um objeto 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.
  • Os dados de registro de auditoria, que são um objeto AuditLog localizado no campo protoPayload da entrada de registro.

  • Informações opcionais de auditoria específicas do Cloud Storage, incluindo informações detalhadas de solicitação e resposta. Para mais informações, consulte Modo de registro de auditoria detalhado. Não é necessário aplicar registros de auditoria detalhados para anexar informações personalizadas a registros de auditoria.

Veja 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 Cloud ou outra entidade do Google Cloud que contém os registros de auditoria e se o registro contém dados de registro de auditoria de atividades do administrador ou de acesso a dados.

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

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nome do serviço

Os registros de auditoria do Cloud Storage usam o nome de serviço storage.googleapis.com.

Os registros de auditoria do Storage Insights usam o nome de serviço storageinsights.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 Cloud Storage usam o tipo de recurso gcs_bucket.

Veja uma lista de todos os tipos de recursos monitorados do Cloud Logging e informações descritivas em Tipos de recursos monitorados.

Ativar registros de auditoria

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 sejam explicitamente ativados.

Para informações sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, consulte Configurar 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 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 ver os registros de auditoria de acesso a dados que estão nos buckets _Required e _Default.

  • O papel Visualizador de registros particulares (roles/logging.privateLogViewer inclui as permissões contidas em roles/logging.viewer, além da capacidade de ler os registros de auditoria de acesso a dados nos buckets _Required e _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.

Como 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:

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:

  1. 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.

  2. Selecione um projeto do Google Cloud, uma pasta ou uma organização.

  3. 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"
    
  4. 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:

  1. Acesse a seção Testar esta API na documentação do método entries.list.

  2. 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"
    }
    
  3. Clique em Executar.

Adicionar informações personalizadas aos registros de auditoria

É possível anexar informações personalizadas aos registros de auditoria de solicitações incluindo nelas o cabeçalho x-goog-custom-audit-KEY: VALUE. As solicitações da API XML também oferecem suporte ao uso de um parâmetro de consulta x-goog-custom-audit-KEY=VALUE. As informações personalizadas são adicionadas ao campo metadata de protoPayload na entrada de registro de auditoria.

Ao adicionar informações de auditoria personalizadas, considere o seguinte:

  • Cada KEY pode conter até 64 caracteres, enquanto cada VALUE pode conter até 1.200 caracteres.

  • Cada solicitação pode conter até quatro entradas de cabeçalho ou de parâmetro combinadas.

Exemplos de entradas de cabeçalho

A lista a seguir mostra exemplos de pares de chave-valor que podem ser incluídos nas entradas de cabeçalho:

  • x-goog-custom-audit-job: test-job-id-here
  • x-goog-custom-audit-user: user ID test 1
  • x-goog-custom-audit-internal-user-id: MATR2022-11
  • x-goog-custom-audit-tracking-ticket: TT/1516512851
  • x-goog-custom-audit-justification: Removed customer identity record at customer request
  • x-goog-custom-audit-customer-id: USCU12315154

Exemplos de solicitação

Linha de comando

gcloud storage hash gs://example_bucket/example_object.jpeg --additional-headers=x-goog-custom-audit-job="job name",x-goog-custom-audit-user="test user"

Bibliotecas de cliente

C++

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

C#

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

Go

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

Java

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

Node.js

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

PHP

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

Python

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

Ruby

Para saber como adicionar cabeçalhos personalizados a solicitações, consulte Adicionar cabeçalhos personalizados.

APIs REST

API JSON

curl -X GET "https://storage.googleapis.com/storage/v1/b/example_bucket/o/example_object" \
-H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
-H "x-goog-custom-audit-job: job name" \
-H "x-goog-custom-audit-user: test user"

API XML

curl -X GET "https://storage.googleapis.com/example_bucket/example_object" \
-H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
-H "x-goog-custom-audit-job: job name" \
-H "x-goog-custom-audit-user: test user"

Solicitações de URL assinados

curl -X GET 'storage.googleapis.com/example_bucket?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host,x-goog-custom-audit-job,x-goog-custom-audit-user&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7' \
-H "x-goog-custom-audit-job: job name" \
-H "x-goog-custom-audit-user: test user"

Observe que os cabeçalhos de auditoria personalizados também precisam ser incluídos em X-Goog-SignedHeaders.

Para criar uma solicitação de URL assinado compatível com a adição de cabeçalhos de auditoria personalizados, os cabeçalhos desse tipo que você quer usar na solicitação também precisam ser incluídos ao gerar o URL assinado. Por exemplo:

gcloud storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --headers=x-goog-custom-audit-job:"job name",x-goog-custom-audit-user="test user"

Também é possível usar bibliotecas de cliente para gerar o URL assinado ao definir cabeçalhos personalizados.

Como alternativa ao uso de cabeçalhos assinados, é possível usar parâmetros de consulta para transmitir entradas de auditoria personalizadas.

curl -X GET 'storage.googleapis.com/example_bucket?X-Goog-Custom-Audit-Key=Value&X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7'

Esses parâmetros de consulta precisam ser incluídos quando você gerar o URL assinado. Por exemplo:

gcloud storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --query-params=x-goog-custom-audit-job=job_name,x-goog-custom-audit-user=test_user

Exemplo de entrada de registro

protoPayload: {
  @type: "type.googleapis.com/google.cloud.audit.Auditlog",
  ...
  metadata: {
    audit_context: {
      app_context: "EXTERNAL",
      audit_info: {
        x-goog-custom-audit-job: "job name",
        x-goog-custom-audit-user: "test user"
      }
    }
  }
}

Para mais informações sobre os campos incluídos no objeto protoPayload com o tipo type.googleapis.com/google.cloud.audit.Auditlog, consulte a documentação de referência de AuditLog.

Encaminhar registros de auditoria

É possível encaminhar registros de auditoria para destinos suportados da mesma maneira que é possível rotear outros tipos de registros. Veja 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 livres, você poderá criar coletores que excluam os registros de auditoria de acesso a dados do Logging.

Para instruções sobre como rotear registros, consulte Configurar e gerenciar coletores .

Preços

Para informações sobre os preços do Cloud Logging, consulte Preços de observabilidade do Google Cloud: Cloud Logging.