Nesta página, descrevemos como fazer streaming de descobertas novas e atualizadas para um conjunto de dados do BigQuery usando a função de exportação do Security Command Center para o BigQuery. As descobertas atuais não são enviadas ao BigQuery, a menos que sejam atualizadas.
O BigQuery é a solução totalmente gerenciada, em escala de petabytes econômico e econômico que permite executar análises em quantidades de dados quase em tempo real. É possível usar o BigQuery para executar consultas em descobertas novas e atualizadas, filtrar dados para encontrar o que você precisa e gerar relatórios personalizados. Para saber mais sobre o BigQuery, leia a documentação do BigQuery.
Visão geral
Quando você ativa esse recurso, as novas descobertas que são gravadas o Security Command Center é exportado para uma tabela do BigQuery quase tempo de resposta. Assim, é possível integrar os dados aos fluxos de trabalho atuais e criar análises. É possível ativar esse recurso na organização, na pasta e no projeto para exportar as descobertas com base nos seus requisitos.
Esse recurso é a forma recomendada de exportar as descobertas do Security Command Center para o BigQuery, porque ele é totalmente gerenciado e não requer a execução de operações manuais ou a escrita de um código personalizado.
Estrutura do conjunto de dados
Esse recurso adiciona cada nova descoberta e as atualizações subsequentes como novas linhas no
A tabela findings
, que é agrupada por source_id
,
finding_id
,
e
event_time
.
Quando uma descoberta é atualizada, esse recurso cria vários registros de descoberta com
os mesmos valores source_id
e finding_id
, mas com valores event_time
diferentes. Essa estrutura de conjunto de dados permite ver como o estado de cada descoberta muda
ao longo do tempo.
Pode haver entradas duplicadas no conjunto de dados. Para analisá-los,
usar a cláusula DISTINCT
, como mostrado no
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 ao fonte de uma descoberta. Por exemplo, todas as descobertas da fonte do Cloud Anomaly Detection o mesmo valor source_id. Exemplo: |
finding_id | Identificador exclusivo que representa a descoberta. Ele é único dentro de de uma organização. É alfanumérico e tem menos de ou 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 representa
firewall, o Exemplo: |
finding |
um registro dos dados de avaliação, como segurança, risco, saúde ou privacidade; que é ingerida pelo Security Command Center para apresentação, notificações, análises, testes de políticas e aplicação. Por exemplo: uma vulnerabilidade de scripting em vários locais (XSS) em um aplicativo do App Engine do aplicativo é uma descoberta.
Para mais informações sobre os campos aninhados, consulte a Referência da API
para o
|
recurso |
Informações relacionadas ao recurso do Google Cloud associado a essa descoberta.
Para mais informações sobre os campos aninhados, consulte a referência da API
do objeto
|
Custo
Você receberá cobranças do BigQuery relacionadas a esse recurso. Para mais informações, consulte Preços 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):
Na organização, na pasta ou no projeto para que você quer exportar as descobertas um dos seguintes:
- Editor do BigQuery Exports na Central de segurança
(
roles/securitycenter.bigQueryExportsEditor
) - Administrador da Central de segurança
(
roles/securitycenter.admin
).
Para saber mais sobre os papéis do Security Command Center, consulte Controle de acesso.
- Editor do BigQuery Exports na Central de segurança
(
No conjunto de dados do BigQuery, o proprietário de dados do BigQuery (
roles/bigquery.dataOwner
).
Criar um conjunto de dados do BigQuery
Crie um conjunto de dados do BigQuery. Para mais informações, consulte Como criar conjuntos de dados.
Planejar a residência de dados
Se a residência de dados estiver ativada para
Security Command Center, as configurações que definem exportações de streaming para
Os recursos do BigQuery (BigQueryExport
) estão sujeitos a
controle de residência de dados e são armazenados
Local do Security Command Center
que você selecionar.
Para exportar as descobertas em um local do Security Command Center para o BigQuery: você precisa configurar o BigQuery Export na mesma do Security Command Center como as descobertas.
Como os filtros usados nas exportações do BigQuery podem conter dados sujeitos aos controles de residência, especifique local antes de criá-los. O Security Command Center não restringe o local em que você cria exportações.
As exportações do BigQuery são armazenadas apenas no local são criados e não podem ser visualizados ou editados em outros locais.
Depois de criar uma exportação do BigQuery, não é possível mudar o local dela. Para mudar o local, exclua a exportação do BigQuery e recrie-a no novo local.
Para recuperar uma exportação do BigQuery usando chamadas de API, você precisa
especifique o local no nome completo do recurso de bigQueryExport
.
Exemplo:
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/bigQueryExports/my-export-01}
Da mesma forma, para recuperar uma exportação do BigQuery usando o
CLI gcloud, você precisa especificar o local na
nome do recurso da configuração ou usando a sinalização --locations
. Exemplo:
gcloud scc scc bqexports get myBigQueryExport organizations/123 \
--location=locations/us
Exportar descobertas do Security Command Center para o BigQuery
Para exportar descobertas, primeiro ative a API Security Command Center.
Como ativar a API Security Command Center
Para ativar a API Security Command Center, faça o seguinte:
Acesse a página "Biblioteca de APIs" no Console do Google Cloud.
Selecione o projeto em que você quer ativar a API Security Command Center.
Na caixa Pesquisa, digite
Security Command Center
e clique no Security Command Center nos resultados da pesquisa.Na página da API exibida, clique em Ativar.
A API Security Command Center está ativada no seu projeto. Em seguida, você usa CLI gcloud para criar uma nova configuração de exportação para no BigQuery.
Como conceder acesso de perímetro no VPC Service Controls
Se você usa o VPC Service Controls e suas O conjunto de dados do BigQuery faz parte de um projeto dentro de um perímetro de serviço, precisa conceder acesso a projetos para exportar descobertas.
Para conceder acesso a projetos, crie
regras de entrada e saída para
os principais e os projetos de que você está exportando as descobertas. As regras
permitem o acesso a recursos protegidos e permitem que o BigQuery verifique se
os usuários têm a permissão setIamPolicy
no conjunto de dados do
BigQuery.
Antes de configurar uma nova exportação para o BigQuery
Acesse a página VPC Service Controls no console do Cloud.
Se necessário, selecione a organização.
Clique no nome do perímetro de serviço que você quer alterar.
Para encontrar o perímetro de serviço que você precisa modificar, verifique nos registros as entradas que mostram violações
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Clique em Editar perímetro.
No menu de navegação, clique em Política de entrada.
Para configurar regras de entrada para usuários ou contas de serviço, use os seguintes parâmetros:
- Atributos FROM do cliente da API:
- No menu Identidades, escolha Identidades selecionadas.
- No menu Origem, selecione Todas as origens.
- Clique em Selecionar e insira o principal usado para chamar o a API Security Command Center.
- Atributos "Para" dos serviços/recursos do Google Cloud:
- No menu Project, escolha Selected projects.
- Clique em Selecionar e insira o projeto que contém conjunto de dados do BigQuery.
- No menu Serviços, escolha Serviços selecionados e e selecione API BigQuery.
- No menu Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
Clique em Salvar.
No menu de navegação, clique em Política de saída.
Clique em Add Rule.
Para configurar regras de saída para contas de usuário ou serviço, insira os seguintes parâmetros:
- Atributos FROM do cliente da API:
- No menu Identidades, escolha Identidades selecionadas.
- Clique em Selecionar e insira o principal usado para chamar o a API Security Command Center.
- Atributos "Para" dos serviços/recursos do Google Cloud:
- No menu Projeto, escolha Todos os projetos.
- No menu Serviços, escolha Serviços selecionados e selecione API BigQuery
- No menu Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
Clique em Salvar.
Configurar uma nova exportação para o BigQuery
Nesta etapa, você vai criar uma configuração de exportação para exportar as descobertas para uma instância do BigQuery. É possível criar configurações de exportação no projeto, pasta ou organização. Por exemplo, se você quiser exportar descobertas de um projeto para um conjunto de dados do BigQuery, exportar a configuração no nível do projeto para exportar apenas as descobertas relacionadas a esse projeto. Como opção, é possível especificar filtros para exportar determinadas descobertas .
Certifique-se de criar as configurações de exportação no nível apropriado. Por
exemplo, se você criar uma configuração de exportação no Projeto B para exportar descobertas
do Projeto A e definir filtros como
resource.project_display_name: project-a-id
, a configuração não exportará
nenhuma descoberta.
É possível criar no máximo 500 configurações de exportação para o BigQuery na organização. Você pode usar o mesmo conjunto de dados para várias configurações de exportação. Se você usar o mesmo conjunto de dados, todas as atualizações serão feitas no mesma tabela de descobertas.
Quando você cria a primeira configuração de exportação, uma conta de serviço é
criada automaticamente. Essa conta de serviço é necessária para criar ou
Atualizar a tabela de descobertas em um conjunto de dados e exportar as descobertas para a tabela.
Ela tem o formato
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
e
recebe o papel de editor de dados do BigQuery (roles/bigquery.dataEditor
) no
nível do conjunto de dados do BigQuery.
gcloud
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Para criar uma nova configuração de exportação, execute este comando:
gcloud scc bqexports create BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Substitua:
BIG_QUERY_EXPORT
por um nome para esta configuração de exportação.DATASET_NAME
pelo nome do conjunto de dados do BigQuery, por exemplo,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
pelo nome da pasta, organização ou projeto. Defina uma dessas opções. Para pastas e o nome é o ID da pasta ou da organização. Para projetos, o nome é o número ou o ID do projeto.LOCATION
: se a residência de dados estiver ativada, especifique o Local do Security Command Center para criar a exportação do BigQuery. A configuração de exportação do BigQuery é armazenada nesse local. Apenas as descobertas deste local estão incluídas na exportação.Se a residência de dados não estiver ativada, a especificação da flag
--location
vai criar a exportação do BigQuery usando a API Security Command Center v2, e o único valor válido para a flag églobal
.DESCRIPTION
com uma descrição legível da configuração de exportação. Essa variável é opcional.FILTER
por uma expressão que define quais descobertas serão incluir na exportação. Por exemplo, se você quiser filtrar a categoria XSS_SCRIPTING, digite"category=\"XSS_SCRIPTING\"
. Essa variável é opcional.
Java
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Python
Para autenticar no Security Command Center, configure o padrão do aplicativo Credenciais. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
,
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Você vai encontrar as descobertas no seu conjunto de dados do BigQuery cerca de 15 minutos depois de criar a configuração de exportação. Após o A tabela do BigQuery é criada, todas as descobertas novas e atualizadas correspondem ao filtro e ao escopo aparecem na tabela quase em tempo real.
Para conferi-las, consulte Conferir descobertas.
Crie uma regra de entrada para a nova exportação para o BigQuery
Se você usa o VPC Service Controls e o conjunto de dados do BigQuery faz parte de um projeto dentro de um perímetro de serviço, é necessário criar uma regra de entrada para uma nova exportação para o BigQuery.
Reabra o perímetro de serviço das Configure uma nova exportação para o BigQuery.
Clique em Política de entrada.
Clique em Add Rule.
Para configurar a regra de entrada para as configurações de exportação, insira os seguintes parâmetros:
- Atributos FROM do cliente da API:
- No menu suspenso Origem, selecione Todas as origens.
- No menu suspenso Identidades, escolha Identidades selecionadas.
- Clique em Selecionar e digite o nome do
conta de serviço de configuração de exportação:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- Atributos TO de serviços/recursos do GCP:
- No menu suspenso Projeto, escolha Projetos selecionados.
- Clique em Selecionar e escolha o projeto que contém o conjunto de dados do BigQuery.
- No menu suspenso Serviços, escolha Serviços selecionados e, em seguida, selecione API BigQuery.
- No menu suspenso Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
No menu de navegação, clique em Salvar.
Os projetos, usuários e contas de serviço selecionados agora podem acessar os recursos protegidos e exportar resultados.
Se você seguiu todas as etapas deste guia e as exportações estão funcionando corretamente, agora é possível excluir o seguinte:
- A regra de entrada do principal
- A regra de saída para a principal
Essas regras só eram necessárias para definir a configuração de exportação. No entanto, para exportar configurações para continuar funcionando, é preciso manter a regra de entrada que que você criou anteriormente, o que permite que o Security Command Center exporte as descobertas para seu Conjunto de dados do BigQuery atrás do perímetro de serviço.
Ver os detalhes de uma configuração de exportação
gcloud
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Para verificar os detalhes da configuração de exportação, execute o seguinte comando:
gcloud scc bqexports get BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Substitua:
BIG_QUERY_EXPORT
pelo nome desta configuração de exportação.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
pelo nome da pasta, organização ou projeto. Defina uma dessas opções. Para pastas e o nome é o ID da pasta ou da organização. Para projetos, o nome é o número ou o ID do projeto.LOCATION
: obrigatório se a residência de dados estiver ativada. ou o recursoBigQueryExport
foi criado usando a API v2.Se a residência de dados estiver ativada, especifique o local do Security Command Center em que a exportação será armazenada.
Se a residência de dados não estiver ativada, inclua
/locations/LOCATION
somente se o recursoBigQueryExport
tiver sido criado usando a API Security Command Center v2. Nesse caso, o único local válido églobal
.Por exemplo, para receber uma configuração de exportação chamada
my-bq-export
de uma organização com um ID da organização definido como123
, execute:gcloud scc bqexports get my-bq-export \ --organization=123
Java
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
,
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Python
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao nome do recurso
após /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
serviço do Security Command Center
que emitiu a descoberta.
Atualizar uma configuração de exportação
Quando necessário, é possível modificar o filtro, o conjunto de dados e a descrição de uma configuração de exportação existente. Não é possível alterar o nome da exportação configuração do Terraform.
gcloud
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Para atualizar uma configuração de exportação, execute este comando:
gcloud scc bqexports update BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Substitua:
BIG_QUERY_EXPORT
pelo nome da exportação de configuração que você quer atualizar.DATASET_NAME
pelo nome do conjunto de dados do BigQuery, por exemplo,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
pelo nome da pasta, organização ou projeto. Defina uma dessas opções. Para pastas e o nome é o ID da pasta ou da organização. Para projetos, o nome é o número ou ID do projeto.LOCATION
: obrigatório se a residência de dados estiver ativada ou se o recursoBigQueryExport
foi criado usando a API v2.Se a residência de dados estiver ativada, especifique Local do Security Command Center em que a exportação é armazenada.
Se a residência de dados não estiver ativada, inclua
/locations/LOCATION
no nome completo ou especifique a flag--location
somente se o recursoBigQueryExport
tiver sido criado usando a API Security Command Center v2. Nesse caso, o único local válido églobal
.DESCRIPTION
com uma descrição legível do configuração de exportação. Essa variável é opcional.FILTER
por uma expressão que define quais descobertas serão incluídas na exportação. Por exemplo, se você deseja filtrar os Categoria XSS_SCRIPTING, tipo"category=\"XSS_SCRIPTING\"
. Essa variável é opcional.
Java
Para autenticar no Security Command Center, configure o padrão do aplicativo Credenciais. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Python
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Ver todas as configurações de exportação
É possível consultar todas as configurações de exportação na sua organização, pasta ou projeto.
gcloud
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Para listar as configurações de exportação, execute este comando:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Substitua:
FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
pelo nome da pasta, organização ou projeto. Defina uma dessas opções. Para pastas e o nome é o ID da pasta ou da organização. Para projetos, o nome é o número ou o ID do projeto.Se você especificar um ID de organização, a lista incluirá todas as informações configurações definidas nessa organização, incluindo as da pasta e os níveis do projeto. Se você especificar um ID de pasta, a lista incluirá todos configurações de exportação definidas no nível de pasta e nos projetos dentro da pasta. Se você especificar um número ou ID de projeto, o inclui todas as configurações de exportação somente para esse projeto.
LOCATION
: obrigatório se a residência de dados estiver ativada ou se os recursosBigQueryExport
foram criados usando a API v2.Se a residência de dados estiver ativada, especifique o local do Security Command Center em que as exportações são armazenadas.
Se a residência de dados não estiver ativada, a inclusão da flag
--location
vai listar apenas os recursosBigQueryExport
que foram criados usando a API Security Command Center v2, e o único local válido seráglobal
.LIMIT
pelo número de configurações de exportação que você querem ver. Essa variável é opcional.PAGE_SIZE
com um valor do tamanho da página. Essa variável é opcional.
Java
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
exemplo da v2, substitua v1
por v2
e adicione
/locations/LOCATION
, que é o nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Python
Para autenticar no Security Command Center, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir usa a API v1. Para modificar
exemplo da v2, substitua v1
por v2
e adicione
/locations/LOCATION
, que é o nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Excluir uma configuração de exportação
Se você não precisar mais de uma configuração de exportação, será possível excluí-la.
gcloud
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Para excluir uma configuração de exportação, execute este comando:
gcloud scc bqexports delete BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Substitua:
BIG_QUERY_EXPORT
por um nome para a exportação a configuração que você quer excluir.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
pelo nome da pasta, organização ou projeto. Defina uma dessas opções. Para pastas e organizações, o nome é o ID da pasta ou da organização. Para projetos, o nome é o número ou ID do projeto.LOCATION
: obrigatório se a residência de dados estiver ativada. ou o recursoBigQueryExport
foi criado usando a API v2.Se a residência de dados estiver ativada, especifique Local do Security Command Center em que a exportação é armazenada.
Se a residência de dados não estiver ativada, inclua
/locations/LOCATION
somente se oBigQueryExport
recurso foi criado com a API Security Command Center v2, caso, o único local válido églobal
.Por exemplo, para excluir uma configuração de exportação chamada
my-bq-export
de uma organização com um ID da organização definido como123
, execute:gcloud scc bqexports delete my-bq-export \ --organization=123
Java
Para autenticar no Security Command Center, configure o padrão do aplicativo Credenciais. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local
O exemplo a seguir usa a API v1. Para modificar
exemplo da v2, substitua v1
por v2
e adicione
/locations/LOCATION
, que é o nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao nome do recurso
após /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
serviço do Security Command Center
que emitiu a descoberta.
Python
Para autenticar no Security Command Center, configure o padrão do aplicativo Credenciais. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local
O exemplo a seguir usa a API v1. Para modificar
o exemplo para a v2, substitua v1
por v2
e adicione
/locations/LOCATION
ao nome do recurso.
Para a maioria dos recursos, adicione /locations/LOCATION
ao
nome do recurso depois de /PARENT/PARENT_ID
, em que
PARENT
é organizations
, folders
,
ou projects
.
Para descobertas, adicione /locations/LOCATION
ao recurso
depois de /sources/SOURCE_ID
, em que SOURCE_ID
é o ID do
Serviço do Security Command Center
que emitiu a descoberta.
Depois de excluir a configuração de exportação, você pode remover os dados do Looker Studio. Para ver mais informações, consulte Remover, excluir e restaurar uma fonte de dados.
Analisar descobertas no BigQuery
Depois que você cria uma configuração de exportação, as novas descobertas são exportadas para o conjunto de dados do BigQuery no projeto especificado.
Para analisar as descobertas no BigQuery, faça o seguinte:
Acesse o projeto no BigQuery.
Se não estiver no projeto correto, siga estas etapas:
- Na barra de ferramentas, clique no seletor de projetos .
- Ao lado de Selecionar de, escolha a organização.
- Selecione um projeto na lista.
No painel Explorer, expanda o nó do projeto.
Expanda seu conjunto de dados.
Clique na tabela findings.
Na guia aberta, clique em Visualizar. Um conjunto de dados de amostra é exibido.
Consultas úteis
Nesta seção, você vai ver exemplos de consultas
para analisar os dados das descobertas. Nos exemplos a seguir, substitua
DATASET
pelo nome atribuído ao conjunto de dados; e
PROJECT_ID
pelo nome do projeto para o conjunto de dados.
Para resolver os erros encontrados, consulte Mensagens de erro.
O número de novas descobertas criadas e atualizadas diariamente
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 registro mais recente de cada descoberta
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
Descobertas atuais que estão ativas, ordenadas 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
Descobertas atuais em um 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.
Descobertas atuais em uma 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.
Descobertas 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"
Descobertas ativas 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"
Correlacionar descobertas ativas de um determinado tipo com os Registros de auditoria do Cloud
Este exemplo de consulta ajuda a investigar descobertas anômalas de concessão do IAM na detecção de ameaças a eventos usando os Registros de auditoria do Cloud, mostrando a sequência do Ações da atividade do administrador durante o intervalo de tempo anterior e posterior à anômala de concessão do IAM. A consulta a seguir correlaciona o administrador Registros de atividades entre uma hora antes e uma hora após o carimbo de 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 será assim:
Criar gráficos no Looker Studio
O Looker Studio permite criar relatórios e painéis interativos.
Em geral, são cobrados os custos de uso do BigQuery ao acessar o BigQuery pelo Looker Studio. Saiba mais em Como visualizar dados do BigQuery com o Looker Studio.
Para criar um gráfico que visualize os dados das descobertas por gravidade e categoria, faça o seguintes:
- Abra o Looker Studio e faça login.
- Se solicitado, forneça informações adicionais e configure outras preferências. Leia os Termos de Serviço e, se você concordar, prossiga.
- Clique em Relatório em branco.
- Na guia Conectar aos dados, clique no cartão do BigQuery.
- Se necessário, autorize o Looker Studio a acessar projetos do BigQuery.
Conecte-se aos dados de descoberta:
- Em Projeto, selecione o projeto para o conjunto de dados. Ou, na Na guia Meus projetos, digite o ID do projeto para procurá-lo.
- Em Conjunto de dados, clique no nome do conjunto de dados.
- Em Tabela, clique em findings.
- Clique em Add.
- Na caixa de diálogo, clique em Adicionar ao relatório.
Após adicionar o relatório, clique em Adicionar um gráfico.
Clique em Gráfico de colunas empilhadas e na área em que você quer posicioná-lo.
No painel Gráfico > Barra, na guia Dados, defina os seguintes campos:
- No campo Dimensão, selecione finding.severity.
- No campo Dimensão de detalhamento, selecione finding.category.
O relatório é atualizado para mostrar várias colunas com descobertas divididas por gravidade e categoria.
A seguir
Saiba como Execute uma consulta no BigQuery.