Esta página descreve como fazer stream de novas descobertas e descobertas atualizadas para um conjunto de dados do BigQuery através da função de exportação do Security Command Center para o BigQuery. As conclusões existentes não são enviadas para o BigQuery, a menos que sejam atualizadas.
O BigQuery é o armazém de dados de estatísticas rentável, com capacidade para petabytes de dados e totalmente gerido do Google Cloud que lhe permite executar estatísticas em enormes quantidades de dados quase em tempo real. Google CloudPode usar o BigQuery para executar consultas em conclusões novas e atualizadas, filtrar dados para encontrar o que precisa e gerar relatórios personalizados. Para saber mais acerca do BigQuery, consulte a documentação do BigQuery.
Vista geral
Quando ativa esta funcionalidade, as novas conclusões escritas no Security Command Center são exportadas para uma tabela do BigQuery quase em tempo real. Em seguida, pode integrar os dados nos fluxos de trabalho existentes e criar análises personalizadas. Pode ativar esta funcionalidade ao nível da organização, da pasta e do projeto para exportar as conclusões com base nos seus requisitos.
Esta funcionalidade é a forma recomendada de exportar as conclusões do Security Command Center para o BigQuery, porque é totalmente gerida e não requer a realização de operações manuais nem a escrita de código personalizado.
Estrutura do conjunto de dados
Esta funcionalidade adiciona cada nova descoberta e as respetivas atualizações subsequentes como novas linhas na tabela findings
, que está agrupada por source_id
, finding_id
e event_time
.
Quando um resultado é atualizado, esta funcionalidade cria vários registos de resultados com os mesmos valores source_id
e finding_id
, mas com valores event_time
diferentes. Esta estrutura do conjunto de dados permite-lhe ver como o estado de cada descoberta muda ao longo do tempo.
Tenha em atenção que podem existir entradas duplicadas no seu conjunto de dados. Para as analisar, pode usar a cláusula DISTINCT
, conforme mostrado na primeira consulta de exemplo.
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 conclusões da origem de Deteção de anomalias na nuvem têm o mesmo valor Exemplo: |
finding_id |
Identificador exclusivo que representa a descoberta. É exclusivo numa fonte para uma organização. É alfanumérico e tem um máximo de 32 carateres. |
event_time |
A hora em que o evento ocorreu ou a hora em que ocorreu uma atualização da
descoberta. Por exemplo, se a descoberta representar uma firewall aberta, Exemplo: |
bulk_export_id |
Para exportações em massa, este é um UUID. Para exportações contínuas, este campo está vazio. |
finding |
Um registo de dados de avaliação, como segurança, risco, saúde ou privacidade, que é carregado no Security Command Center para apresentação, notificação, análise, testes de políticas e aplicação. Por exemplo, uma vulnerabilidade de cross-site scripting (XSS) numa aplicação do App Engine é uma descoberta.
Para mais informações sobre os campos aninhados, consulte a referência da API
para o objeto
|
resource |
Informações relacionadas com o Google Cloud recurso que está associado a esta descoberta.
Para mais informações sobre os campos aninhados, consulte a referência da API
para o objeto
|
Custo
Incorre em custos do BigQuery relacionados com esta funcionalidade. Para mais informações, consulte os preços do BigQuery.
Antes de começar
Tem de concluir estes passos antes de ativar esta funcionalidade.
Configure as autorizações
Para concluir este guia, tem de ter as seguintes funções de gestão de identidade e de acesso (IAM):
Na organização, na pasta ou no projeto a partir do qual quer exportar as conclusões, faça um dos seguintes:
- Editor de exportações do BigQuery do Centro de Segurança
(
roles/securitycenter.bigQueryExportsEditor
). - Administrador do Centro de segurança
(
roles/securitycenter.admin
).
Para saber mais sobre as funções do Security Command Center, consulte o artigo Controlo de acesso.
- Editor de exportações do BigQuery do Centro de Segurança
(
No conjunto de dados do BigQuery, Proprietário dos dados do BigQuery (
roles/bigquery.dataOwner
).
Crie um conjunto de dados do BigQuery
Crie um conjunto de dados do BigQuery. Para mais informações, consulte o artigo Criar conjuntos de dados.
Planeie a residência dos dados
Se a residência de dados estiver ativada para o Security Command Center, as configurações que definem as exportações de streaming para o BigQuery (recursos BigQueryExport
) estão sujeitas ao controlo de residência de dados e são armazenadas numa localização do Security Command Center que selecionar.
Para exportar conclusões numa localização do Security Command Center para o BigQuery, tem de configurar a exportação do BigQuery na mesma localização do Security Command Center que as conclusões.
Uma vez que os filtros usados nas exportações do BigQuery podem conter dados sujeitos a controlos de residência, certifique-se de que especifica a localização correta antes de os criar. O Security Command Center não restringe a localização em que cria exportações.
As exportações do BigQuery são armazenadas apenas na localização em que são criadas e não podem ser vistas nem editadas noutras localizações.
Depois de criar uma exportação do BigQuery, não pode alterar a respetiva localização. Para alterar a localização, tem de eliminar o BigQuery Export e recriá-lo na nova localização.
Para saber como usar o Security Command Center quando a residência de dados está ativada, consulte os endpoints regionais do Security Command Center.
Exporte resultados do Security Command Center para o BigQuery
Para exportar resultados, ative primeiro a API Security Command Center.
Ativar a API Security Command Center
Para ativar a API Security Command Center:
Aceda à página da biblioteca de APIs na Google Cloud consola.
Selecione o projeto para o qual quer ativar a API Security Command Center.
Na caixa Pesquisar, introduza
Security Command Center
e, de seguida, clique em Security Command Center nos resultados da pesquisa.Na página da API apresentada, clique em Ativar.
A API Security Command Center está ativada para o seu projeto. Em seguida, usa a CLI gcloud para criar uma nova configuração de exportação para o BigQuery.
Conceder acesso ao perímetro no VPC Service Controls
Se usar os VPC Service Controls e o seu conjunto de dados do BigQuery fizer parte de um projeto dentro de um perímetro de serviço, tem de conceder acesso a projetos para exportar resultados.
Para conceder acesso a projetos, crie regras de entrada e saída para os principais e os projetos a partir dos quais está a exportar resultados. As regras permitem o acesso a recursos protegidos e permitem que o BigQuery verifique se os utilizadores têm a autorização setIamPolicy
no conjunto de dados do BigQuery.
Antes de configurar uma nova exportação para o BigQuery
Consola
-
Na Google Cloud consola, aceda à página VPC Service Controls.
- Selecione a sua organização ou projeto.
-
Na lista pendente, selecione a política de acesso que contém o perímetro de serviço ao qual quer conceder acesso.
Os perímetros de serviço associados à política de acesso aparecem na lista.
-
Clique no nome do perímetro de serviço que quer atualizar.
Para encontrar o perímetro de serviço que tem de modificar, pode verificar as entradas nos registos que mostram violações de
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
- Clique em Editar.
- Clique em Política de saída.
- Clique em Adicionar regra de saída.
-
Na secção De, defina os seguintes detalhes:
- Em Identidades > Identidade, selecione Selecionar identidades e grupos.
- Clique em Adicionar identidades.
-
Introduza o endereço de email do principal usado para chamar a API Security Command Center.
- Selecione o principal ou prima ENTER e, de seguida, clique em Adicionar identidades.
-
Na secção Para, defina os seguintes detalhes:
- Em Recursos > Projetos, selecione Todos os projetos.
- Para Funções de operações ou do IAM, selecione Selecionar operações.
-
Clique em Adicionar operações e, de seguida, adicione as seguintes operações:
- Adicione o serviço bigquery.googleapis.com.
- Clique em Todos os métodos.
- Clique em Adicionar todos os métodos.
- Adicione o serviço bigquery.googleapis.com.
- Clique em Política de entrada.
- Clique em Adicionar uma regra de entrada.
-
Na secção De, defina os seguintes detalhes:
- Em Identidades > Identidade, selecione Selecionar identidades e grupos.
- Clique em Adicionar identidades.
-
Introduza o endereço de email do principal usado para chamar a API Security Command Center.
- Selecione o principal ou prima ENTER e, de seguida, clique em Adicionar identidades.
- Em Fontes, selecione Todas as fontes.
-
Na secção Para, defina os seguintes detalhes:
- Em Recursos > Projetos, selecione Selecionar projetos.
- Clique em Adicionar projetos e, de seguida, adicione o projeto que contém o conjunto de dados do BigQuery.
- Para Funções de operações ou do IAM, selecione Selecionar operações.
-
Clique em Adicionar operações e, de seguida, adicione as seguintes operações:
- Adicione o serviço bigquery.googleapis.com.
- Clique em Todos os métodos.
- Clique em Adicionar todos os métodos.
- Adicione o serviço bigquery.googleapis.com.
- Clique em Guardar.
gcloud
-
Se ainda não tiver sido definido um projeto de quota, defina-o. Escolha um projeto que tenha a API Access Context Manager ativada.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Substitua
QUOTA_PROJECT_ID
pelo ID do projeto que quer usar para faturação e quota. -
Crie um ficheiro denominado
egress-rule.yaml
com o seguinte conteúdo:- egressFrom: identities: - PRINCIPAL_ADDRESS egressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Substitua
PRINCIPAL_ADDRESS
pelo endereço do principal usado para chamar a API Security Command Center. -
Crie um ficheiro denominado
ingress-rule.yaml
com o seguinte conteúdo:- ingressFrom: identities: - PRINCIPAL_ADDRESS sources: - accessLevel: '*' ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Substitua
PRINCIPAL_ADDRESS
pelo endereço do principal usado para chamar a API Security Command Center. -
Adicione a regra de saída ao perímetro:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-egress-policies=egress-rule.yaml
Substitua o seguinte:
-
PERIMETER_NAME
: o nome do perímetro. Por exemplo,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Para encontrar o perímetro de serviço que tem de modificar, pode verificar as entradas nos registos que mostram violações de
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
-
Adicione a regra de entrada ao perímetro:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Substitua o seguinte:
-
PERIMETER_NAME
: o nome do perímetro. Por exemplo,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Para encontrar o perímetro de serviço que tem de modificar, pode verificar as entradas nos registos que mostram violações de
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
Consulte as Regras de entrada e saída para mais informações.
Configure uma nova exportação para o BigQuery
Neste passo, cria uma configuração de exportação para exportar as descobertas para uma instância do BigQuery. Pode criar configurações de exportação ao nível do projeto, da pasta ou da organização. Por exemplo, se quiser exportar descobertas de um projeto para um conjunto de dados do BigQuery, cria uma configuração de exportação ao nível do projeto para exportar apenas as descobertas relacionadas com esse projeto. Opcionalmente, pode especificar filtros para exportar apenas determinadas conclusões.
Certifique-se de que cria as configurações de exportação no nível adequado. Por exemplo, se criar uma configuração de exportação no projeto B para exportar resultados do projeto A e definir filtros como resource.project_display_name: project-a-id
, a configuração não exporta resultados.
Pode criar um máximo de 500 configurações de exportação para o BigQuery para a sua organização. Pode usar o mesmo conjunto de dados para várias configurações de exportação. Se usar o mesmo conjunto de dados, todas as atualizações são feitas à mesma tabela de resultados.
Quando cria a sua primeira configuração de exportação, é criada automaticamente uma conta de serviço. Esta conta de serviço é necessária para criar ou atualizar a tabela de resultados num conjunto de dados e para exportar resultados para a tabela.
Tem o formato
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
e
tem a função de editor de dados do BigQuery (roles/bigquery.dataEditor
) concedida ao nível do conjunto de dados do BigQuery.
Na Google Cloud consola, alguns recursos do BigQueryExport
podem ter uma etiqueta Antigo
que indica que foram criados com a API Security Command Center v1. Pode gerir estes recursos BigQueryExport
com a consola Google Cloud ; a CLI gcloud; a API Security Command Center v1; ou as bibliotecas de cliente v1 para o Security Command Center.
Para gerir estes recursos BigQueryExport
com a CLI gcloud, não pode especificar uma localização quando executar o comando da CLI gcloud.
gcloud
Aceda à Google Cloud consola.
Selecione o projeto para o qual ativou a API Security Command Center.
Clique em Ativar Cloud Shell.
Para criar uma nova configuração de exportação, execute o seguinte comando:
gcloud scc bqexports create BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Substitua o seguinte:
BIGQUERY_EXPORT
com um nome para esta configuração de exportação.DATASET_NAME
com o nome do conjunto de dados do BigQuery, por exemplo,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
com o nome da sua pasta, organização ou projeto. Tem de definir uma destas opções. Para pastas e organizações, o nome é o ID da pasta ou o ID da organização. Para os projetos, o nome é o número do projeto ou o ID do projeto.LOCATION
: a localização do Security Command Center na qual criar uma configuração de exportação; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.DESCRIPTION
com uma descrição legível da configuração de exportação. Esta variável é opcional.FILTER
com uma expressão que define as conclusões a incluir na exportação. Por exemplo, se quiser filtrar pela categoria XSS_SCRIPTING, escreva"category=\"XSS_SCRIPTING\"
. Esta variável é opcional.
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform. Para mais informações, consulte a Terraform documentação de referência do fornecedor.
Crie uma configuração de exportação para uma organização:
Crie uma configuração de exportação para uma pasta:
Crie uma configuração de exportação para um projeto:
Java
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Python
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Deve ver as conclusões no seu conjunto de dados do BigQuery cerca de 15 minutos após criar a configuração de exportação. Depois de criar a tabela do BigQuery, todas as novas descobertas e descobertas atualizadas que correspondam ao seu filtro e âmbito aparecem na tabela quase em tempo real.
Para rever as suas conclusões, consulte o artigo Reveja as conclusões.
Crie uma regra de entrada para a nova exportação para o BigQuery
Se usar os VPC Service Controls e o seu conjunto de dados do BigQuery fizer parte de um projeto dentro de um perímetro de serviço, tem de criar uma regra de entrada para uma nova exportação para o BigQuery.
Consola
-
Reabra o perímetro de serviço a partir da secção anterior.
- Clique em Política de entrada.
- Clique em Adicionar uma regra de entrada.
-
Na secção De, defina os seguintes detalhes:
- Em Identidades > Identidade, selecione Selecionar identidades e grupos.
- Clique em Adicionar identidades.
-
Introduza o endereço de email do agente do serviço de configuração do BigQuery Export. A morada do agente de serviço tem o seguinte formato:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
Substitua
ORGANIZATION_ID
pelo ID da sua organização. - Selecione o agente de serviços ou prima ENTER e, de seguida, clique em Adicionar identidades.
- Em Fontes, selecione Todas as fontes.
-
Na secção Para, defina os seguintes detalhes:
- Em Recursos > Projetos, selecione Selecionar projetos.
- Clique em Adicionar projetos e, de seguida, adicione o projeto que contém o conjunto de dados do BigQuery.
- Para Funções de operações ou do IAM, selecione Selecionar operações.
-
Clique em Adicionar operações e, de seguida, adicione as seguintes operações:
- Adicione o serviço bigquery.googleapis.com.
- Clique em Todos os métodos.
- Clique em Adicionar todos os métodos.
- Adicione o serviço bigquery.googleapis.com.
- Clique em Guardar.
gcloud
-
Se ainda não tiver sido definido um projeto de quota, defina-o. Escolha um projeto que tenha a API Access Context Manager ativada.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Substitua
QUOTA_PROJECT_ID
pelo ID do projeto que quer usar para faturação e quota. -
Crie um ficheiro denominado
ingress-rule.yaml
com o seguinte conteúdo:- ingressFrom: identities: - serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com sources: - accessLevel: '*' ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Substitua
ORGANIZATION_ID
pelo ID da sua organização. -
Adicione a regra de entrada ao perímetro:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Substitua o seguinte:
-
PERIMETER_NAME
: o nome do perímetro. Por exemplo,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Para encontrar o perímetro de serviço que tem de modificar, pode verificar as entradas nos registos que mostram violações de
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
Consulte as Regras de entrada e saída para mais informações.
Os projetos, os utilizadores e as contas de serviço selecionados podem agora aceder aos recursos protegidos e exportar resultados.
Se seguiu todos os passos neste guia e as exportações estão a funcionar corretamente, já pode eliminar o seguinte:
- A regra de entrada para o principal
- A regra de saída para o principal
Essas regras só eram necessárias para configurar a configuração de exportação. No entanto, para que as configurações de exportação continuem a funcionar, tem de manter a regra de entrada criada anteriormente, que permite ao Security Command Center exportar resultados para o seu conjunto de dados do BigQuery atrás do perímetro de serviço.
Veja os detalhes de uma configuração de exportação
gcloud
Aceda à Google Cloud consola.
Selecione o projeto para o qual ativou a API Security Command Center.
Clique em Ativar Cloud Shell.
Para validar os detalhes da configuração de exportação, execute o seguinte comando:
gcloud scc bqexports get BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Substitua o seguinte:
BIGQUERY_EXPORT
com o nome desta configuração de exportação.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
com o nome da sua pasta, organização ou projeto. Tem de definir uma destas opções. Para pastas e organizações, o nome é o ID da pasta ou o ID da organização. Para os projetos, o nome é o número do projeto ou o ID do projeto.LOCATION
: a localização do Security Command Center na qual criar uma configuração de exportação; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.Por exemplo, para obter uma configuração de exportação denominada
my-bq-export
de uma organização com um ID de organização definido como123
, execute o seguinte comando:gcloud scc bqexports get my-bq-export \ --organization=123 \ --location=global
Atualize uma configuração de exportação
Quando necessário, pode modificar o filtro, o conjunto de dados e a descrição de uma configuração de exportação existente. Não pode alterar o nome da configuração de exportação.
gcloud
Aceda à Google Cloud consola.
Selecione o projeto para o qual ativou a API Security Command Center.
Clique em Ativar Cloud Shell.
Para atualizar uma configuração de exportação, execute o seguinte comando:
gcloud scc bqexports update BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Substitua o seguinte:
BIGQUERY_EXPORT
com o nome da configuração de exportação que quer atualizar.DATASET_NAME
com o nome do conjunto de dados do BigQuery, por exemplo,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
com o nome da sua pasta, organização ou projeto. Tem de definir uma destas opções. Para pastas e organizações, o nome é o ID da pasta ou o ID da organização. Para os projetos, o nome é o número do projeto ou o ID do projeto.LOCATION
: a localização do Security Command Center na qual atualizar a configuração de exportação; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.DESCRIPTION
com uma descrição legível da configuração de exportação. Esta variável é opcional.FILTER
com uma expressão que define as conclusões a incluir na exportação. Por exemplo, se quiser filtrar pela categoria XSS_SCRIPTING, escreva"category=\"XSS_SCRIPTING\"
. Esta variável é opcional.
Veja todas as configurações de exportação
Pode ver todas as configurações de exportação na sua organização, pasta ou projeto.
gcloud
Aceda à Google Cloud consola.
Selecione o projeto para o qual ativou a API Security Command Center.
Clique em Ativar Cloud Shell.
Para apresentar uma lista das configurações de exportação, execute o seguinte comando:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Substitua o seguinte:
FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
com o nome da sua pasta, organização ou projeto. Tem de definir uma destas opções. Para pastas e organizações, o nome é o ID da pasta ou o ID da organização. Para os projetos, o nome é o número do projeto ou o ID do projeto.Se especificar um ID da organização, a lista inclui todas as configurações de exportação definidas nessa organização, incluindo as dos níveis de pasta e projeto. Se especificar um ID de pasta, a lista inclui todas as configurações de exportação definidas ao nível da pasta e nos projetos nessa pasta. Se especificar um número ou um ID do projeto, a lista inclui apenas todas as configurações de exportação desse projeto.
LOCATION
: a localização do Security Command Center na qual listar as configurações de exportação; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.LIMIT
com o número de configurações de exportação que quer ver. Esta variável é opcional.PAGE_SIZE
com um valor de tamanho da página. Esta variável é opcional.
Java
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Python
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Elimine uma configuração de exportação
Se já não precisar de uma configuração de exportação, pode eliminá-la.
gcloud
Aceda à Google Cloud consola.
Selecione o projeto para o qual ativou a API Security Command Center.
Clique em Ativar Cloud Shell.
Para eliminar uma configuração de exportação, execute o seguinte comando:
gcloud scc bqexports delete BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Substitua o seguinte:
BIGQUERY_EXPORT
com um nome para a configuração de exportação que quer eliminar.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
com o nome da sua pasta, organização ou projeto. Tem de definir uma destas opções. Para pastas e organizações, o nome é o ID da pasta ou o ID da organização. Para os projetos, o nome é o número do projeto ou o ID do projeto.-
Por exemplo, para eliminar uma configuração de exportação denominada
my-bq-export
de uma organização com um ID da organização definido como123
, execute o seguinte comando:gcloud scc bqexports delete my-bq-export \ --organization=123 \ --location=global
Java
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Python
Para se autenticar no Security Command Center, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Depois de eliminar a configuração de exportação, pode remover os dados do Looker Studio. Para mais informações, consulte o artigo Remova, elimine e restaure uma origem de dados.
Reveja as conclusões no BigQuery
Depois de criar uma configuração de exportação, as novas conclusões são exportadas para o conjunto de dados do BigQuery no projeto que especificou.
Para rever as conclusões no BigQuery, faça o seguinte:
Aceda ao projeto no BigQuery.
Selecione um projeto.
No painel Explorador, expanda o nó do seu projeto.
Expanda o conjunto de dados.
Clique na tabela resultados.
No separador apresentado, clique em Pré-visualizar. É apresentado um conjunto de dados de exemplo.
Consultas úteis
Esta secção fornece consultas de exemplo para analisar dados de resultados. Nos exemplos seguintes, substitua
DATASET
pelo nome atribuído ao seu conjunto de dados e
PROJECT_ID
pelo nome do projeto do seu conjunto de dados.
Para resolver problemas de erros que encontrar, consulte o artigo Mensagens de erro.
O número de novos resultados criados e atualizados todos os dias
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
O registo de deteção mais recente para cada deteção
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
Resultados atuais que estão ativos, ordenados por tempo
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
Resultados atuais que estão num projeto
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
Substitua PROJECT
pelo nome do projeto.
Resultados atuais que estão numa pasta
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
Substitua FOLDER
pelo nome da pasta.
Resultados atuais do scanner Logging Scanner
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
Resultados ativos atuais do tipo Persistence: IAM Anomalous Grant
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
Correlacione as descobertas ativas de um determinado tipo com os registos de auditoria do Cloud
Esta consulta de exemplo ajuda a investigar resultados anómalos de concessão de IAM da Deteção de ameaças de eventos através dos registos de auditoria do Google Cloud, apresentando a sequência de ações de atividade de administrador durante o período que antecede e sucede a ação anómala de concessão de IAM. A consulta seguinte correlaciona os registos de atividade do administrador entre 1 hora antes e 1 hora depois da data/hora da descoberta.
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
O resultado é semelhante ao seguinte:

Crie gráficos no Looker Studio
O Looker Studio permite-lhe criar relatórios e painéis de controlo interativos.
Em geral, incorre em custos de utilização do BigQuery quando acede ao BigQuery através do Looker Studio. Para mais informações, consulte o artigo Visualizar dados do BigQuery com o Looker Studio.
Para criar um gráfico que visualize os dados de conclusões por gravidade e categoria, faça o seguinte:
- Abra o Looker Studio e inicie sessão.
- Se lhe for pedido, faculte informações adicionais e configure outras preferências. Leia os Termos de Utilização e, se estiver satisfeito, continue.
- Clique em Relatório em branco.
- No separador Associar a dados, clique no cartão BigQuery.
- Se lhe for pedido, autorize o Looker Studio a aceder aos projetos do BigQuery.
Associe aos dados de conclusões:
- Para Projeto, selecione esse projeto para o seu conjunto de dados. Em alternativa, no separador Os meus projetos, introduza o ID do projeto para o pesquisar.
- Em Conjunto de dados, clique no nome do conjunto de dados.
- Para Tabela, clique em resultados.
- Clique em Adicionar.
- Na caixa de diálogo, clique em Adicionar ao relatório.
Depois de adicionar o relatório, clique em Adicionar um gráfico.
Clique em Gráfico de colunas empilhadas e, de seguida, clique na área onde quer colocá-lo.
No painel Gráfico > Barra, no separador Dados, defina os seguintes campos:
- No campo Dimensão, selecione finding.severity.
- No campo Dimensão de discriminação, selecione finding.category.
O relatório é atualizado para mostrar várias colunas com conclusões divididas por gravidade e categoria.
O que se segue?
- Saiba como criar uma exportação em massa para o BigQuery.
- Saiba como executar uma consulta no BigQuery.