Integrar o Jira ao Google SecOps

Este documento explica como integrar o Jira ao Google Security Operations.

Casos de uso

A integração do Jira usa os recursos do Google SecOps para oferecer suporte aos seguintes casos de uso:

  • Emissão automática de tíquetes: crie automaticamente problemas do Jira com base em alertas do Google SecOps usando o conector do Jira para simplificar a transferência entre as equipes de segurança e de TI.

  • Sincronização bidirecional: mantenha a consistência entre as plataformas sincronizando automaticamente comentários e mudanças de status entre os tíquetes do Jira e os casos do Google SecOps usando jobs de sincronização dedicados.

  • Enriquecimento de incidentes: anexe evidências, registros e capturas de tela diretamente aos problemas do Jira usando a ação Fazer upload de anexo para fornecer contexto completo aos responsáveis pela correção.

  • Gerenciamento dinâmico de tarefas: atualize, atribua ou vincule problemas relacionados do Jira diretamente do playbook do Google SecOps para automatizar procedimentos operacionais padrão (SOPs).

Antes de começar

Antes de configurar a integração do Jira na plataforma Google SecOps, verifique se você tem o seguinte:

  • Compatibilidade do produto: acesso a uma instância do Jira Cloud ou a um ambiente do Jira Data Center (no local).

  • Método de autenticação: escolha um método de autenticação.

    • Autenticação básica (Jira Cloud): requer um nome de usuário (e-mail) e um token de API da Atlassian.
    • Autenticação da conta de serviço (Jira Cloud): requer um token de conta de serviço e seu Cloud ID.
    • Autenticação padrão (Jira Data Center): requer um nome de usuário e uma senha válidos.
  • URL raiz da API: o formato da raiz da API depende do método de autenticação.

    • Padrão/Básico: o URL de base da sua instância do Jira (por exemplo, https://yourdomain.atlassian.net).
    • Conta de serviço: o URL do proxy de API Atlassian, que precisa incluir seu ID do Cloud (por exemplo, https://api.atlassian.com/ex/jira/{cloud_id}).

Configurar a autenticação do Jira Cloud

Para se conectar ao Jira Cloud usando um token de API, siga as instruções na documentação da Atlassian para gerar um token.

Configurar a autenticação para contas de serviço

Para usar a autenticação baseada em token (token do portador) no Jira Cloud:

  1. Consulte Noções básicas sobre contas de serviço para mais detalhes sobre como criar uma conta de serviço usando o console de administrador da Atlassian.

  2. Para recuperar o ID do Cloud, acesse: https://<your_tenant>.atlassian.net/_edge/tenant_info (em que <your_tenant> é o nome da sua instância específica da Atlassian).

  3. Ao configurar a integração, deixe o campo Nome de usuário em branco para acionar a autenticação do token do portador.

Parâmetros de integração

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

Parâmetro Descrição
Api Root

Obrigatório.

O URL de base da instância do Jira.

Username

Opcional.

O nome de usuário (e-mail) usado para se conectar ao Jira.

O requisito para esse parâmetro depende do método de autenticação escolhido:

  • Se fornecido, o sistema usa a autenticação básica.
  • Se deixado em branco, o sistema usa como padrão a autenticação de token do portador (necessária para contas de serviço).

Para mais informações sobre métodos de autenticação, consulte Antes de começar.

Api Token

Obrigatório.

A credencial de autenticação usada para se conectar ao Jira.

Esse campo aceita tokens de API, tokens de conta de serviço ou senhas padrão (para o Data Center).

Verify SSL

Opcional.

Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Jira.

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.

Adicionar comentário

Use a ação Adicionar comentário para escrever e adicionar um comentário a um problema do Jira.

Essa é uma maneira eficaz de documentar descobertas, fornecer atualizações e colaborar com os membros da equipe diretamente do Google SecOps.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Adicionar comentário requer os seguintes parâmetros:

Parâmetro Descrição
Issue Key

Obrigatório.

O identificador exclusivo do problema do Jira (por exemplo, PROJ-123).

Comment

Obrigatório.

O texto a ser adicionado à solicitação do Jira.

Saídas da ação

A ação Adicionar comentário 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 do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Adicionar comentário:

Nome do resultado do script Valor
comment_id O ID exclusivo do comentário recém-criado no Jira.

Atribuir problema

Use a ação Atribuir problema para atribuir um problema do Jira a um usuário específico.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Atribuir problema requer os seguintes parâmetros:

Parâmetro Descrição
Issue Key

Obrigatório.

O identificador exclusivo do problema do Jira (por exemplo, PROJ-123).

Assignee

Obrigatório.

O nome ou endereço de e-mail do usuário a quem o problema será atribuído.

Jira Username

Opcional.

O nome de usuário do Jira da pessoa que iniciou a ação de atribuição.

Saídas da ação

A ação Atribuir problema 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 do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Atribuir problema:

Nome do resultado do script Valor
success true ou false

Criar problema de alerta

Use a ação Criar problema de alerta para criar um novo tíquete no Jira para um alerta específico.

Essa ação é usada principalmente em playbooks para encaminhar incidentes de segurança às equipes de TI ou de engenharia para investigação ou correção.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Criar problema de alerta requer os seguintes parâmetros:

Parâmetro Descrição
Project Key

Obrigatório.

A chave abreviada exclusiva do projeto do Jira em que o problema é criado (como SEC).

Summary

Obrigatório.

Um título ou resumo breve do problema.

Issue Type

Obrigatório.

O nome do tipo de problema (como Task, Bug ou Incident).

Saídas da ação

A ação Criar problema de alerta 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 quando a ação cria um problema:

{
   "summary": "Sample issue",
   "description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts.",
   "project": {
      "key": "PR",
      "name": "Project 1",
      "projectTypeKey": "software"
   },
   "issuetype": {
     "name": "Task",
     "subtask": false
   },
   "status": {
      "name": "DONE",
      "statusCategory": {
         "name": "Done",
         "key": "done"
      }
   },
   "priority": {
      "name": "Medium",
      "id": "3"
   },
   "creator": {
      "displayName": "user1",
      "emailAddress": "john_doe@example.com"
   },
   "assignee": {
      "displayName": "user2",
      "emailAddress": "john_doe@example.com"
   },
   "created": "2018-06-19T15:23:13.701+0300",
   "updated": "2018-09-18T10:02:06.347+0300"
}
Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Criar problema de alerta:

Nome do resultado do script Valor
issue_key A chave abreviada exclusiva do problema recém-criado do Jira (por exemplo, SEC-456).

Criar problema

Use a ação Criar problema para criar um novo tíquete em um projeto do Jira.

Essa ação oferece várias opções de personalização, incluindo a capacidade de especificar componentes, rótulos e campos personalizados usando JSON, o que a torna adequada para fluxos de trabalho complexos de criação de tíquetes.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Criar problema requer os seguintes parâmetros:

Parâmetro Descrição
Project Key

Obrigatório.

A chave abreviada exclusiva do projeto do Jira em que o problema é criado (como SEC).

Summary

Obrigatório.

Um título ou resumo breve do problema.

Description

Opcional.

Uma descrição detalhada do problema.

Issue Type

Obrigatório.

O nome do tipo de problema (como Task, Bug ou Incident).

Jira Username

Opcional.

O nome de usuário do Jira da pessoa que iniciou a ação.

Assignee

Opcional.

O identificador do usuário a quem o problema foi atribuído.

Components

Opcional.

Uma lista separada por vírgulas de componentes do Jira para associar ao problema.

Labels

Opcional.

Uma lista de rótulos separados por vírgulas para adicionar ao problema.

Custom Fields

Opcional.

Um objeto JSON que contém campos e valores adicionais a serem definidos durante a criação (por exemplo, {"customfield_10001": "Value"}).

Os valores fornecidos nesse parâmetro têm prioridade e substituem outros mapeamentos de campo se houver um conflito.

Saídas da ação

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

{
   "summary": "Sample issue",
   "description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts. In a couple of days we will have access to an instance.",
   "project": {
      "key": "PR",
      "name": "Project 1",
      "projectTypeKey": "software"
   },
   "issuetype": {
      "name": "Task",
      "description": "A task that needs to be done.",
      "subtask": false
   },
   "status": {
      "name": "DONE",
      "statusCategory": {
         "name": "Done",
         "key": "done",
         "colorName": "green"
      }
   },
   "priority": {
      "name": "Medium",
      "id": "3"
   },
   "resolution": {
      "name": "Done",
      "description": "Work has been completed on this issue."
   },
   "creator": {
      "displayName": "user1",
      "emailAddress": "john_doe@example.com",
      "active": true,
      "timeZone": "Asia/Jerusalem"
   },
   "assignee": {
      "displayName": "user2",
      "emailAddress": "john_doe@example.com",
      "active": true
   },
   "reporter": {
      "displayName": "user1",
      "emailAddress": "john_doe@example.com"
   },
   "labels": [
      "Label1"
   ],
   "attachment": [
      {
         "id": "1001",
         "filename": "file.rar",
         "mimeType": "binary/octet-stream",
         "size": 15420,
         "created": "2018-06-19T15:23:07.369+0300"
      }
   ],
   "created": "2018-06-19T15:23:13.701+0300",
   "updated": "2018-09-18T10:02:06.347+0300",
   "resolutiondate": "2018-09-18T10:02:06.340+0300",
   "watches": {
      "watchCount": 1,
      "isWatching": false
   }
}
Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Criar problema:

Nome do resultado do script Valor
issue_key A chave abreviada exclusiva do problema recém-criado do Jira (por exemplo, SEC-789).

Excluir problema

Use a ação Excluir problema para remover permanentemente um problema do Jira.

Essa ação geralmente é usada para limpar tíquetes duplicados ou remover dados de teste gerados durante o desenvolvimento do playbook.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Excluir problema requer os seguintes parâmetros:

Parâmetro Descrição
Issue Key

Obrigatório.

A chave de atalho exclusiva da solicitação do Jira a ser excluída (por exemplo, SEC-123).

Saídas da ação

A ação Excluir problema 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 do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Excluir problema:

Nome do resultado do script Valor
success true ou false

Fazer o download de anexos

Use a ação Fazer o download de anexos para recuperar todos os arquivos anexados a um problema específico do Jira. Se um anexo for um arquivo .eml, a ação também vai baixar todos os arquivos contidos nesse e-mail.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Fazer o download de anexos requer os seguintes parâmetros:

Parâmetro Descrição
Issue Key

Obrigatório.

A chave abreviada exclusiva do problema do Jira (por exemplo, SEC-123).

Download Path

Opcional.

O caminho local ou interno para a pasta em que a ação salva os anexos baixados.

O formato necessário depende do tipo de implantação:

  • Implantação de SaaS: o caminho é interno à plataforma hospedada, como /attachments/.
  • Implantação do agente remoto: o caminho precisa ser um caminho de diretório absoluto e válido na máquina local em que o agente remoto está instalado. Por exemplo, C:\temp\attachments para Windows ou /var/tmp/attachments/ para Linux.
Download Attachments to the Case Wall

Opcional.

Se selecionada, a ação baixa os anexos do problema do Jira diretamente para o painel de casos atual do Google SecOps.

Há uma limitação de tamanho para anexos adicionados ao Painel de Casos. Arquivos grandes podem não ser enviados.

Essa configuração está desativada por padrão.

Saídas da ação

A ação Fazer download de anexos fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade
Anexo do Painel de Casos Disponí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 Fazer download de anexos:

[
  {
    "download_path": "downloads/Security_Evidence.eml",
    "attachment_details": {
      "id": "10007",
      "filename": "Security_Evidence.eml",
      "author": {
        "displayName": "Security Analyst",
        "emailAddress": "analyst@example.com",
        "active": true,
        "timeZone": "Asia/Calcutta"
      },
      "created": "2024-05-25T20:27:09.066+0530",
      "size": 12049140,
      "mimeType": "message/rfc822"
    }
  },
  {
    "download_path": "downloads/Logs_Attachment.txt",
    "attachment_details": {
      "id": "10005",
      "filename": "Logs_Attachment.txt",
      "author": {
        "displayName": "System Admin",
        "emailAddress": "admin@example.com",
        "active": true,
        "timeZone": "Asia/Calcutta"
      },
      "created": "2024-05-16T11:48:24.141+0530",
      "size": 43,
      "mimeType": "text/plain"
    }
  }
]
Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Fazer download de anexos:

Nome do resultado do script Valor
is_success true ou false

Receber problemas

Use a ação Receber problemas para recuperar detalhes completos de um ou mais problemas do Jira.

Essa ação é útil para enriquecer os casos do Google SecOps com metadados de tíquetes atuais (como status, responsável e prioridade).

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Get Issues requer os seguintes parâmetros:

Parâmetro Descrição
Issue Keys

Obrigatório.

Uma lista separada por vírgulas de chaves de problemas do Jira a serem buscadas (por exemplo, SEC-123, SEC-456).

Saídas da ação

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

{
  "issues_details_list": [
    {
      "key": "TES-65",
      "summary": "New summary",
      "description": "Detailed description of the security incident.",
      "project": {
        "key": "TES",
        "name": "test-project1",
        "projectTypeKey": "software"
      },
      "issuetype": {
        "name": "Bogue",
        "subtask": false
      },
      "status": {
        "name": "Fini",
        "statusCategory": {
          "name": "Terminé",
          "key": "done"
        }
      },
      "priority": {
        "name": "Medium",
        "id": "3"
      },
      "assignee": {
        "displayName": "Vasil Daskalov",
        "emailAddress": "vasil.daskalov@siemplify.co"
      },
      "creator": {
        "displayName": "admin@siemplifylab.local",
        "emailAddress": "admin@siemplifylab.local"
      },
      "created": "2021-08-31T12:15:22.089+0000",
      "updated": "2021-11-11T13:16:50.552+0000",
      "resolution": {
        "name": "Terminé",
        "description": "Ce ticket a été traité."
      },
      "labels": [],
      "components": []
    }
  ]
}
Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Receber problemas:

Nome do resultado do script Valor
issues_details_list Uma lista com os metadados completos dos problemas do Jira solicitados.

Use a ação Vincular problemas para estabelecer uma relação entre vários problemas do Jira.

Essa ação é usada principalmente em playbooks para conectar incidentes de segurança relacionados ou rastrear dependências entre tíquetes de investigação.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Link Issues requer os seguintes parâmetros:

Parâmetro Descrição
Inward Issue ID

Obrigatório.

Uma lista separada por vírgulas de IDs de problemas internos.

Por exemplo, se Relation Type estiver definido como Blocks, esse problema vai exibir a relação is blocked by na UI do Jira.

Outward Issue IDs

Obrigatório.

A chave abreviada da solicitação externa do Jira.

Por exemplo, se Relation Type estiver definido como Blocks, esse problema vai exibir a relação blocks na interface do Jira.

Relation Type

Obrigatório.

O tipo de link a ser criado entre os problemas.

Para encontrar uma lista de tipos de relação disponíveis, execute a ação Listar tipos de relação.

O valor padrão é Blocks.

Saídas da ação

A ação Vincular problemas 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
Mensagens de saída

A ação Vincular problemas pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully linked issue ISSUE_ID with the following issues in Jira: ISSUE_IDS.

A ação não encontrou os seguintes problemas de destino no Jira: ISSUE_IDS.

A ação foi concluída
Error executing action "Link Issues". Reason: ERROR_REASON

A ação falhou.

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 Vincular problemas:

Nome do resultado do script Valor
success true ou false

Listar problemas

Use a ação Listar problemas para pesquisar e recuperar uma lista de chaves de problemas do Jira com base em critérios de filtragem específicos.

Essa ação é útil para identificar tíquetes que correspondem a um contexto de alerta, evitando duplicações ou permitindo atualizações em massa em um playbook.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Listar problemas fornece os seguintes parâmetros de filtragem opcionais. Se nenhum parâmetro for fornecido, a ação vai retornar todos os problemas acessíveis pelo usuário da integração.

Parâmetro Descrição
Project Names

Opcional.

Uma lista separada por vírgulas de nomes de projetos para pesquisa.

Summary

Opcional.

Se fornecido, a ação filtra os problemas pelo resumo ou título específico.

Description

Opcional.

Se fornecida, a ação filtra os problemas pelo texto contido na descrição.

Issue Types

Opcional.

Uma lista separada por vírgulas de tipos de problema (por exemplo, Bug,Task).

O valor padrão é Bug.

Priorities

Opcional.

Uma lista separada por vírgulas de níveis de prioridade para filtrar (por exemplo, High,Medium).

Created From

Opcional.

Se fornecida, a ação filtra os problemas criados nessa data ou depois dela (no formato YYYY/MM/DD).

Updated From

Opcional.

Se fornecido, a ação filtra os problemas atualizados na data ou após ela (no formato YYYY/MM/DD).

Assignees

Opcional.

Uma lista separada por vírgulas de identificadores de responsáveis para filtrar.

Reporter

Opcional.

Uma lista separada por vírgulas de identificadores de repórteres para filtrar.

Statuses

Opcional.

Uma lista separada por vírgulas de status de problemas para filtrar (por exemplo, Open,In Progress).

Created Before

Opcional.

A data de criação mais recente para filtrar. Formato: YYYY/MM/DD ou deslocamento relativo (por exemplo, -24h, -7d). Se não for fornecido, o filtro não será usado.

Custom JQL

Opcional.

Consulta JQL personalizada. Se fornecido, todos os outros filtros serão ignorados.

Saídas da ação

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

[ 
  "PR-123", 
  "PR-124",
  "SEC-789"
]
Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Listar problemas:

Nome do resultado do script Valor
issues Uma lista com as chaves de atalho exclusivas dos problemas do Jira encontrados.

Listar tipos de relação

Use a ação Listar tipos de relação para recuperar uma lista de todos os tipos de relação de link disponíveis configurados na sua instância do Jira.

Essa ação é útil para validar valores de entrada válidos para a ação Vincular problemas.

Essa ação não é executada em entidades do Google SecOps.

Entradas da ação

A ação Listar tipos de relação requer os seguintes parâmetros:

Parâmetro Descrição
Filter Key

Opcional.

O campo usado para filtrar os tipos de relação.

Se a Lógica de filtro estiver definida como Equal ou Contains, selecione um campo diferente de Select One para evitar um erro de execução.

Os valores possíveis são os seguintes:

  • Name
  • Inward
  • Outward

O valor padrão é Select One.

Filter Logic

Opcional.

O operador lógico aplicado ao filtro.

Os valores possíveis são os seguintes:

  • Not Specified
  • Equal
  • Contains

O valor padrão é Not Specified.

Filter Value

Opcional.

O valor de string específico usado para filtragem com base nos Filter Key e Filter Logic selecionados.

Se nenhum valor for fornecido, o filtro não será aplicado, mesmo que uma chave e uma lógica sejam selecionadas.

Max Records To Return

Opcional.

O número máximo de registros a serem retornados nos resultados.

O valor padrão é 50.

Saídas da ação

A ação Listar tipos de relaçã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 Disponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Tabela do painel de casos

A ação Listar tipos de relação fornece a seguinte tabela:

Nome da tabela: Available Relation

Colunas da tabela:

  • Nome
  • Inward
  • Para fora
Resultado JSON

O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Listar tipos de relação:

[{
    "id": "10000",
    "name": "Blocks",
    "inward": "is blocked by",
    "outward": "blocks"
}]
Mensagens de saída

A ação Listar tipos de relação pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully found relation types for the provided criteria in Jira.

The filter was not applied, because parameter "Filter Value" has an empty value.

A ação foi concluída.
Error executing action "List Relation types". Reason: ERROR_REASON

A ação falhou.

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 Listar tipos de relação:

Nome do resultado do script Valor
is_success true ou false

Ping

Use a ação Ping para testar a conectividade com o Jira.

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
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
success true ou false

Atualizar problema

Descrição

Atualizar um problema. Para a nova API do Jira, a ação tenta encontrar uma correspondência para o responsável para atribuir um problema com base no e-mail do usuário e, em seguida, tenta com o campo displayName.

Parâmetros

Parâmetro Tipo Valor padrão É obrigatório Descrição
Chave do problema String N/A Sim A chave do problema a ser atualizado.
Status String N/A Não Especifique o nome da transição relevante para mudar o status do problema.
Resumo String N/A Não O novo resumo do problema.
Descrição String N/A Não A nova descrição do problema.
Tipo de problema String N/A Não O novo tipo do problema.
Responsável String N/A Não O novo responsável pelo problema.
Nome de usuário do Jira String N/A Não O nome de usuário do Jira de quem iniciou a ação.
Componentes String N/A Não

O campo de componentes do problema.

Esse parâmetro aceita vários valores como uma string separada por vírgulas.

Campos personalizados JSON NA Não

Especifique um objeto JSON que contenha todos os campos e valores usados durante a criação do problema.

Observação: esse parâmetro tem prioridade, e todos os campos são substituídos pelo valor fornecido para ele.

Exemplo: {"field":"value"}

Rótulos String N/A Não

O campo de componentes do problema.

Esse parâmetro aceita vários valores como uma string separada por vírgulas.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
Sucesso Verdadeiro/falso Success:False
Resultado do JSON
{
   "comment":
     {
       "total": 0,
       "startAt": 0,
       "comments": [],
       "maxResults": 0
      },
   "creator":
     {
       "displayName": "user1",
       "name": "user1",
       "self": "",
       "avatarUrls":
          {
            "24x24": "",
            "16x16": "",
            "48x48": "",
            "32x32": ""
           },
        "emailAddress": "john_doe@example.com",
        "key": "user1user",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": "0"
       },
   "aggregatetimeestimate": null,
   "labels": ["Label1"],
   "aggregatetimespent": null,
   "watches":
      {
        "self": "",
        "watchCount": 1,
        "isWatching": false
       },
   "assignee":
      {
        "displayName": "user2",
        "name": "user2",
        "self": "",
        "avatarUrls":
           {
              "24x24": "",
              "16x16": "",
              "48x48": "",
              "32x32": ""
            },
        "emailAddress": "john_doe@example.com",
        "key": "user2",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": ""
       },
   "lastViewed": "2019-01-22T10:14:02.910+0200",
   "issuelinks": [],
   "Worklog":
      {
        "worklogs": [],
        "total": 0,
        "startAt": 0,
        "maxResults": 20
       },
   "aggregateprogress":
      {
        "progress": 0,
        "total": 0
       },
   "Priority":
      {
        "iconUrl": "",
        "self": "",
        "name": "Medium",
        "id": "3"
       },
   "votes":
       {
          "hasVoted": false,
          "self": "",
          "votes": 0
        },
   "workratio": -1,
   "fixVersions": [],
   "environment": null,
   "timespent": null,
   "attachment":
      [{
          "mimeType": "binary/octet-stream",
          "created": "2018-06-19T15:23:07.369+0300",
          "self": "",
          "author":
             {
               "displayName": "user1",
               "name": "user1",
               "self": "",
               "avatarUrls":
                  {
                     "24x24": "",
                     "16x16": "",
                     "48x48": "",
                     "32x32": ""
                   },
               "emailAddress": "john_doe@example.com",
               "key": "user1",
               "active": true,
               "timeZone": "Asia/Jerusalem",
               "accountId": "0"
              },
           "filename": "file.rar",
           "content": "",
           "id": "0",
           "size": 0
        }],
   "progress":
        {
          "progress": 0,
          "total": 0
         },
   "duedate": null,
   "status":
        {
          "statusCategory":
              {
                 "name": "Done",
                 "self": "",
                 "id": 3,
                 "key": "done",
                 "colorName": "green"
               },
          "description": "",
          "self": "",
          "iconUrl": "",
          "id": "0",
          "name": "DONE"
         },
   "updated": "2018-09-18T10:02:06.347+0300",
   "subtasks": [],
   "description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
   "reporter":
         {
           "displayName": "user1",
           "name": "user1",
           "self": "",
           "avatarUrls":
               {
                 "24x24": "",
                 "16x16": "",
                 "48x48": "",
                 "32x32": ""
               },
           "emailAddress": "john_doe@example.com",
           "key": "user1",
           "active": true,
           "timeZone": "Asia/Jerusalem",
           "accountId": "0"
          },
    "timeoriginalestimate": null,
    "aggregatetimeoriginalestimate": null,
    "created": "2018-06-19T15:23:13.701+0300",
    "versions": [],
    "resolutiondate": "2018-09-18T10:02:06.340+0300",
    "summary": "Sample issue",
    "project":
          {
             "name": "Project 1",
             "self": "",
             "projectTypeKey": "software",
             "avatarUrls":
                 {
                   "24x24": "",
                   "16x16": "",
                   "48x48": "",
                   "32x32": ""
                  },
             "key": "PR",
             "id": "0"
           },
    "timetracking": {},
    "components": [],
    "issuetype":
          {
             "name": "Task",
             "self": "",
             "iconUrl": "",
             "subtask": false,
             "avatarId": 10318,
             "id": "10002",
             "description": "A task that needs to be done."
           },
    "security": null,
    "resolution":
           {
             "id": "10000",
             "self": "",
             "description": "Work has been completed on this issue.",
              "name": "Done"
             },
    "timeestimate": null
}

Fazer upload do anexo

Descrição

Adicione um anexo a um problema.

Parâmetros

Parâmetro Tipo Valor padrão É obrigatório Descrição
Chave do problema String N/A Sim Caminhos de arquivos.
Caminhos de arquivos String N/A Sim

Os caminhos absolutos dos arquivos para upload, separados por vírgulas.

O formato necessário depende do tipo de implantação:

  • Implantação de SaaS: o caminho é interno à plataforma hospedada, como /attachments/.
  • Implantação do agente remoto: o caminho precisa ser um caminho de diretório absoluto e válido na máquina local em que o agente remoto está instalado. Por exemplo, C:\temp\attachments para Windows ou /var/tmp/attachments/ para Linux.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
N/A

Pesquisar usuários

Pesquise usuários no Jira.

Entidades

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

Entradas da ação

Para configurar a ação, use os seguintes parâmetros:

Parâmetros
User Email Addresses Opcional

Lista separada por vírgulas de endereços de e-mail para retornar os usuários.

User Names Opcional

Lista separada por vírgulas de nomes de usuários para retornar os usuários.

Project Opcional

Nome do projeto em que os endereços de e-mail serão pesquisados. Se fornecido, apenas Project Assignable Users será retornado.

Saídas da ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos N/A
Tabela de enriquecimento N/A
Resultado JSON Disponível
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Resultado JSON
[
 {
   "Entity": "example",
   "EntityResult": {
     "_resource": "user?accountId={0}",
     "_options": {
       "server": "https://siemplify.atlassian.net",
       "auth_url": "/rest/auth/1/session",
       "context_path": "/",
       "rest_path": "api",
       "rest_api_version": "2",
       "agile_rest_path": "agile",
       "agile_rest_api_version": "1.0",
       "verify": false,
       "resilient": true,
       "async": false,
       "async_workers": 5,
       "client_cert": null,
       "check_update": false,
       "delay_reload": 0,
       "headers": {
         "Cache-Control": "no-cache",
         "Content-Type": "application/json",
         "X-Atlassian-Token": "no-check"
       }
     },
     "_session": "<jira.resilientsession.ResilientSession object>",
     "_base_url": "{server}/rest/{rest_path}/{rest_api_version}/{path}",
     "raw": {
       "self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
       "accountId": "example-account-id",
       "accountType": "atlassian",
       "emailAddress": "example.user",
       "avatarUrls": {
         "48x48": "https://example.com"
       },
       "displayName": "Example",
       "active": true,
       "timeZone": "UTC",
       "locale": "en_US"
     },
     "self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
     "accountId": "example-account-id",
     "accountType": "atlassian",
     "emailAddress": "example.user",
     "avatarUrls": "<jira.resources.PropertyHolder object>",
     "displayName": "Example",
     "active": true,
     "timeZone": "UTC",
     "locale": "en_US"
   }
 }
]
Mural do caso

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully found the following users in Jira for project PROJECT_NAME: USER_LIST

The following users were not found in Jira for project PROJECT_NAME: USER_LIST

None of the provided users were found in the project PROJECT_NAME

Ação concluída.
Error executing action "Search Users". Reason: ERROR_REASON

Falha na ação.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Configuração de mapeamento de motivos de fechamento

O parâmetro Closed Reason Mapping requer uma estrutura JSON. É possível mapear valores estáticos ou transmitir nomes de campos dinâmicos do Jira (por exemplo, resolution, customfield_10010). Se um motivo dinâmico extraído for inválido ou estiver ausente, o job usará automaticamente o mapeamento Fallback especificado.

Exemplo de configuração JSON:

{
  "Done": {
    "reason": "Maintenance",
    "root_cause": "Other"
  },
  "Fallback": {
    "reason": "Maintenance",
    "root_cause": "Other"
  }
}

Conectores

Conector do Jira

Descrição

Busque problemas do Jira para o Google SecOps.

Configurar o conector do Jira no Google SecOps

Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Como configurar o conector.

Parâmetros do conector

Use os seguintes parâmetros para configurar o conector:

Parâmetro Descrição
DeviceProductField

Obrigatório.

O nome do campo usado para determinar o produto do dispositivo.

O valor padrão é device_product.

EventClassId

Opcional.

O nome do campo usado para determinar o nome do evento (subtipo).

O valor padrão é name.

PythonProcessTimeout

Obrigatório.

O limite de tempo limite (em segundos) para o processo do Python que executa o script atual.

O valor padrão é 60.

API Root

Obrigatório.

A raiz da API da instância do Jira.

O valor padrão é https://{jira_address}.

Username

Opcional.

O nome de usuário (e-mail) usado para se conectar ao Jira.

O requisito para esse parâmetro depende do método de autenticação escolhido:

  • Se fornecido, o sistema usa a autenticação básica.
  • Se deixado em branco, o sistema usa como padrão a autenticação de token do portador (necessária para contas de serviço).

Para mais informações sobre métodos de autenticação, consulte Antes de começar.

API Token

Obrigatório.

A credencial de autenticação usada para se conectar ao Jira.

Days Backwards

Opcional.

Número máximo de dias anteriores para extrair alertas.

O valor padrão é 5.

Max Tickets Per Cycle

Opcional.

Número máximo de tíquetes a serem buscados e processados em um ciclo do conector.

O valor padrão é 10.

Project Names

Opcional.

Nomes de projetos separados por vírgula.

Issue Statuses

Opcional.

Status dos problemas separados por vírgula.

Assignees

Opcional.

Nomes completos dos usuários separados por vírgula.

Issue Types

Opcional.

Tipos de problema separados por vírgula.

Issue Priorities

Opcional.

Prioridades de problemas separadas por vírgula.

Issue Components

Opcional.

Componentes do problema separados por vírgula.

Proxy Server Address

Opcional.

O endereço do servidor proxy a ser usado.

Proxy Username

Opcional.

O nome de usuário do proxy para autenticação.

Proxy Password

Opcional.

A senha do proxy para autenticação.

Environment Field Name

Opcional.

Descreve o nome do campo em que o nome do ambiente é armazenado. Se o campo de ambiente não for encontrado, o ambiente será o padrão.

O valor padrão é "".

Environment Regex Pattern

Opcional.

Um padrão de regex para ser executado no valor encontrado no campo "Nome do campo de ambiente". Usado para permitir que o usuário manipule o campo de ambiente usando a lógica regex.

O valor padrão é .*.

Use Jira Project as Environment

Opcional.

Use o projeto do Jira como ambiente ou use o nome do campo de ambiente como ambiente.

Verify SSL

Obrigatório.

Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Jira.

Ativado por padrão.

Regras do conector

Suporte a proxy

O conector é compatível com proxy.

Lista dinâmica e lista de bloqueio

O conector é compatível com regras dinâmicas de lista de permissões e de bloqueio apenas para marcadores específicos no Jira.

Jobs

Trabalho de encerramento de sincronização

Descrição

Fechar tickets no Jira se os alertas ou casos correspondentes do Google SecOps forem fechados e sincronizar o status de fechamento e os campos personalizados do Jira com o Google SecOps.

Parâmetros

Parâmetro Descrição
API Root

Obrigatório.

URL raiz da API da instância do Jira.

O valor padrão é https://{jira_address}.

Username

Opcional.

O nome de usuário (e-mail) usado para se conectar ao Jira.

O requisito para esse parâmetro depende do método de autenticação escolhido:

  • Se fornecido, o sistema usa a autenticação básica.
  • Se deixado em branco, o sistema usa como padrão a autenticação de token do portador (necessária para contas de serviço).
API Token

Obrigatório.

A credencial de autenticação usada para se conectar ao Jira.

Project Names

Obrigatório.

Nomes de projetos do Jira separados por vírgula que o job deve monitorar.

O valor padrão é project names separated by a comma.

Environment

Opcional.

O nome do ambiente.

Days Backwards

Obrigatório.

Número máximo de dias para sincronizar o status dos tíquetes anteriores.

O valor padrão é 1.

Job Scope

Obrigatório.

Escopo da sincronização de jobs. Opções:

  • Case: sincroniza os problemas do Jira no nível do caso. Verifique se o contexto contém o JIRA_ISSUE_KEY.
  • Alert: sincroniza os problemas do Jira no nível do alerta. Para casos criados pelo conector, a chave do tíquete do Jira é extraída automaticamente. Para casos simulados, defina manualmente a chave de contexto como JIRA_ISSUE_KEY.

O valor padrão é Alert.

Supported Closed Statuses

Obrigatório.

Lista separada por vírgulas de status fechados do Jira tratados como fechados no Google SecOps (por exemplo, Done, Closed).

  • SecOps para Jira: o job usa o primeiro valor da lista (por exemplo, Done) como o status de resolução ao fechar o tíquete do Jira.
  • Do Jira para o SecOps: o status de fechamento do tíquete do Jira precisa estar nessa lista para que a sincronização ocorra.

O valor padrão é Done.

Closed Reason Mapping

Obrigatório.

Dicionário JSON que mapeia os status de fechamento do Jira para os motivos e as causas raiz de fechamento do Google SecOps. Oferece suporte ao mapeamento para campos personalizados e exige uma chave Fallback obrigatória. Para detalhes e exemplos de configuração, consulte Motivo do fechamento e mapeamento de campos personalizados.

Custom Fields Mapping

Opcional.

Objeto JSON que define mapeamentos entre os nomes de exibição de campos personalizados do Google SecOps e os nomes de campos personalizados do Jira para sincronização de dados do Jira com o Google SecOps. Para detalhes e exemplos de configuração, consulte Motivo do fechamento e mapeamento de campos personalizados.

Motivo do encerramento e mapeamento de campos personalizados

Use os detalhes e exemplos a seguir para configurar mapeamentos personalizados para motivos de fechamento e campos personalizados.

Mapeamento de motivos de fechamento

Define como os status de encerramento do Jira são mapeados para os motivos e as causas raiz de encerramento de casos ou alertas do Google SecOps.

  • Exemplo de mapeamento JSON padrão:

    {
      "Done": {
        "reason": "Malicious",
        "root_cause": "Other"
      },
      "Fallback": {
        "reason": "Maintenance",
        "root_cause": "Other"
      }
    }
    

    Se um tíquete do Jira for fechado com o status Done, o caso ou alerta do Google SecOps será fechado com o motivo Malicious e a causa raiz Other. Se o tíquete for fechado com um status não mapeado explicitamente (por exemplo, Closed), o sistema usará as configurações padrão do sistema de Fallback.

  • Exemplo de mapeamento de campo personalizado:

    Se você tiver campos personalizados no Jira chamados Jira reason e Jira rootcause, configure o mapeamento JSON da seguinte maneira:

    {
      "Done": {
        "reason": "Jira reason",
        "root_cause": "Jira rootcause"
      },
      "Fallback": {
        "reason": "Maintenance",
        "root_cause": "Other"
      }
    }
    

    Requisitos:

    • O valor extraído do campo personalizado Jira reason precisa ser resolvido em uma das seguintes strings exatas: Malicious, Maintenance, Inconclusive ou Not malicious. Caso contrário, o sistema vai reverter para os valores Fallback.
    • Para o escopo de job Case, os valores de causa raiz precisam ser configurados nas definições de administrador. Para o escopo de job Alert, nenhuma configuração de administrador é necessária, e qualquer valor fornecido no campo personalizado é aceito.

Mapeamento de campos personalizados

Esse mapeamento funciona exclusivamente para sincronizar valores de campos personalizados do Jira com o Google SecOps. Especifique pares de chave-valor em que a chave é o nome de exibição do campo personalizado do Google SecOps e o valor é o nome do campo personalizado do Jira:

{
  "SOAR Custom field": "Jira ticket id"
}

Neste exemplo, o valor do campo Jira ticket id do Jira é sincronizado diretamente com o campo SOAR Custom field do Google SecOps.

Trabalho de sincronização de comentários

Descrição

Sincronize os comentários entre o caso do Google SecOps e o tíquete correspondente do Jira. A sincronização é bidirecional, ou seja, do Google SecOps para o Jira e do Jira para o Google SecOps.

Quando o job cria um comentário, ele aplica o prefixo. Se um usuário do Google SecOps comentar no caso do Google SecOps, o job vai criar e sincronizar o comentário do usuário no tíquete do Jira correspondente usando o parâmetro Prefixo de comentário do Chronicle.

Esse recurso foi adicionado por dois motivos:

  1. Visibilidade.
  2. Impedir que os comentários adicionados pelo job sejam sincronizados novamente com o outro lado, causando um loop.

Parâmetros

Parâmetro Descrição
API Root

Obrigatório.

URL raiz da API da instância do Jira.

O valor padrão é https://{jira_address}.

Username

Opcional.

O nome de usuário (e-mail) usado para se conectar ao Jira.

O requisito para esse parâmetro depende do método de autenticação escolhido:

  • Se fornecido, o sistema usa a autenticação básica.
  • Se deixado em branco, o sistema usa como padrão a autenticação de token do portador (necessária para contas de serviço).
API Token

Obrigatório.

A credencial de autenticação usada para se conectar ao Jira.

Project Names

Obrigatório.

Nomes de projetos do Jira separados por vírgula que o job deve monitorar.

O valor padrão é project names separated by comma.

Environment

Opcional.

O nome do ambiente.

Siemplify Comment Prefix

Obrigatório.

Prefixo adicionado pelo job de sincronização aos comentários criados para tíquetes do Jira.

O valor padrão é Google SecOps:.

Jira Comment Prefix

Obrigatório.

Prefixo adicionado pelo job de sincronização aos comentários do caso de alerta do Google SecOps.

O valor padrão é Jira Comment Sync Job:.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.