Google Cloud Storage

Este documento fornece orientações sobre como integrar o Cloud Storage ao módulo SOAR do Google Security Operations.

Essa integração usa um ou mais componentes de código aberto. Faça o download de uma cópia do código-fonte dessa integração em um bucket do Cloud Storage.

Casos de uso

Na plataforma SOAR do Google SecOps, a integração do Google Cloud Storage resolve os seguintes casos de uso:

  • Armazenamento de evidências de incidentes: os playbooks podem coletar e armazenar automaticamente evidências relacionadas a incidentes, como registros e amostras de malware, em buckets do Cloud Storage para fornecer um repositório à prova de violação para preservação de evidências.

  • Compartilhamento de inteligência contra ameaças:sua equipe de segurança pode usar o Cloud Storage para compartilhar feeds de inteligência contra ameaças com segurança, como listas de endereços IP e domínios maliciosos, com outras equipes ou organizações. O compartilhamento de feeds permite a defesa colaborativa contra ameaças e tempos de resposta mais rápidos.

  • Integração do sandbox de análise de malware: os playbooks podem enviar automaticamente arquivos suspeitos de um incidente para um sandbox de análise de malware baseado na nuvem. É possível armazenar os resultados da análise no Cloud Storage para revisão e outras ações para fornecer uma análise de malware eficiente e escalonável.

  • Backup da configuração de segurança: use os recursos de SOAR do Google SecOps para automatizar backups regulares de configurações de segurança críticas, como regras de firewall e assinaturas do sistema de detecção de intrusões, no Cloud Storage. A automação de backups oferece continuidade dos negócios e recuperação mais rápida em caso de mudanças acidentais ou maliciosas.

  • Armazenamento de artefatos de campanhas de phishing: use os recursos de SOAR do Google SecOps para armazenar e-mails de phishing, anexos e outros artefatos no Cloud Storage durante a investigação de uma campanha de phishing. O armazenamento de artefatos permite a análise centralizada e a preservação de evidências para possíveis ações judiciais.

Antes de começar

Antes de configurar a integração do Cloud Storage no Google SecOps, siga estas etapas de pré-requisito:

  1. Crie uma conta de serviço.

  2. Conceda os papéis necessários à sua conta de serviço.

  3. Escolha e configure um método de autenticação.

Criar uma conta de serviço

Para criar uma conta de serviço, conclua estas etapas:

  1. No Google Cloud console, acesse Credenciais. Acessar "Credenciais"

  2. No menu Criar credenciais, selecione Conta de serviço.

  3. Insira um nome no campo Nome da conta de serviço e clique em Criar e continuar. y

  4. Ignore as telas opcionais de atribuição de função e acesso principal clicando em Continuar > Concluído.

Conceder papéis à conta de serviço

Para permitir que a integração acesse e gerencie seus buckets e objetos de armazenamento, conceda os papéis necessários à sua conta de serviço:

  1. No console do Google Cloud , acesse IAM e administrador > IAM.

  2. Localize sua conta de serviço e clique em editEditar principal.

  3. Clique em Adicionar outro papel e selecione o seguinte:

    • Administrador do Storage: oferece controle total de buckets e objetos.

    • Consumidor do Service Usage: obrigatório apenas se você usar um Quota Project ID para fins de faturamento.

  4. Clique em Salvar.

Escolher e configurar um método de autenticação

A Identidade da carga de trabalho é o método de autenticação recomendado porque usa tokens de curta duração em vez de secrets estáticos.

  1. Chave JSON: depende de um arquivo de chave secreta estática.

  2. Identidade da carga de trabalho (recomendado): usa tokens de acesso temporários.

Configurar uma chave JSON

Use o procedimento a seguir para gerar um arquivo de chave de conta de serviço no formato JSON:

  1. Selecione sua conta de serviço no console Google Cloud e acesse Chaves.

  2. Clique em Adicionar chave > Criar nova chave.

  3. Selecione JSON e clique em Criar. O arquivo da chave é baixado para o computador.

Configurar credenciais da Identidade da carga de trabalho

Com a Identidade da carga de trabalho, o Google SecOps pode representar sua conta de serviço com segurança. Conclua as etapas a seguir para configurar a Identidade da carga de trabalho.

Configurar a instância de integração

Para acionar o processo de descoberta de identidade, primeiro configure os parâmetros básicos de conexão no Google SecOps:

  1. Acesse Hub de conteúdo > Integrações de resposta.

  2. Pesquise e selecione a integração do Google Cloud Storage.

  3. Configure os seguintes parâmetros obrigatórios:

    • Raiz da API: insira o URL base (como https://storage.googleapis.com).

    • E-mail da Identidade da carga de trabalho: insira o endereço de e-mail da conta de serviço que você criou anteriormente.

    • Verificar SSL: confira se essa opção está ativada.

  4. Deixe o campo Conta de serviço do usuário (JSON) em branco.

  5. Clique em Salvar.

Identificar o e-mail de identidade exclusivo

Para identificar o endereço de identidade específico, é necessário acionar um teste de conexão, porque o Google SecOps usa um principal interno específico para se comunicar com seus recursos do Google Cloud . Essa etapa garante que você está concedendo permissões ao principal de back-end correto.

  1. Clique em Testar. O teste deve falhar.

  2. Clique no botão close_small ao lado de Testar.

  3. Procure na mensagem de erro um endereço de e-mail que comece com gke-init-python@... ou soar-python@.... Copie esse e-mail exclusivo.

Conceder permissões de representação

Para estabelecer uma relação de confiança, é necessário conceder autoridade à identidade exclusiva para agir em nome da sua conta de serviço. Esta etapa final estabelece a ponte segura que permite que a integração acesse seus recursos usando tokens temporários de curta duração.

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço.

  2. Selecione a conta de serviço de destino e acesse Permissões.

  3. Clique em Conceder acesso.

  4. No campo Novos participantes, cole o e-mail de identidade exclusiva que você copiou do Google SecOps.

  5. No campo Atribuir papéis, selecione o papel Service Account Token Creator (roles/iam.serviceAccountTokenCreator).

  6. Clique em Salvar.

Integrar o Cloud Storage ao Google SecOps

A integração requer os seguintes parâmetros:

Parâmetros Descrição
Service Account Opcional

Todo o conteúdo do arquivo de chave JSON da conta de serviço.

Workload Identity Email Opcional.

O endereço de e-mail do cliente da conta de serviço usada para a personificação da Identidade da carga de trabalho.

Project ID Opcional

O ID do projeto a ser usado para a integração do Cloud Storage. Se você não definir um valor para esse parâmetro, o ID do projeto será extraído do conteúdo do arquivo JSON fornecido no parâmetro Service Account.

Quota Project ID Opcional

O ID do projeto Google Cloud que você usa para APIs Google Cloud e faturamento. Para usar esse parâmetro, conceda o papel Service Usage Consumer à sua conta de serviço.

Se nenhum valor for fornecido, o ID do projeto será extraído do conteúdo do arquivo JSON fornecido no parâmetro Service Account.

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

É possível fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.

Fazer o download de um objeto de um bucket

Use essa ação para fazer o download de um objeto (arquivo) específico de um bucket do Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

A ação "Fazer o download de um objeto de um bucket" exige os seguintes parâmetros:

Parâmetros Descrição
Bucket Name Obrigatório

O nome do bucket do Cloud Storage que contém o objeto a ser baixado.

Object Name Obrigatório

O nome completo do objeto a ser baixado.

Se o objeto estiver em uma pasta no bucket, inclua o caminho da pasta, como folderA/mydocument.pdf.

Download Path Obrigatório

O caminho absoluto para o objeto baixado que leva a um diretório existente, por exemplo, /tmp/downloads/.

Saídas de ação

A ação "Fazer o download de um objeto de um bucket" 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 descreve a saída do resultado JSON recebida ao usar a ação "Fazer o download de um objeto de um bucket":

{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Mensagens de saída

Em um painel de casos, a ação "Baixar um objeto de um bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

OBJECT_NAME successfully downloaded to DESTINATION_PATH.

Action wasn't able to download OBJECT_NAME. Reason: Bucket BUCKET_NAME not found.

Action wasn't able to download OBJECT_NAME. Reason: No such object.

A ação foi concluída.
Error executing action "Download an Object From a Bucket". 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 descreve os valores da saída do resultado do script ao usar a ação "Fazer o download de um objeto de um bucket":

Nome do resultado do script Valor
is_success True ou False

Acessar a lista de controle de acesso de um bucket

Use a ação "Receber a lista de controle de acesso de um bucket" para recuperar e mostrar as ACLs dos buckets especificados do Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

A ação "Receber uma lista de controle de acesso de um bucket" exige os seguintes parâmetros:

Parâmetros Descrição
Bucket Name Obrigatório

O nome do bucket do Cloud Storage para o qual você quer recuperar a ACL. Para recuperar ACLs de vários buckets, insira os nomes deles como uma string separada por vírgulas, como bucket1,bucket2,bucket3.

Saídas de ação

A ação "Receber a lista de controle de acesso de um bucket" 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
[
  {"BucketName": "ziv",
   "BucketACLs": [
                  {"Entity": "project-owners-ID",
                   "Role": "OWNER"}
                 ]
  }
]
Mensagens de saída

Em um mural de casos, a ação "Receber a lista de controle de acesso de um bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully retrieved the access control list (ACL) for the Cloud Storage buckets BUCKET_NAMES

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES. Reason: Cannot get legacy ACL for a bucket that has uniform bucket-level access. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES.

A ação foi concluída.
Error executing action "Get a Bucket's Access Control List". 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 descreve os valores da saída do resultado do script ao usar a ação "Receber a lista de controle de acesso de um bucket":

Nome do resultado do script Valor
is_success True ou False

Listar objetos do bucket

Use a ação "Listar objetos do bucket" para listar os objetos armazenados no bucket do Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

A ação "List Bucket Objects" exige os seguintes parâmetros:

Parâmetros Descrição
Bucket Name Obrigatório

O nome do bucket de onde os objetos serão recuperados.

Max Objects to Return Opcional

O número de objetos a serem retornados.

Por padrão, a ação retorna 50 objetos para cada execução.

Retrieves the Access Control List of an object Opcional

Se selecionada, a ação vai recuperar a ACL do objeto.

Não selecionada por padrão.

Saídas de ação

A ação "List Bucket Objects" 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

Os exemplos a seguir descrevem as saídas de resultados JSON recebidas ao usar a ação "List Bucket Objects":

  • Se o parâmetro Retrieves the Access Control List of an object não for selecionado:

    {
        "Objects": [
            {
                "ObjectName": "test.txt",
            "Bucket":
            "ContentType":
                "TimeCreated": " ",
                "TimeUpdated": " ",
                "Size": 18,
                "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==",
                "Owner": "",
                "CR32c": "RQEqxA==",
                "id": "siemplify-tip/test.txt/1604926667310271"
            }
        ]
    }
    
  • Se o parâmetro Retrieves the Access Control List of an object estiver selecionado:

    {
        "Objects": [
            {
                "ObjectName": "test.txt",
            "Bucket": "BUCKET_NAME",
            "ContentType": "text/plain"
                "TimeCreated": " ",
                "TimeUpdated": " ",
                "Size": 18,
                "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==",
                "Owner": "",
                "CR32c": "RQEqxA==",
                "id": "BUCKET_NAME/test.txt/1604926667310271",
                "ObjectACL": [
                    {
                        "entity": "user@example.com",
                        "role": "OWNER"
                    }]
            },
        ]
    }
    
Mensagens de saída

Em um mural de casos, a ação "Listar objetos do bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully returned objects of the BUCKET_NAME bucket in Google Cloud Storage.

Action wasn't able to return objects of the BUCKET_NAME bucket in Google Cloud Storage.

A ação foi concluída.
Error executing action "List Bucket Objects". 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 descreve os valores da saída do resultado do script ao usar a ação "List Bucket Objects":

Nome do resultado do script Valor
is_success True ou False

Listar buckets

Use a ação "List Buckets" para recuperar uma lista de buckets do Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

A ação "List Buckets" exige os seguintes parâmetros:

Parâmetros Descrição
Max Results Opcional

O número máximo de buckets a serem retornados.

Por padrão, a ação retorna 50 intervalos.

Saídas de ação

A ação "List Buckets" 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 descreve a saída de resultado JSON recebida ao usar a ação "List Buckets":

{
    "Buckets": [
        {
            "CreationDate": "2020-11-09T12:57:03.981Z",
            "ModificationDate": "2020-11-09T12:57:03.981Z",
            "Name": "testexample",
            "Owner": "testexample"
        }]
}
Mensagens de saída

Em um quadro de casos, a ação "List Buckets" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully listed available buckets in Google Cloud Storage.

Action wasn't able to list available buckets in Google Cloud Storage.

A ação foi concluída.
Error executing action "List Buckets". 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 descreve os valores da saída do resultado do script ao usar a ação "List Buckets":

Nome do resultado do script Valor
is_success True ou False

Ping

Use a ação "Ping" para testar a conectividade com o Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

Nenhuma.

Saídas de ação

A ação 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

Em um quadro de casos, a ação de ping fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully connected to the Google Cloud Storage server with the provided connection parameters! A ação foi concluída.
Failed to connect to the Google Cloud Storage 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 descreve os valores da saída do resultado do script ao usar a ação "Ping":

Nome do resultado do script Valor
is_success True ou False

Remover o acesso público do bucket

Use a ação "Remover acesso público do bucket" para remover o acesso público do bucket do Cloud Storage.

Para isso, conceda o papel Storage Admin à conta de serviço usada na integração.

Essa ação não é executada em entidades.

Entradas de ação

A ação "Remover acesso público do bucket" exige os seguintes parâmetros:

Parâmetros Descrição
Resource Name Obrigatório

O nome do recurso do bucket.

Prevent Public Access From Bucket Obrigatório

Se selecionada, a ação configura o bucket para impedir possível acesso público.

Saídas de ação

A ação "Remover acesso público do bucket" 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

Em um Painel de Casos, a ação "Remover acesso público do bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully removed public access from bucket using Google Cloud Storage: RESOURCE_NAME A ação foi concluída.
Error executing action "Remove Public Access From Bucket". 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 descreve os valores da saída do resultado do script ao usar a ação "Remover acesso público do bucket":

Nome do resultado do script Valor
is_success True ou False

Atualizar uma entrada de ACL no bucket

Use a ação "Atualizar uma entrada de ACL no bucket" para atualizar uma entrada de ACL no bucket especificado do Cloud Storage.

Entradas de ação

A ação "Atualizar uma entrada de ACL no bucket" exige os seguintes parâmetros:

Parâmetros Descrição
Bucket Name Obrigatório

O nome do bucket para modificar a ACL.

Entity Obrigatório

A entidade que tem a permissão.

Os valores possíveis são:

  • user-userId
  • user-emailAddress
  • group-groupId
  • group-emailAddress
  • allUsers
  • allAuthenticatedUsers

Para mais informações sobre entidades, consulte Representações de recursos.

Role Obrigatório

A permissão de acesso necessária para a entidade.

Os possíveis valores são os seguintes:

  • OWNER
  • READER
  • WRITER

Saídas de ação

A ação "Atualizar uma entrada de ACL no bucket" 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

Em um quadro de casos, a ação "Atualizar uma entrada de ACL no bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

A ação foi concluída. A função atual não corresponde ao valor do parâmetro Role. Verifique o valor do parâmetro Role.
Successfully updated ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. A ação foi concluída.

Error executing action "Update an ACL entry on Bucket". Reason: Entity ENTITY does not exist in the ACL of bucket BUCKET_NAME.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. The entity holding the permission can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.

Error executing action "Update an ACL entry on Bucket". 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 descreve os valores da saída do resultado do script ao usar a ação "Atualizar uma entrada de ACL no bucket":

Nome do resultado do script Valor
is_success True ou False

Fazer upload de um objeto em um bucket

Use a ação "Fazer upload de um objeto para um bucket" para fazer upload de um objeto para o bucket do Cloud Storage.

Essa ação não é executada em entidades.

Entradas de ação

A ação "Fazer upload de um objeto para um bucket" exige os seguintes parâmetros:

Parâmetros Descrição
Bucket Name Obrigatório

O nome do bucket em que um objeto será enviado por upload.

Source File Path Obrigatório

O caminho absoluto para o arquivo a ser enviado, como /local/path/to/filename.

Object Name Obrigatório

O nome do objeto enviado por upload no bucket.

Saídas de ação

A ação "Fazer upload de um objeto em um bucket" 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
{
   "object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
   "Object_name":"errorlog.txt",
   "md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
   "object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Mensagens de saída

Em um painel de casos, a ação "Fazer upload de um objeto em um bucket" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully uploaded SOURCE_PATH to bucket: BUCKET_NAME.

Action wasn't able to upload SOURCE_PATH to Google Cloud Storage. Reason:No such file or directory: SOURCE_PATH.

A ação foi concluída.
Error executing action "Upload an Object To a Bucket". 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 descreve os valores da saída do resultado do script ao usar a ação "Fazer upload de um objeto para um bucket":

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.