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 é Google Cloudo serviço de data warehouse de análise totalmente gerenciado, em escala de petabyte e econômico do Google Cloud que permite executar análises em vastos 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 snapshot das descobertas até um determinado momento. Ele 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 findings tabela, que é agrupada por source_id, finding_id, e event_time.

Cada conjunto de dados contém uma tabela findings, que tem 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 source_id valor.

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

O horário em que o evento ocorreu ou o horário em que uma atualização da descoberta ocorreu. Por exemplo, se a descoberta representar um firewall aberto, então 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, esse é um UUID.

Para exportações contínuas, esse campo está 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 Finding objeto.

resource

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

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

Custo

Você incorre em 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 do Identity and Access Management (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, é necessário ativar a API Security Command Center seguindo estas etapas:

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

    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 VPC Service Controls, consulte Conceder acesso de 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 determinado perímetro de serviço.

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

Se você usa 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 para exportações em massa do BigQuery

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

  • Somente três exportações em massa simultâneas são permitidas a qualquer momento para 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 pode ser realizada para uma organização, um projeto ou uma pasta.

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 Google Cloud console do.

    Acesse o Google Cloud console

  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: organização, projeto ou pasta. Exemplos de formatos: organizations/ORGANIZATION_ID, projects/PROJECT_ID, folders/FOLDER_ID
    • DATASET_NAME: o nome do conjunto de dados do BigQuery. Exemplo de formato: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: o Security Command Center local em que uma configuração de exportação será criada. 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 ao rastrear o status da exportação. Para rastrear o status dessa exportação em massa do BigQuery, consulte Conferir o status de uma exportação em massa.

Para conferi-las, consulte Conferir descobertas.

Consultas

Para uma variedade de consultas que podem ser usadas para analisar dados de descobertas, consulte Consultas úteis.

Conferir o status de uma exportação em massa

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

  1. Acesse o Google Cloud console do.

    Acesse o Google Cloud console

  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 este comando:

    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 bem-sucedida, 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 exportações 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, preencha 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 for criada, você vai começar 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. Portanto, 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, em seguida, crie uma exportação contínua.

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

    2. Configure uma exportação contínua para o mesmo conjunto de dados de destino do BigQuery. Depois que a exportação for criada, você vai começar 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 a exportação em massa será concluído em T2 e a exportação contínua será acionada em T3, as descobertas entre T2 e T3 poderão estar ausentes no conjunto de dados do BigQuery.

A seguir