Exportar descobertas em massa para o BigQuery

O documento descreve como iniciar exportações em massa sob demanda de descobertas do Security Command Center para o BigQuery.

O BigQuery é o data warehouse para análise totalmente gerenciado, em escala de petabyte e econômico do Google Cloud. Ele permite executar análises em grandes volumes de dados quase em tempo real. Para saber mais sobre o BigQuery, consulte a documentação do BigQuery.

Visão geral

Esse recurso oferece um resumo das descobertas até um determinado momento. Esse recurso complementa a exportação contínua do BigQuery para fornecer análises e relatórios abrangentes.

Com as exportações em massa, é possível fazer o seguinte:

Estrutura do conjunto de dados

As descobertas são exportadas para o BigQuery como linhas na tabela findings, que é agrupada por source_id, finding_id e event_time.

Cada conjunto de dados contém uma tabela findings com os seguintes campos:

Campo Descrição
source_id

Um identificador exclusivo que o Security Command Center atribui à origem de uma descoberta. Por exemplo, todas as descobertas da origem da Detecção de anomalias do Cloud têm o mesmo valor source_id.

Exemplo: 1234567890

finding_id Identificador exclusivo que representa a descoberta. É único dentro de uma fonte para uma organização. É alfanumérico e tem no máximo 32 caracteres.
event_time

A hora em que o evento ocorreu ou a hora em que uma atualização da descoberta ocorreu. Por exemplo, se a descoberta representar um firewall aberto, event_time vai capturar o horário em que o detector acredita que o firewall foi aberto. Se a descoberta for resolvida depois, esse horário vai refletir quando ela foi resolvida.

Exemplo: 2019-09-26 12:48:00.985000 UTC

bulk_export_id

Para exportações em massa (pré-lançamento), esse é um UUID.

Para exportações contínuas, esse campo fica vazio.

finding

Um registro de dados de avaliação, como segurança, risco, saúde ou privacidade, que é ingerido no Security Command Center para apresentação, notificação, análise, teste de políticas e aplicação. Por exemplo, uma vulnerabilidade de scripting em vários locais (XSS) em um aplicativo do App Engine é uma descoberta.

Para mais informações sobre os campos aninhados, consulte a referência da API do objeto Finding.

resource

Informações relacionadas ao recurso Google Cloud associado a essa descoberta.

Para mais informações sobre os campos aninhados, consulte a referência da API do objeto Resource.

Custo

Você recebe cobranças do BigQuery relacionadas a esse recurso para armazenar dados no BigQuery. Para mais informações, consulte Preços de armazenamento do BigQuery.

Antes de começar

Conclua as etapas abaixo antes de ativar esse recurso.

Configurar permissões

Para concluir este guia, você precisa ter os seguintes papéis de gerenciamento de identidade e acesso (IAM):

Criar um conjunto de dados do BigQuery

Crie um conjunto de dados do BigQuery seguindo as etapas em Criar conjuntos de dados.

Ativar a API Security Command Center

Para exportar descobertas, ative a API Security Command Center seguindo estas etapas:

  1. Acesse a página Biblioteca de APIs no Google Cloud console.

    Acessar a biblioteca de APIs

  2. Selecione o projeto em que você quer ativar a API Security Command Center.

  3. No campo Pesquisar, digite Security Command Center e clique em Security Command Center nos resultados da pesquisa.

  4. Na página da API exibida, clique em Ativar.

A API Security Command Center está ativada no seu projeto.

Conceder acesso de perímetro no VPC Service Controls

Se você usa o VPC Service Controls, consulte Conceder acesso ao perímetro no VPC Service Controls e siga essas etapas, se necessário.

Essa etapa precisa ser repetida para cada usuário que cria uma exportação em massa para um perímetro de serviço específico.

Criar uma regra de entrada para a nova exportação em massa do BigQuery

Se você usa o VPC Service Controls, consulte Criar uma regra de entrada para a nova exportação para o BigQuery e siga essas etapas, se necessário.

Limitações das exportações em massa do BigQuery

Considere as seguintes restrições ao criar exportações em massa do BigQuery:

  • Só é possível fazer três exportações em massa simultâneas por vez em uma única organização.
  • Se você solicitar várias exportações em massa não simultâneas para o mesmo conjunto de dados do BigQuery, as descobertas mais recentes na exportação serão anexadas à tabela findings do BigQuery. As descobertas não são substituídas.

Criar uma exportação em massa do BigQuery

Uma exportação em massa de descobertas só pode ser realizada no nível da organização.

Para iniciar uma exportação em massa de descobertas para uma instância do BigQuery, use a CLI gcloud e siga estas etapas:

  1. Acesse o console do Google Cloud .

    Acessar o console do Google Cloud

  2. Selecione o projeto para o qual você ativou a API Security Command Center.

  3. Clique em Ativar o Cloud Shell.

  4. Para criar uma nova configuração de exportação, execute este comando:

    gcloud scc findings export-to-bigquery PARENT \
        --dataset=DATASET_NAME \
        [--location=LOCATION; default="global"] \
    

    Substitua:

    • PARENT: o nome relativo do escopo de exportação. Exemplo de formato: organizations/ORGANIZATION_ID
    • DATASET_NAME: o nome do conjunto de dados do BigQuery. Exemplo de formato: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: o local do Security Command Center em que criar uma configuração de exportação. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global. Essa variável é opcional.

      Por exemplo, para criar uma exportação em massa de todas as descobertas, execute o seguinte comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
      

      Em termos de residência de dados, o exemplo anterior chama o endpoint global.

      Para criar a mesma exportação em massa para o endpoint eu, execute o seguinte comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
        --location=locations/eu
      

Esse comando retorna um objeto de operação de longa duração que contém uma string name, necessária para rastrear o status da exportação. Para acompanhar o status dessa exportação em massa do BigQuery, consulte Ver o status de uma exportação em massa.

Para conferi-las, consulte Conferir descobertas.

Consultas

Para ver várias consultas que podem ser usadas para analisar dados de descobertas, consulte Consultas úteis.

Ver o status de uma exportação em massa

Para conferir o status de uma exportação em massa, você precisa da string long running operation name que foi retornada quando você criou a exportação em massa.

  1. Acesse o console do Google Cloud .

    Acessar o console do Google Cloud

  2. Selecione o projeto para o qual você ativou a API Security Command Center.

  3. Clique em Ativar o Cloud Shell.

  4. Para verificar os detalhes da configuração de exportação em massa, execute o comando a seguir:

    gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \
        --organization=ORGANIZATION_ID
    

    Substitua:

    • LONG_RUNNING_OPERATION_NAME: a string name retornada quando você criou a exportação em massa.
    • ORGANIZATION_ID

      Por exemplo, para conferir o status de uma solicitação de exportação em massa, o name: "long-running-operation-name" retornado de uma organização com um ID da organização definido como 123, execute o seguinte comando:

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • Se uma exportação for concluída, a resposta vai conter done: true.
  • Se uma exportação falhar, a resposta vai conter um código de erro.
  • Se uma exportação ainda estiver em andamento, a resposta não vai conter done: true nem um código de erro.

Exportações em massa e contínuas do BigQuery

Se você quiser usar exportações em massa e contínuas do BigQuery juntas no mesmo conjunto de dados do BigQuery, há duas abordagens possíveis:

  • Primeiro, crie uma exportação contínua e, em seguida, faça o backfill com uma exportação em massa.

    1. Configure uma exportação contínua para um conjunto de dados do BigQuery. Depois que a exportação é criada, você começa a receber descobertas do Security Command Center em tempo real.

    2. Crie uma exportação em massa usando o mesmo conjunto de dados de destino do BigQuery. Um snapshot de todas as descobertas do Security Command Center no momento da exportação é exportado para o conjunto de dados selecionado.

    Uma exportação em massa leva tempo para ser executada. Assim, se a exportação contínua for criada em T1, a exportação em massa será acionada em T2, e o snapshot das descobertas para a exportação em massa será concluído em T3, registros duplicados poderão ser vistos entre T1 e T3. No entanto, não há lacunas de descobertas.

  • Primeiro, crie uma exportação em massa e, depois, uma exportação contínua.

    1. Crie uma exportação em massa. Um snapshot de todas as descobertas do Security Command Center no momento em que as execuções de exportação são exportadas para o conjunto de dados selecionado do BigQuery.

    2. Configure uma exportação contínua para o mesmo conjunto de dados de destino do BigQuery. Depois que a exportação é criada, você começa a receber descobertas do Security Command Center em tempo real.

    Se a exportação em massa for criada em T1, o snapshot das descobertas para exportação em massa será concluído em T2, e a exportação contínua será acionada em T3. Assim, as descobertas entre T2 e T3 poderão estar ausentes no conjunto de dados do BigQuery.

A seguir