Integrar o BigQuery ao Google SecOps
Neste documento, explicamos como integrar o BigQuery ao Google Security Operations.
Casos de uso
A integração do BigQuery usa os recursos do Google SecOps para oferecer suporte aos seguintes casos de uso:
Enriquecimento de inteligência contra ameaças: enriqueça automaticamente os alertas de segurança com dados de inteligência contra ameaças armazenados no BigQuery para avaliar a gravidade e a credibilidade de possíveis ameaças.
Análise do comportamento do usuário: identifique atividades anômalas do usuário analisando registros históricos armazenados no BigQuery para detectar ameaças internas e contas comprometidas.
Análise de data lake de segurança: use os recursos de consulta do BigQuery para analisar grandes volumes de dados de segurança agregados de várias fontes para melhorar a busca de ameaças.
Análise avançada de ML/IA: crie modelos personalizados para defesa preditiva e pontuação de riscos automatizada usando dados históricos de segurança e o BigQuery ML.
Retenção de dados de longo prazo: arquive dados de incidentes resolvidos no BigQuery para armazenamento de longo prazo econômico, oferecendo suporte a auditorias de conformidade e forenses.
Antes de começar
Antes de configurar a integração do BigQuery no Google SecOps, conclua as seguintes etapas de pré-requisito:
Conceda os papéis necessários do Identity and Access Management à sua conta de serviço.
Escolha e configure um dos seguintes métodos de autenticação:
Opção 1: Identidade da carga de trabalho (recomendado): esse método usa tokens de acesso temporários e de curta duração usando a identidade temporária de conta de serviço.
Opção 2: chave JSON da conta de serviço: esse método depende de um arquivo de chave secreta estático e de longa duração.
Conceder papéis do IAM
Conceder as permissões necessárias à sua conta de serviço permite que a integração execute jobs e acesse seus dados. Os papéis padrão a seguir são gerenciados pelo Google Cloud e são atualizados automaticamente se os requisitos da API mudarem. Para atribuir esses papéis à conta de serviço, siga estas etapas:
No console do Google Cloud , acesse IAM.
Localize sua conta de serviço na lista de principais e clique em Editar principal (editar).
Clique em Adicionar outro papel e selecione o seguinte:
Usuário do BigQuery (
roles/bigquery.user): permite que a integração execute jobs, incluindo consultas, no projeto.Visualizador de dados do BigQuery (
roles/bigquery.dataViewer): permite que a integração leia dados e metadados de conjuntos de dados e tabelas.Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer): é obrigatório se você configurarQuota Project IDnas configurações de integração.
Clique em Salvar.
Criar uma conta de serviço
No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
Clique em addCriar conta de serviço.
Insira um nome e uma descrição e clique em Criar e continuar.
Na etapa Conceder acesso a essa conta de serviço ao projeto, adicione os papéis identificados na etapa anterior.
Clique em Concluído. Anote o endereço de e-mail da conta de serviço.
Configurar credenciais da Identidade da carga de trabalho
A Identidade da carga de trabalho é a abordagem recomendada, porque usa tokens de acesso de curta duração com a identidade temporária de conta de serviço.
Identificar a identidade exclusiva da instância
Para estabelecer uma conexão, é necessário conceder à instância do Google SecOps permissão para personificar sua conta de serviço.
No Google SecOps, acesse Hub de conteúdo > Integrações de resposta.
Selecione a integração do BigQuery e insira o e-mail da conta de serviço no campo
Workload Identity Email.Clique em Salvar > Testar. O teste deve falhar.
Clique no botão close_small ao lado de Teste e localize o e-mail de identidade que começa com
gke-init-python@...ousoar-python@....Copie esse endereço de e-mail exclusivo.
Autorize a identidade da instância em Google Cloud
No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
Selecione a conta de serviço de destino e acesse Permissões > Conceder acesso.
Cole o endereço de e-mail exclusivo no campo Novos principais e atribua o papel Criador de token da conta de serviço (
roles/iam.serviceAccountTokenCreator).
Configurar uma chave JSON
Os arquivos de chave secreta estáticos e de longa duração exigem rotação manual. Use esse método somente se a autenticação da Identidade da carga de trabalho não estiver disponível.
No console do Google Cloud , acesse IAM e administrador > Contas de serviço e selecione sua conta de serviço.
Acesse a guia Chaves e clique em Adicionar chave > Criar nova chave.
Selecione JSON e clique em Criar. O download do arquivo é feito automaticamente no seu computador.
Configurar parâmetros individuais manuais
Se você optar por inserir as credenciais manualmente, mantenha o arquivo de chave JSON salvo aberto em um editor de texto para copiar os valores individuais necessários nas configurações de integração.
Parâmetros de integração
Para estabelecer uma conexão entre o Google SecOps e o BigQuery, configure os parâmetros a seguir. A integração é compatível com três caminhos de autenticação distintos. Escolha um dos métodos a seguir para fornecer credenciais.
Identidade da carga de trabalho: usa
Workload Identity EmaileQuota Project ID.Arquivo JSON da conta de serviço: usa
Service Account Json File Contentpara fornecer a chave inteira de uma só vez.Parâmetros individuais manuais: usa campos separados copiados manualmente de uma chave JSON.
| Parâmetro | Descrição |
|---|---|
API Root |
Opcional. A raiz da API da instância do BigQuery (por exemplo,
|
Workload Identity Email |
Opcional. O endereço de e-mail do cliente da sua conta de serviço. Use isso para autenticação da Identidade da carga de trabalho. |
Service Account Json File Content |
Opcional. O conteúdo completo do arquivo JSON da chave da conta de serviço. Se você configurar esse parâmetro, a integração vai ignorar os parâmetros de credenciais individuais. |
Quota Project ID |
Opcional. O ID do projeto usado para uso e faturamento da API. Esse parâmetro é obrigatório ao usar a autenticação da Identidade da carga de trabalho. |
Project ID |
Opcional. O ID do projeto de destino no BigQuery. |
Verify SSL |
Obrigatório. Valida o certificado SSL da conexão. Ativado por padrão. |
Parâmetros de credenciais individuais
Use os parâmetros a seguir apenas se estiver inserindo credenciais manualmente, em vez de usar o conteúdo completo do arquivo JSON ou uma Identidade da carga de trabalho.
| Parâmetro | Descrição |
|---|---|
Account Type |
Opcional. O valor encontrado no campo |
Private Key ID |
Opcional. O valor encontrado no campo |
Private Key |
Opcional. O valor encontrado no campo |
Client Email |
Opcional. O valor encontrado no campo |
Client ID |
Opcional. O valor encontrado no campo |
Auth URI |
Opcional. O valor encontrado no campo O valor padrão é |
Token URI |
Opcional. O valor encontrado no campo O valor padrão é |
Auth Provider X509 URL |
Opcional. O valor encontrado no campo |
Client X509 URL |
Opcional. O valor encontrado no campo |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.
Ping
Use a ação Ping para testar a conectividade com o BigQuery.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
Nenhuma.
Saídas da ação
A ação Ping fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
A ação Ping pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully connected to the Google BigQuery server with
the provided connection parameters! |
Ação concluída. |
Failed to connect to the Google BigQuery server! Error is
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Ping:
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Executar consulta personalizada
Use a ação Executar consulta personalizada para executar consultas personalizadas no BigQuery.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Executar consulta personalizada requer os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Query |
Obrigatório. A consulta SQL a ser executada. |
Max Results To Return |
Opcional. O número de resultados a serem retornados para cada resposta. O valor padrão é |
Saídas da ação
A ação Executar consulta personalizada fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Executar consulta personalizada:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Mensagens de saída
A ação Executar consulta personalizada pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully executed query in Google BigQuery! |
Ação concluída. |
Error executing action "Run Custom Query". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Executar consulta personalizada:
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Executar consulta SQL
Use a ação Executar consulta SQL para executar consultas no BigQuery.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Executar consulta SQL requer os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Dataset Name |
Obrigatório. O nome do conjunto de dados a ser usado ao executar consultas. |
Query |
Obrigatório. A consulta SQL a ser executada. |
Max Results To Return |
Opcional. O número de resultados a serem retornados para cada resposta. O valor padrão é |
Saídas da ação
A ação Executar consulta SQL fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir descreve a saída do resultado JSON recebida ao usar a ação Executar consulta SQL:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Mensagens de saída
A ação Executar consulta SQL pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully executed query in the BigQuery dataset
DATASET_NAME. |
Ação concluída. |
Error executing action "Run SQL Query". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Executar consulta SQL:
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.