Coletar registros de contexto do Cloud Storage

Compatível com:

Este documento explica como exportar e processar registros de contexto do Cloud Storage no Google Security Operations usando o Cloud Storage. O analisador limpa e estrutura os dados JSON recebidos dos registros do Cloud Storage. Em seguida, ele mapeia os campos relevantes para o modelo de dados unificado (UDM, na sigla em inglês), enriquecendo os dados com rótulos e metadados para uma representação e análise consistentes no ecossistema de segurança.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se o Cloud Storage está configurado e ativado no ambiente Google Cloud .
  • Verifique se você tem acesso privilegiado a Google Cloud e as permissões adequadas.

Criar um bucket do Cloud Storage

  1. Faça login no console do Google Cloud.
  2. Acesse a página Buckets do Cloud Storage.

    Acessar buckets

  3. Clique em Criar.

  4. Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima:

    1. Na seção Começar, faça o seguinte:

      1. Insira um nome exclusivo que atenda aos requisitos de nome de bucket. Por exemplo, google-storage-context-logs.
      2. Para ativar o namespace hierárquico, clique na seta de expansão para abrir a seção Otimizar para cargas de trabalho orientadas a arquivos e com uso intensivo de dados e selecione Ativar namespace hierárquico neste bucket.

      3. Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos.

      4. Clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.

    2. Na seção Escolha onde armazenar seus dados, faça o seguinte:

      1. Selecione um tipo de local.
      2. Use o menu do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.

      3. Para configurar a replicação entre buckets, abra a seção Configurar a replicação entre buckets.

    3. Na seção Escolha uma classe de armazenamento para seus dados, selecione uma classe de armazenamento padrão para o bucket ou selecione Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.

    4. Na seção Escolha como controlar o acesso a objetos, selecione não para aplicar a prevenção de acesso público e selecione um modelo de controle de acesso para os objetos do bucket.

    5. Na seção Escolha como proteger os dados do objeto, faça o seguinte:

      1. Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
      2. Para escolher como os dados do objeto serão criptografados, clique na seta de expansão identificada como Criptografia de dados e selecione um método de criptografia de dados.
  5. Clique em Criar.

Configurar a exportação de registros de contexto do Cloud Storage

  1. Faça login no console do Google Cloud.
  2. Acesse Logging > Roteador de registros.
  3. Clique em Criar coletor.
  4. Informe os seguintes parâmetros de configuração:

    • Nome do coletor: insira um nome significativo. Por exemplo, Storage-Context-Sink.
    • Destino do sink: selecione Cloud Storage e insira o URI do bucket. Por exemplo, gs://google-storage-context-logs.
    • Filtro de registro:

      logName="*storage*"
      resource.type="gcs_bucket"
      
  5. Clique em Criar.

Configurar permissões do Cloud Storage

  1. Acesse IAM e administrador > IAM.
  2. Localize a conta de serviço do Cloud Logging.
  3. Conceda o papel roles/storage.admin no bucket.

Configurar um feed no Google SecOps para processar registros de contexto do Cloud Storage

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed. Por exemplo, Logs de contexto do Cloud Storage.
  4. Selecione Google Cloud Storage como o Tipo de origem.
  5. Selecione Contexto do Google Cloud Storage do GCP como o Tipo de registro.
  6. Clique em Pegar conta de serviço ao lado do campo Conta de serviço do Chronicle.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • URI do bucket do Storage: URL do bucket do Cloud Storage. Por exemplo, gs://google-storage-context-logs.
    • URI Is A: selecione Directory which includes subdirectories.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com sua preferência.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.

  9. Clique em Próxima.

  10. Revise a configuração do novo feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento de UDM Lógica
ancestrais event.idm.entity.entity.resource.attribute.labels.value O valor do ancestral é extraído da matriz de ancestrais no registro bruto.
assetType event.idm.entity.entity.resource.type Mapeado diretamente do campo assetType no registro bruto.
insertId event.idm.entity.metadata.product_entity_id Mapeado diretamente do campo insertId no registro bruto.
labels.compute.googleapis.com/resource_name event.idm.entity.entity.resource.name Mapeado diretamente do campo labels.compute.googleapis.com/resource_name no registro bruto.
labels.k8s-pod/controller-revision-hash event.idm.entity.entity.file.sha1 Mapeado diretamente do campo labels.k8s-pod/controller-revision-hash no registro bruto.
labels.k8s-pod/name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo labels.k8s-pod/name no registro bruto.
labels.k8s-pod/pod-template-generation event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo labels.k8s-pod/pod-template-generation no registro bruto.
logName event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo logName no registro bruto.
nome event.idm.entity.entity.resource.name Mapeado diretamente do campo de nome no registro bruto.
receiveTimestamp event.idm.entity.entity.resource.attribute.creation_time Convertido para o formato de carimbo de data/hora do campo receiveTimestamp no registro bruto.
resource.data.iamConfiguration.publicAccessPrevention event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.iamConfiguration.publicAccessPrevention no registro bruto.
resource.data.id event.idm.entity.entity.resource.product_object_id Mapeado diretamente do campo resource.data.id no registro bruto.
resource.data.kind event.idm.entity.entity.resource.type Mapeado diretamente do campo resource.data.kind no registro bruto.
resource.data.labels.app_id event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.app_id no registro bruto.
resource.data.labels.app_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.app_name no registro bruto.
resource.data.labels.bucket_id event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.bucket_id no registro bruto.
resource.data.labels.data_classification event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.data_classification no registro bruto.
resource.data.labels.dept_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.dept_name no registro bruto.
resource.data.labels.dept_no event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.dept_no no registro bruto.
resource.data.labels.environment event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.environment no registro bruto.
resource.data.labels.goog-composer-environment event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.goog-composer-environment no registro bruto.
resource.data.labels.goog-composer-location event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.goog-composer-location no registro bruto.
resource.data.labels.goog-composer-version event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.goog-composer-version no registro bruto.
resource.data.labels.technical_contact event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.technical_contact no registro bruto.
resource.data.labels.type event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.data.labels.type no registro bruto.
resource.data.location event.idm.entity.entity.location.name Mapeado diretamente do campo resource.data.location no registro bruto.
resource.data.projectNumber event.idm.entity.entity.resource.attribute.cloud.project.id Mapeado diretamente do campo resource.data.projectNumber no registro bruto.
resource.data.selfLink event.idm.entity.entity.url Mapeado diretamente do campo resource.data.selfLink no registro bruto.
resource.data.timeCreated event.idm.entity.entity.resource.attribute.creation_time Convertido para o formato de carimbo de data/hora do campo resource.data.timeCreated no registro bruto.
resource.data.updated event.idm.entity.entity.resource.attribute.last_update_time Convertido para o formato de carimbo de data/hora do campo resource.data.updated no registro bruto.
resource.discoveryDocumentUri event.idm.entity.entity.file.full_path Mapeado diretamente do campo resource.discoveryDocumentUri no registro bruto.
resource.labels.cluster_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.labels.cluster_name no registro bruto.
resource.labels.container_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.labels.container_name no registro bruto.
resource.labels.location event.idm.entity.entity.location.name Mapeado diretamente do campo resource.labels.location no registro bruto.
resource.labels.namespace_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.labels.namespace_name no registro bruto.
resource.labels.pod_name event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.labels.pod_name no registro bruto.
resource.labels.project_id event.idm.entity.entity.resource.attribute.cloud.project.id Mapeado diretamente do campo resource.labels.project_id no registro bruto.
resource.parent event.idm.entity.entity.resource.parent Mapeado diretamente do campo resource.parent no registro bruto.
resource.type event.idm.entity.entity.resource.type Mapeado diretamente do campo resource.type no registro bruto.
resource.version event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo resource.version no registro bruto.
textPayload event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente do campo textPayload no registro bruto.
N/A event.idm.entity.metadata.collected_timestamp O carimbo de data/hora coletado é o carimbo de data/hora da entrada de registro.
N/A event.idm.entity.metadata.entity_type Fixado em RESOURCE.
N/A event.idm.entity.metadata.product_name Fixado em GCP Storage Context.
N/A event.idm.entity.metadata.vendor_name Fixado em Google Cloud Platform.
N/A event.idm.entity.entity.resource.attribute.cloud.environment Fixado em GOOGLE_CLOUD_PLATFORM.
N/A event.idm.entity.entity.resource.resource_type Fixado em STORAGE_BUCKET.
N/A event.timestamp O carimbo de data/hora do evento é o carimbo de data/hora da entrada de registro.

Alterações

2024-05-28

Melhoria:

  • Registros JSON não analisados foram processados.

2023-04-13

Melhoria:

  • Mapeamento de resource.data.iamConfiguration.publicAccessPrevention e resource.version para entity.resource.attribute.label.
  • resource.discoveryDocumentUri foi mapeado para entity.file.full_path.

2022-12-07

Correção de bugs:

  • O mapeamento de resource.data.timeCreated foi modificado de event.timestamp para entity.resource.attribute.creation_time.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.