Integrare Jira con Google SecOps

Questo documento spiega come integrare Jira con Google Security Operations.

Casi d'uso

L'integrazione di Jira utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:

  • Sistema di ticketing automatizzato: crea automaticamente i problemi Jira dagli avvisi di Google SecOps utilizzando il connettore Jira per semplificare il trasferimento tra i team di sicurezza e IT.

  • Sincronizzazione bidirezionale: mantieni la coerenza tra le piattaforme sincronizzando automaticamente i commenti e le modifiche dello stato tra i ticket Jira e i casi Google SecOps utilizzando job di sincronizzazione dedicati.

  • Arricchimento degli incident: allega prove, log e screenshot direttamente ai problemi di Jira utilizzando l'azione Carica allegato per fornire il contesto completo ai responsabili della correzione.

  • Gestione dinamica delle attività: aggiorna, assegna o collega i problemi Jira correlati direttamente dal playbook di Google SecOps per automatizzare le procedure operative standard (SOP).

Prima di iniziare

Prima di configurare l'integrazione di Jira nella piattaforma Google SecOps, verifica di disporre di quanto segue:

  • Compatibilità del prodotto: accesso a un'istanza Jira Cloud o a un ambiente Jira Data Center (on-prem).

  • Metodo di autenticazione: scegli un metodo di autenticazione.

    • Autenticazione di base (Jira Cloud): richiede un nome utente (email) e un token API Atlassian.
    • Autenticazione del service account (Jira Cloud): richiede un token service account e il tuo ID cloud.
    • Autenticazione standard (Jira Data Center): richiede un nome utente e una password validi.
  • URL radice dell'API: il formato della radice dell'API dipende dal metodo di autenticazione.

    • Standard/Di base: l'URL di base dell'istanza Jira (ad esempio, https://yourdomain.atlassian.net).
    • Service account: l'URL del proxy API Atlassian, che deve includere il tuo ID cloud (ad esempio, https://api.atlassian.com/ex/jira/{cloud_id}).

Configura l'autenticazione per Jira Cloud

Per connetterti a Jira Cloud utilizzando un token API, segui le istruzioni riportate nella documentazione di Atlassian per generare un token.

Configurare l'autenticazione per i service account

Per utilizzare l'autenticazione basata su token (token di autenticazione) per Jira Cloud:

  1. Per ulteriori dettagli sulla creazione di un account di servizio utilizzando la console di amministrazione Atlassian, consulta Informazioni sui service account.

  2. Recupera il tuo Cloud ID andando su: https://<your_tenant>.atlassian.net/_edge/tenant_info (dove <your_tenant> è il nome della tua istanza Atlassian specifica).

  3. Quando configuri l'integrazione, lascia vuoto il campo Nome utente per attivare l'autenticazione con token di autenticazione.

Parametri di integrazione

L'integrazione Jira richiede i seguenti parametri:

Parametro Descrizione
Api Root

Obbligatorio.

L'URL di base dell'istanza di Jira.

Username

Facoltativo.

Il nome utente (indirizzo email) utilizzato per connettersi a Jira.

Il requisito per questo parametro dipende dal metodo di autenticazione scelto:

  • Se fornita, il sistema utilizza l'autenticazione di base.
  • Se lasciato vuoto, il sistema utilizza di default l'autenticazione tramite Bearer Token (necessaria per gli account di servizio).

Per ulteriori informazioni sui metodi di autenticazione, consultare Prima di iniziare.

Api Token

Obbligatorio.

Le credenziali di autenticazione utilizzate per connettersi a Jira.

Questo campo accetta token API, token di account di servizio o password standard (per Data Center).

Verify SSL

Facoltativo.

Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Jira.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Aggiungi commento

Utilizza l'azione Aggiungi commento per comporre e aggiungere un commento a un problema Jira esistente.

Questo è un metodo efficace per documentare i risultati, fornire aggiornamenti e collaborare con i membri del team direttamente da Google SecOps.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Aggiungi commento richiede i seguenti parametri:

Parametro Descrizione
Issue Key

Obbligatorio.

L'identificativo univoco del ticket Jira (ad esempio, PROJ-123).

Comment

Obbligatorio.

Il testo da aggiungere al ticket Jira.

Output azione

L'azione Aggiungi commento fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato dello script

La seguente tabella elenca il valore dell'output del risultato dello script quando utilizzi l'azione Aggiungi commento:

Nome del risultato dello script Valore
comment_id L'ID univoco del commento appena creato in Jira.

Assegna problema

Utilizza l'azione Assegna problema per assegnare un problema Jira a un utente specifico.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Assegna problema richiede i seguenti parametri:

Parametro Descrizione
Issue Key

Obbligatorio.

L'identificativo univoco del ticket Jira (ad esempio, PROJ-123).

Assignee

Obbligatorio.

Il nome o l'indirizzo email dell'utente a cui assegnare il problema.

Jira Username

Facoltativo.

Il nome utente Jira della persona che avvia l'azione di assegnazione.

Output azione

L'azione Assegna problema fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato dello script

La seguente tabella elenca il valore dell'output del risultato dello script quando si utilizza l'azione Assegna problema:

Nome del risultato dello script Valore
success true o false

Crea problema di avviso

Utilizza l'azione Crea problema avviso per creare un nuovo ticket in Jira per un avviso specifico.

Questa azione viene utilizzata principalmente nei playbook per riassegnare gli incidenti di sicurezza ai team IT o di ingegneria per ulteriori indagini o correzioni.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Crea problema di avviso richiede i seguenti parametri:

Parametro Descrizione
Project Key

Obbligatorio.

La chiave abbreviata univoca del progetto Jira in cui è stato creato il problema (ad esempio SEC).

Summary

Obbligatorio.

Un breve titolo o riassunto del problema.

Issue Type

Obbligatorio.

Il nome del tipo di problema (ad esempio Task, Bug o Incident).

Output azione

L'azione Crea problema di avviso fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output JSON ottenuto quando l'azione crea correttamente un 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"
}
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Crea problema di avviso:

Nome del risultato dello script Valore
issue_key La chiave abbreviata univoca del ticket Jira appena creato (ad esempio, SEC-456).

Crea problema

Utilizza l'azione Crea problema per creare un nuovo ticket in un progetto Jira.

Questa azione offre ampie opzioni di personalizzazione, tra cui la possibilità di specificare componenti, etichette e campi personalizzati utilizzando JSON, rendendola adatta a flussi di lavoro complessi per la creazione di ticket.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Crea problema richiede i seguenti parametri:

Parametro Descrizione
Project Key

Obbligatorio.

La chiave abbreviata univoca del progetto Jira in cui è stato creato il problema (ad esempio SEC).

Summary

Obbligatorio.

Un breve titolo o riassunto del problema.

Description

Facoltativo.

Una descrizione dettagliata del problema.

Issue Type

Obbligatorio.

Il nome del tipo di problema (ad esempio Task, Bug o Incident).

Jira Username

Facoltativo.

Il nome utente Jira della persona che avvia l'azione.

Assignee

Facoltativo.

L'identificativo dell'utente a cui è assegnato il problema.

Components

Facoltativo.

Un elenco di componenti Jira separati da virgole da associare al problema.

Labels

Facoltativo.

Un elenco di etichette separate da virgole da aggiungere al problema.

Custom Fields

Facoltativo.

Un oggetto JSON contenente campi e valori aggiuntivi da impostare durante la creazione (ad esempio, {"customfield_10001": "Value"}).

I valori forniti in questo parametro hanno la priorità e sovrascrivono le mappature di altri campi in caso di conflitto.

Output azione

L'azione Crea problema fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output JSON ottenuto utilizzando l'azione Crea 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
   }
}
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Crea problema:

Nome del risultato dello script Valore
issue_key La chiave abbreviata univoca del ticket Jira appena creato (ad esempio, SEC-789).

Elimina problema

Utilizza l'azione Elimina problema per rimuovere definitivamente un problema da Jira.

Questa azione viene in genere utilizzata per eliminare i ticket duplicati o rimuovere i dati di test generati durante lo sviluppo del playbook.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Elimina problema richiede i seguenti parametri:

Parametro Descrizione
Issue Key

Obbligatorio.

La chiave abbreviata univoca del ticket Jira da eliminare (ad esempio, SEC-123).

Output azione

L'azione Elimina problema fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Elimina problema:

Nome del risultato dello script Valore
success true o false

Scarica allegati

Utilizza l'azione Scarica allegati per recuperare tutti i file allegati a uno specifico ticket Jira. Se un allegato è un file .eml, l'azione scarica anche tutti i file contenuti in quell'e-mail.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Scarica allegati richiede i seguenti parametri:

Parametro Descrizione
Issue Key

Obbligatorio.

La chiave abbreviata univoca del ticket Jira (ad esempio, SEC-123).

Download Path

Facoltativo.

Il percorso locale o interno della cartella in cui l'azione salva gli allegati scaricati.

Il formato richiesto dipende dal tipo di implementazione:

  • Implementazione SaaS: Il percorso è interno alla piattaforma ospitata, come ad esempio /attachments/.
  • Distribuzione dell'agente remoto: Il percorso deve essere un percorso di directory assoluto e valido sulla macchina locale in cui è installato l'agente remoto. Ad esempio, C:\temp\attachments per Windows o /var/tmp/attachments/ per Linux.
Download Attachments to the Case Wall

Facoltativo.

Se selezionata, questa azione scarica gli allegati del ticket Jira direttamente nella bacheca del caso Google SecOps corrente.

Esiste un limite di dimensioni per gli accessori che possono essere aggiunti alla parete del case. Il caricamento di file di grandi dimensioni potrebbe non riuscire.

Disabilitato per impostazione predefinita.

Output azione

L'azione Scarica allegati fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Scarica allegati:

[
  {
    "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"
    }
  }
]
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Scarica allegati:

Nome del risultato dello script Valore
is_success true o false

Ottieni i numeri

Utilizza l'azione Ottieni problemi per recuperare i dettagli completi di uno o più problemi Jira.

Questa azione è utile per arricchire i casi di Google SecOps con i metadati aggiornati del ticket (come stato, assegnatario e priorità).

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Get Issues richiede i seguenti parametri:

Parametro Descrizione
Issue Keys

Obbligatorio.

Un elenco di chiavi di ticket Jira separate da virgole da recuperare (ad esempio, SEC-123, SEC-456).

Output azione

L'azione Get Issues fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output JSON ottenuto utilizzando l'azione Get Issues:

{
  "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": []
    }
  ]
}
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Ottieni problemi:

Nome del risultato dello script Valore
issues_details_list Un elenco contenente i metadati completi per i ticket Jira richiesti.

Utilizza l'azione Collega problemi per stabilire una relazione tra più problemi Jira.

Questa azione viene utilizzata principalmente all'interno dei playbook per collegare incidenti di sicurezza correlati o per tenere traccia delle dipendenze tra i ticket di indagine.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Link Issues richiede i seguenti parametri:

Parametro Descrizione
Inward Issue ID

Obbligatorio.

Un elenco di ID di emissione in entrata separati da virgole.

Ad esempio, se Relation Type è impostato su Blocks, questo problema visualizza la relazione is blocked by nell'interfaccia utente di Jira.

Outward Issue IDs

Obbligatorio.

La chiave abbreviata per la gestione dei problemi Jira.

Ad esempio, se Relation Type è impostato su Blocks, questo problema visualizza la relazione blocks nell'interfaccia utente di Jira.

Relation Type

Obbligatorio.

Il tipo di collegamento da creare tra i problemi.

È possibile trovare un elenco dei tipi di relazione disponibili eseguendo l'azione Elenca tipi di relazione.

Il valore predefinito è Blocks.

Output azione

L'azione Link Issues fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Messaggi di output

L'azione Link Issues può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

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

Action non è riuscita a trovare i seguenti problemi di destinazione in Jira: ISSUE_IDS.

L'azione ha avuto successo
Error executing action "Link Issues". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Problemi di collegamento:

Nome del risultato dello script Valore
success true o false

Elenco dei problemi

Utilizza l'azione Elenca problemi per cercare e recuperare un elenco di chiavi di problemi Jira in base a specifici criteri di filtro.

Questa azione è utile per identificare i ticket esistenti che corrispondono a un contesto di avviso, al fine di evitare duplicazioni o per eseguire aggiornamenti in blocco all'interno di un playbook.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Elenca problemi fornisce i seguenti parametri di filtro facoltativi. Se non vengono forniti parametri, l'azione restituisce tutti i problemi accessibili all'utente di integrazione.

Parametro Descrizione
Project Names

Facoltativo.

Un elenco separato da virgole di nomi di progetti in cui eseguire la ricerca.

Summary

Facoltativo.

Se fornito, il filtro dell'azione filtra i problemi in base al riepilogo o al titolo specifico.

Description

Facoltativo.

Se fornito, l'azione filtra i problemi in base al testo contenuto nella descrizione.

Issue Types

Facoltativo.

Un elenco separato da virgole di tipi di problemi (ad esempio, Bug,Task).

Il valore predefinito è Bug.

Priorities

Facoltativo.

Un elenco separato da virgole dei livelli di priorità in base ai quali filtrare (ad esempio, High,Medium).

Created From

Facoltativo.

Se fornito, il filtro per l'azione viene applicato ai problemi creati a partire da questa data (nel formato YYYY/MM/DD).

Updated From

Facoltativo.

Se fornito, il filtro per l'azione viene applicato ai problemi aggiornati a partire da questa data (nel formato YYYY/MM/DD).

Assignees

Facoltativo.

Un elenco separato da virgole di identificatori di assegnatari in base ai quali filtrare.

Reporter

Facoltativo.

Un elenco di identificatori dei reporter separati da virgole in base ai quali filtrare.

Statuses

Facoltativo.

Un elenco separato da virgole di stati dei problemi in base ai quali filtrare (ad esempio, Open,In Progress).

Created Before

Facoltativo.

La data di creazione più recente in base alla quale filtrare. Formato: YYYY/MM/DD o offset relativo (ad esempio, -24h, -7d). Se non viene fornito, il filtro non verrà utilizzato.

Custom JQL

Facoltativo.

Query JQL personalizzata. Se specificato, tutti gli altri filtri verranno ignorati.

Output azione

L'azione Elenca problemi fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output JSON ottenuto utilizzando l'azione List Issues:

[ 
  "PR-123", 
  "PR-124",
  "SEC-789"
]
Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando si utilizza l'azione Elenca problemi:

Nome del risultato dello script Valore
issues Un elenco contenente le chiavi abbreviate univoche dei ticket Jira trovati.

Tipi di relazione di elenco

Utilizza l'azione Elenca tipi di relazione per recuperare un elenco di tutti i tipi di relazione di collegamento disponibili configurati nella tua istanza Jira.

Questa azione è utile per convalidare i valori di input validi per l'azione Problemi di collegamento.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Elenca tipi di relazione richiede i seguenti parametri:

Parametro Descrizione
Filter Key

Facoltativo.

Il campo utilizzato per filtrare i tipi di relazione.

Se la logica di filtro Filter Logic è impostata su Equal o Contains, è necessario selezionare un campo diverso da Select One per evitare un errore di esecuzione.

I valori possibili sono:

  • Name
  • Inward
  • Outward

Il valore predefinito è Select One.

Filter Logic

Facoltativo.

L'operatore logico applicato al filtro.

I valori possibili sono:

  • Not Specified
  • Equal
  • Contains

Il valore predefinito è Not Specified.

Filter Value

Facoltativo.

Il valore stringa specifico utilizzato per il filtraggio in base alla selezione di Filter Key e Filter Logic.

Se non viene specificato alcun valore, il filtro non viene applicato, anche se sono state selezionate una chiave e una logica.

Max Records To Return

Facoltativo.

Il numero massimo di record da restituire nei risultati.

Il valore predefinito è 50.

Output azione

L'azione List Relation Types fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Tabella della bacheca casi

L'azione Elenca tipi di relazione fornisce la seguente tabella:

Nome tabella: Available Relation

Colonne della tabella:

  • Nome
  • Interno
  • Verso l'esterno
Risultato JSON

L'esempio seguente mostra l'output JSON ottenuto utilizzando l'azione List Relation Types:

[{
    "id": "10000",
    "name": "Blocks",
    "inward": "is blocked by",
    "outward": "blocks"
}]
Messaggi di output

L'azione List Relation Types può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully found relation types for the provided criteria in Jira.

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

L'azione è riuscita.
Error executing action "List Relation types". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Elenca tipi di relazione:

Nome del risultato dello script Valore
is_success true o false

Dindin

Utilizza l'azione Ping per testare la connettività a Jira.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

Nessuno.

Output azione

L'azione Ping fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ping:

Nome del risultato dello script Valore
success true o false

Aggiorna problema

Descrizione

Aggiornare un problema. Per la nuova API Jira, l'azione tenta di trovare una corrispondenza per l'assegnatario per assegnare un problema in base all'email dell'utente, quindi riprova con il campo displayName.

Parametri

Parametro Tipo Valore predefinito È obbligatorio Descrizione
Chiave problema Stringa N/D Sì La chiave del problema da aggiornare.
Stato Stringa N/D No Specifica il nome della transizione pertinente per portare il problema al nuovo stato desiderato.
Riepilogo Stringa N/D No Il nuovo riepilogo del problema.
Descrizione Stringa N/D No La nuova descrizione del problema.
Tipo di problema Stringa N/D No Il nuovo tipo di problema.
Assegnatario Stringa N/D No Il nuovo assegnatario del problema.
Nome utente Jira Stringa N/D No Il nome utente Jira dell'autore dell'azione.
Componenti Stringa N/D No

Il campo dei componenti del problema.

Questo parametro accetta più valori come stringa separata da virgole.

Campi personalizzati JSON ND No

Specificare un oggetto JSON contenente tutti i campi e i valori utilizzati durante la creazione del problema.

Nota: Questo parametro ha la priorità e tutti i campi vengono sovrascritti con il valore fornito per questo parametro.

Esempio: {"field":"value"}

Etichette Stringa N/D No

Il campo dei componenti del problema.

Questo parametro accetta più valori come stringa separata da virgole.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
Operazione riuscita Vero/Falso Successo:Falso
Risultato 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
}

Carica allegato

Descrizione

Aggiungi un allegato a un problema.

Parametri

Parametro Tipo Valore predefinito È obbligatorio Descrizione
Chiave problema Stringa N/D Sì Percorsi dei file.
Percorsi dei file Stringa N/D Sì

I percorsi assoluti dei file da caricare, separati da virgole.

Il formato richiesto dipende dal tipo di implementazione:

  • Implementazione SaaS: Il percorso è interno alla piattaforma ospitata, come ad esempio /attachments/.
  • Distribuzione dell'agente remoto: Il percorso deve essere un percorso di directory assoluto e valido sulla macchina locale in cui è installato l'agente remoto. Ad esempio, C:\temp\attachments per Windows o /var/tmp/attachments/ per Linux.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A

Cerca utenti

Cerca utenti in Jira.

Entità

Questa azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
User Email Addresses Optional

Elenco di indirizzi email separati da virgole per i quali restituire gli utenti.

User Names Optional

Elenco di nomi utente separati da virgole per i quali restituire gli utenti.

Project Optional

Nome del progetto in cui cercare gli indirizzi email. Se fornito, viene restituito solo Project Assignable Users.

Output azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca casi N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Risultato JSON Disponibile
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Risultato 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"
   }
 }
]
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

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

Azione riuscita.
Error executing action "Search Users". Reason: ERROR_REASON

Azione non riuscita.

Verifica la connessione al server, i parametri di input o le credenziali.

Configurazione di mappatura del motivo di chiusura

Il parametro Closed Reason Mapping richiede una struttura JSON. È possibile mappare valori statici o passare nomi di campi Jira dinamici (ad esempio, resolution, customfield_10010). Se un motivo dinamico estratto non è valido o è mancante, il job utilizza automaticamente la mappatura Fallback specificata.

Esempio di configurazione JSON:

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

Connettori

Connettore Jira

Descrizione

Recupera i ticket da Jira e inviali a Google SecOps.

Configurare il connettore Jira in Google SecOps

Per istruzioni dettagliate su come configurare un connettore in Google SecOps, vedi Configurazione del connettore.

Parametri del connettore

Utilizza i seguenti parametri per configurare il connettore:

Parametro Descrizione
DeviceProductField

Obbligatorio.

Il nome del campo utilizzato per determinare il prodotto del dispositivo.

Il valore predefinito è device_product.

EventClassId

Facoltativo.

Il nome del campo utilizzato per determinare il nome dell'evento (sottotipo).

Il valore predefinito è name.

PythonProcessTimeout

Obbligatorio.

Il limite di timeout (in secondi) per il processo Python in esecuzione dello script corrente.

Il valore predefinito è 60.

API Root

Obbligatorio.

La radice API dell'istanza Jira.

Il valore predefinito è https://{jira_address}.

Username

Facoltativo.

Il nome utente (indirizzo email) utilizzato per connettersi a Jira.

Il requisito per questo parametro dipende dal metodo di autenticazione scelto:

  • Se fornita, il sistema utilizza l'autenticazione di base.
  • Se lasciato vuoto, il sistema utilizza di default l'autenticazione tramite Bearer Token (necessaria per gli account di servizio).

Per ulteriori informazioni sui metodi di autenticazione, consultare Prima di iniziare.

API Token

Obbligatorio.

Le credenziali di autenticazione utilizzate per connettersi a Jira.

Days Backwards

Facoltativo.

Numero massimo di giorni indietro da cui estrarre gli avvisi.

Il valore predefinito è 5.

Max Tickets Per Cycle

Facoltativo.

Numero massimo di ticket da recuperare ed elaborare in un singolo ciclo del connettore.

Il valore predefinito è 10.

Project Names

Facoltativo.

I nomi dei progetti sono separati da una virgola.

Issue Statuses

Facoltativo.

Gli stati dei problemi sono separati da una virgola.

Assignees

Facoltativo.

I nomi completi degli utenti sono separati da una virgola.

Issue Types

Facoltativo.

Le tipologie di problema sono separate da una virgola.

Issue Priorities

Facoltativo.

Priorità delle questioni separate da una virgola.

Issue Components

Facoltativo.

I componenti del problema devono essere separati da una virgola.

Proxy Server Address

Facoltativo.

L'indirizzo del server proxy da utilizzare.

Proxy Username

Facoltativo.

Il nome utente del proxy per l'autenticazione.

Proxy Password

Facoltativo.

La password del proxy per l'autenticazione.

Environment Field Name

Facoltativo.

Descrive il nome del campo in cui è memorizzato il nome dell'ambiente. Se il campo dell'ambiente non viene trovato, l'ambiente è quello predefinito.

Il valore predefinito è "".

Environment Regex Pattern

Facoltativo.

Un pattern regex da eseguire sul valore trovato nel campo "Nome campo ambiente". Utilizzato per consentire all'utente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Il valore predefinito è .*.

Use Jira Project as Environment

Facoltativo.

Utilizza il progetto Jira come ambiente o utilizza il nome del campo Ambiente come ambiente.

Verify SSL

Obbligatorio.

Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Jira.

Abilitato per impostazione predefinita.

Regole del connettore

Supporto proxy

Il connettore supporta il proxy.

Elenco dinamico e elenco bloccati

Il connettore supporta le regole dinamiche di lista consentita e lista bloccata solo per etichette specifiche all'interno di Jira.

Job

Processo di chiusura della sincronizzazione

Descrizione

Chiudere i ticket in Jira se gli avvisi o i casi Google SecOps corrispondenti sono stati chiusi e sincronizzare lo stato di chiusura e i campi personalizzati da Jira a Google SecOps.

Parametri

Parametro Descrizione
API Root

Obbligatorio.

URL root dell'API dell'istanza Jira.

Il valore predefinito è https://{jira_address}.

Username

Facoltativo.

Il nome utente (indirizzo email) utilizzato per connettersi a Jira.

Il requisito per questo parametro dipende dal metodo di autenticazione scelto:

  • Se fornita, il sistema utilizza l'autenticazione di base.
  • Se lasciato vuoto, il sistema utilizza di default l'autenticazione tramite Bearer Token (necessaria per gli account di servizio).
API Token

Obbligatorio.

Le credenziali di autenticazione utilizzate per connettersi a Jira.

Project Names

Obbligatorio.

Nomi dei progetti Jira separati da virgola che il job deve monitorare.

Il valore predefinito è project names separated by a comma.

Environment

Facoltativo.

Il nome dell'ambiente.

Days Backwards

Obbligatorio.

Numero massimo di giorni per sincronizzare lo stato dei ticket a ritroso.

Il valore predefinito è 1.

Job Scope

Obbligatorio.

Possibilità di coordinamento del lavoro. Opzioni:

  • Case: Sincronizza i ticket Jira a livello di caso. Assicurarsi che il contesto contenga JIRA_ISSUE_KEY.
  • Alert: Sincronizza i ticket Jira al livello di allerta. Per i casi creati tramite connettore, la chiave del ticket Jira viene estratta automaticamente. Per i casi simulati, impostare manualmente la chiave di contesto su JIRA_ISSUE_KEY.

Il valore predefinito è Alert.

Supported Closed Statuses

Obbligatorio.

Elenco di stati di chiusura di Jira separati da virgole e trattati come chiusi in Google SecOps (ad esempio, Done, Closed).

  • SecOps a Jira: Il job utilizza il primo valore nell'elenco (ad esempio, Done) come stato di risoluzione alla chiusura del ticket Jira.
  • Jira to SecOps: Lo stato di chiusura del ticket Jira deve essere presente in questo elenco affinché avvenga la sincronizzazione.

Il valore predefinito è Done.

Closed Reason Mapping

Obbligatorio.

Dizionario JSON che mappa gli stati di chiusura di Jira con i motivi e le cause principali della chiusura in Google SecOps. Supporta la mappatura su campi personalizzati e richiede una chiave Fallback obbligatoria. Per dettagli ed esempi di configurazione, vedi Mappatura del motivo di chiusura e dei campi personalizzati.

Custom Fields Mapping

Facoltativo.

Oggetto JSON che definisce le mappature tra i nomi visualizzati dei campi personalizzati di Google SecOps e i nomi dei campi personalizzati di Jira per la sincronizzazione dei dati da Jira a Google SecOps. Per dettagli ed esempi di configurazione, vedi Mappatura del motivo di chiusura e dei campi personalizzati.

Motivo della chiusura e mappatura dei campi personalizzati

Utilizza i seguenti dettagli ed esempi per configurare mappature personalizzate per i motivi di chiusura e i campi personalizzati.

Mappatura del motivo di chiusura

Definisce come gli stati di chiusura di Jira vengono mappati ai motivi e alle cause principali di chiusura dei casi o degli avvisi di Google SecOps.

  • Esempio di mappatura JSON standard:

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

    Se un ticket Jira si chiude con lo statoDone, il caso o l'avviso di Google SecOps si chiude con il motivoMalicious e la causa principaleOther. Se il ticket viene chiuso con uno stato non esplicitamente mappato (ad esempio, Closed), il sistema imposta automaticamente lo stato Fallback.

  • Esempio di mappatura di campi personalizzati:

    Se in Jira sono presenti campi personalizzati denominati Jira reason e Jira rootcause, configura la mappatura JSON come segue:

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

    Requisiti:

    • Il valore estratto dal campo personalizzato Jira reason deve corrispondere esattamente a una delle seguenti stringhe: Malicious, Maintenance, Inconclusive o Not malicious. Altrimenti, il sistema ritorna ai valori Fallback.
    • Per l'ambito di lavoro Case, i valori della causa principale devono essere configurati nelle impostazioni di amministrazione. Per l'ambito di lavoro Alert, non è richiesta alcuna configurazione amministrativa e qualsiasi valore fornito nel campo personalizzato è accettato.

Mappatura dei campi personalizzati

Questa mappatura serve esclusivamente a sincronizzare i valori dei campi personalizzati da Jira a Google SecOps. Specificare coppie chiave-valore in cui la chiave è il nome visualizzato del campo personalizzato di Google SecOps e il valore è il nome del campo personalizzato di Jira:

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

In questo esempio, il valore del campo Jira Jira ticket id viene sincronizzato direttamente con il campo Google SecOps SOAR Custom field.

Sincronizza i commenti Lavoro

Descrizione

Sincronizza i commenti tra il caso Google SecOps e il ticket Jira corrispondente. La sincronizzazione è bidirezionale, ovvero avviene da Google SecOps a Jira e viceversa.

Quando il processo crea un commento, applica il prefisso. Se un utente di Google SecOps commenta nel caso di Google SecOps, il processo crea e sincronizza il commento dell'utente nel ticket Jira corrispondente utilizzando il parametro Chronicle Comment Prefix.

Questa funzionalità è stata aggiunta per due motivi:

  1. Visibilità.
  2. Impedire che i commenti aggiunti dal processo vengano sincronizzati nuovamente con l'altro lato, evitando così un ciclo infinito.

Parametri

Parametro Descrizione
API Root

Obbligatorio.

URL root dell'API dell'istanza Jira.

Il valore predefinito è https://{jira_address}.

Username

Facoltativo.

Il nome utente (indirizzo email) utilizzato per connettersi a Jira.

Il requisito per questo parametro dipende dal metodo di autenticazione scelto:

  • Se fornita, il sistema utilizza l'autenticazione di base.
  • Se lasciato vuoto, il sistema utilizza di default l'autenticazione tramite Bearer Token (necessaria per gli account di servizio).
API Token

Obbligatorio.

Le credenziali di autenticazione utilizzate per connettersi a Jira.

Project Names

Obbligatorio.

Nomi dei progetti Jira separati da virgola che il job deve monitorare.

Il valore predefinito è project names separated by comma.

Environment

Facoltativo.

Il nome dell'ambiente.

Siemplify Comment Prefix

Obbligatorio.

Prefisso aggiunto dal processo di sincronizzazione ai commenti creati per i ticket Jira.

Il valore predefinito è Google SecOps:.

Jira Comment Prefix

Obbligatorio.

Prefisso aggiunto dal job di sincronizzazione ai commenti del caso di avviso di Google SecOps.

Il valore predefinito è Jira Comment Sync Job:.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.