Intégrer Jira à Google SecOps

Ce document explique comment intégrer Jira à Google Security Operations.

Cas d'utilisation

L'intégration Jira utilise les fonctionnalités Google SecOps pour prendre en charge les cas d'utilisation suivants :

  • Gestion automatisée des tickets : créez automatiquement des problèmes Jira à partir des alertes Google SecOps à l'aide du connecteur Jira pour simplifier le transfert entre les équipes de sécurité et informatiques.

  • Synchronisation bidirectionnelle : assurez la cohérence entre les plates-formes en synchronisant automatiquement les commentaires et les changements d'état entre les tickets Jira et les demandes Google SecOps à l'aide de tâches de synchronisation dédiées.

  • Enrichissement des incidents : joignez des preuves, des journaux et des captures d'écran directement aux problèmes Jira à l'aide de l'action Importer une pièce jointe pour fournir un contexte complet aux responsables de la résolution.

  • Gestion dynamique des tâches : mettez à jour, attribuez ou associez des problèmes Jira directement depuis le playbook Google SecOps pour automatiser les procédures opérationnelles standards (SOP).

Avant de commencer

Avant de configurer l'intégration Jira dans la plate-forme Google SecOps, vérifiez que vous disposez des éléments suivants :

  • Compatibilité des produits : accès à une instance Jira Cloud ou à un environnement Jira Data Center (sur site).

  • Méthode d'authentification : choisissez une méthode d'authentification.

    • Authentification de base (Jira Cloud) : nécessite un nom d'utilisateur (adresse e-mail) et un jeton d'API Atlassian.
    • Authentification par compte de service (Jira Cloud) : nécessite un jeton de compte de service et votre ID Cloud.
    • Authentification standard (Jira Data Center) : nécessite un nom d'utilisateur et un mot de passe valides.
  • URL racine de l'API : le format de la racine de l'API dépend de votre méthode d'authentification.

    • Standard/Basic : URL de base de votre instance Jira (par exemple, https://yourdomain.atlassian.net).
    • Compte de service : URL du proxy d'API Atlassian, qui doit inclure votre ID Cloud (par exemple, https://api.atlassian.com/ex/jira/{cloud_id}).

Configurer l'authentification pour Jira Cloud

Pour vous connecter à Jira Cloud à l'aide d'un jeton d'API, suivez les instructions de la documentation Atlassian pour générer un jeton.

Configurer l'authentification pour les comptes de service

Pour utiliser l'authentification basée sur un jeton (jeton du porteur) pour Jira Cloud :

  1. Pour en savoir plus sur la création d'un compte de service à l'aide de la console d'administration Atlassian, consultez Comprendre les comptes de service.

  2. Pour récupérer votre ID Cloud, accédez à : https://<your_tenant>.atlassian.net/_edge/tenant_info (où <your_tenant> est le nom de votre instance Atlassian spécifique).

  3. Lorsque vous configurez l'intégration, laissez le champ Nom d'utilisateur vide pour déclencher l'authentification par jeton du porteur.

Paramètres d'intégration

L'intégration Jira nécessite les paramètres suivants :

Paramètre Description
Api Root

Obligatoire.

URL de base de l'instance Jira.

Username

Facultatif.

Nom d'utilisateur (adresse e-mail) utilisé pour se connecter à Jira.

L'exigence de ce paramètre dépend de la méthode d'authentification choisie :

  • Si elle est fournie, le système utilise l'authentification de base.
  • Si vous ne renseignez pas ce champ, le système utilise par défaut l'authentification par jeton du porteur (obligatoire pour les comptes de service).

Pour en savoir plus sur les méthodes d'authentification, consultez Avant de commencer.

Api Token

Obligatoire.

Identifiant d'authentification utilisé pour se connecter à Jira.

Ce champ accepte les jetons d'API, les jetons de compte de service ou les mots de passe standards (pour le centre de données).

Verify SSL

Facultatif.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Jira.

Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.

Actions

Pour en savoir plus sur les actions, consultez Répondre aux actions en attente dans Votre bureau et Effectuer une action manuelle.

Ajouter un commentaire

Utilisez l'action Ajouter un commentaire pour composer et ajouter un commentaire à un problème Jira existant.

Il s'agit d'un moyen efficace de documenter les résultats, de fournir des mises à jour et de collaborer directement avec les membres de l'équipe depuis Google SecOps.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Ajouter un commentaire nécessite les paramètres suivants :

Paramètre Description
Issue Key

Obligatoire.

L'identifiant unique du ticket Jira (par exemple, PROJ-123).

Comment

Obligatoire.

Texte à ajouter au ticket Jira.

Sorties d'action

L'action Ajouter un commentaire fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action Ajouter un commentaire :

Nom du résultat du script Valeur
comment_id L'identifiant unique du commentaire nouvellement créé dans Jira.

Attribuer le problème

Utilisez l'action Assign Issue pour assigner un problème Jira à un utilisateur spécifique.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Assign Issue requiert les paramètres suivants :

Paramètre Description
Issue Key

Obligatoire.

L'identifiant unique du ticket Jira (par exemple, PROJ-123).

Assignee

Obligatoire.

Le nom ou l'adresse électronique de l'utilisateur auquel attribuer le problème.

Jira Username

Facultatif.

Le nom d'utilisateur Jira de la personne qui initie l'action d'attribution.

Sorties d'action

L'action Assign Issue fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action Assign Issue :

Nom du résultat du script Valeur
success true ou false

Créer une alerte

Utilisez l'action Créer un problème d'alerte pour créer un nouveau ticket dans Jira pour une alerte spécifique.

Cette action est principalement utilisée dans les scénarios de déploiement pour signaler les incidents de sécurité aux équipes informatiques ou d'ingénierie afin qu'elles puissent mener une enquête plus approfondie ou y remédier.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Créer un problème d'alerte nécessite les paramètres suivants :

Paramètre Description
Project Key

Obligatoire.

La clé abrégée unique du projet Jira dans lequel le problème est créé (par exemple SEC).

Summary

Obligatoire.

Un titre ou un résumé succinct du problème.

Issue Type

Obligatoire.

Le nom du type de problème (tel que Task, Bug ou Incident).

Sorties d'action

L'action Créer un problème d'alerte fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant illustre le résultat JSON reçu lorsqu'une action crée un problème avec succès :

{
   "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"
}
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action Créer un problème d'alerte :

Nom du résultat du script Valeur
issue_key Clé abrégée unique du problème Jira nouvellement créé (par exemple, SEC-456).

Créer un problème

Utilisez l'action Créer un problème pour créer un nouveau ticket dans un projet Jira.

Cette action offre de nombreuses options de personnalisation, notamment la possibilité de spécifier des composants, des étiquettes et des champs personnalisés à l'aide de JSON, ce qui la rend adaptée aux flux de travail complexes de création de tickets.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Créer un problème nécessite les paramètres suivants :

Paramètre Description
Project Key

Obligatoire.

La clé abrégée unique du projet Jira dans lequel le problème est créé (par exemple SEC).

Summary

Obligatoire.

Un titre ou un résumé succinct du problème.

Description

Facultatif.

Une description détaillée du problème.

Issue Type

Obligatoire.

Le nom du type de problème (tel que Task, Bug ou Incident).

Jira Username

Facultatif.

Le nom d'utilisateur Jira de la personne à l'origine de l'action.

Assignee

Facultatif.

L'identifiant de l'utilisateur auquel le problème est attribué.

Components

Facultatif.

Liste, séparée par des virgules, des composants Jira à associer au problème.

Labels

Facultatif.

Liste d'étiquettes à ajouter au problème, séparées par des virgules.

Custom Fields

Facultatif.

Un objet JSON contenant des champs et des valeurs supplémentaires à définir lors de la création (par exemple, {"customfield_10001": "Value"}).

Les valeurs fournies dans ce paramètre sont prioritaires et remplacent les autres correspondances de champs en cas de conflit.

Sorties d'action

L'action Créer un problème fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant illustre le résultat JSON obtenu lors de l'utilisation de l'action Créer un problème :

{
   "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
   }
}
Résultat du script

Le tableau suivant liste la valeur de la sortie du résultat du script lorsque vous utilisez l'action Créer un problème :

Nom du résultat du script Valeur
issue_key Clé abrégée unique du problème Jira nouvellement créé (par exemple, SEC-789).

Supprimer le problème

Utilisez l'action Supprimer le problème pour supprimer définitivement un problème de Jira.

Cette action est généralement utilisée pour supprimer les tickets en double ou les données de test générées lors du développement du playbook.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Supprimer le problème nécessite les paramètres suivants :

Paramètre Description
Issue Key

Obligatoire.

Clé abrégée unique du problème Jira à supprimer (par exemple, SEC-123).

Sorties d'action

L'action Supprimer le problème fournit les sorties suivantes :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Supprimer le problème :

Nom du résultat du script Valeur
success true ou false

Télécharger les pièces jointes

Utilisez l'action Télécharger les pièces jointes pour récupérer tous les fichiers joints à un problème Jira spécifique. Si une pièce jointe est un fichier .eml, l'action télécharge également tous les fichiers contenus dans cet e-mail.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Télécharger les pièces jointes nécessite les paramètres suivants :

Paramètre Description
Issue Key

Obligatoire.

Clé abrégée unique du problème Jira (par exemple, SEC-123).

Download Path

Facultatif.

Chemin d'accès local ou interne au dossier dans lequel l'action enregistre les pièces jointes téléchargées.

Le format requis dépend de votre type de déploiement :

  • Déploiement SaaS : le chemin d'accès est interne à la plate-forme hébergée, par exemple /attachments/.
  • Déploiement de l'agent à distance : le chemin d'accès doit être un chemin d'accès absolu et valide vers un répertoire sur la machine locale sur laquelle l'agent à distance est installé. Par exemple, C:\temp\attachments pour Windows ou /var/tmp/attachments/ pour Linux.
Download Attachments to the Case Wall

Facultatif.

Si cette option est sélectionnée, l'action télécharge les pièces jointes du problème Jira directement sur le mur des cas Google SecOps actuel.

La taille des pièces jointes ajoutées au mur des cas est limitée. L'importation de fichiers volumineux peut échouer.

Désactivé par défaut

Sorties d'action

L'action Télécharger les pièces jointes fournit les sorties suivantes :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Télécharger les pièces jointes :

[
  {
    "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"
    }
  }
]
Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Télécharger les pièces jointes :

Nom du résultat du script Valeur
is_success true ou false

Obtenir les problèmes

Utilisez l'action Obtenir les problèmes pour récupérer tous les détails d'un ou plusieurs problèmes Jira.

Cette action est utile pour enrichir les dossiers Google SecOps avec les métadonnées actuelles des tickets (telles que le statut, le responsable et la priorité).

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Obtenir les problèmes nécessite les paramètres suivants :

Paramètre Description
Issue Keys

Obligatoire.

Une liste de clés de tickets Jira à récupérer, séparées par des virgules (par exemple, SEC-123, SEC-456).

Sorties d'action

L'action Obtenir les problèmes fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant illustre le résultat JSON obtenu lors de l'utilisation de l'action 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": []
    }
  ]
}
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action Get Issues :

Nom du résultat du script Valeur
issues_details_list Une liste contenant l'intégralité des métadonnées des tickets Jira demandés.

Utilisez l'action Lier les problèmes pour établir une relation entre plusieurs problèmes Jira.

Cette action est principalement utilisée dans les playbooks pour relier des incidents de sécurité connexes ou pour suivre les dépendances entre les tickets d'enquête.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Link Issues requiert les paramètres suivants :

Paramètre Description
Inward Issue ID

Obligatoire.

Liste d'identifiants d'émissions entrantes séparés par des virgules.

Par exemple, si Relation Type est défini sur Blocks, ce problème affiche la relation is blocked by dans l'interface utilisateur de Jira.

Outward Issue IDs

Obligatoire.

Légende abrégée du ticket Jira externe.

Par exemple, si Relation Type est défini sur Blocks, ce problème affiche la relation blocks dans l'interface utilisateur de Jira.

Relation Type

Obligatoire.

Le type de lien à créer entre les problèmes.

Vous pouvez trouver une liste des types de relations disponibles en exécutant l'action List Relation Types.

La valeur par défaut est Blocks.

Sorties d'action

L'action Link Issues fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Messages de sortie

L'action Link Issues peut renvoyer les messages de sortie suivants :

Message de sortie Description du message

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

L'action n'a pas pu trouver les problèmes de destination suivants dans Jira : ISSUE_IDS.

L'action a réussi
Error executing action "Link Issues". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action Link Issues :

Nom du résultat du script Valeur
success true ou false

Liste des problèmes

Utilisez l'action List Issues pour rechercher et récupérer une liste de clés de problèmes Jira en fonction de critères de filtrage spécifiques.

Cette action est utile pour identifier les tickets existants qui correspondent à un contexte d'alerte afin d'éviter les doublons ou pour effectuer des mises à jour en masse au sein d'un playbook.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action List Issues fournit les paramètres de filtrage optionnels suivants. Si aucun paramètre n'est fourni, l'action renvoie tous les éléments accessibles à l'utilisateur de l'intégration.

Paramètre Description
Project Names

Facultatif.

Liste de noms de projets, séparés par des virgules, dans laquelle effectuer la recherche.

Summary

Facultatif.

Si cette option est disponible, l'action filtre les problèmes en fonction du résumé ou du titre spécifique.

Description

Facultatif.

Si cette option est fournie, l'action filtre les problèmes en fonction du texte contenu dans la description.

Issue Types

Facultatif.

Une liste de types de problèmes séparés par des virgules (par exemple, Bug,Task).

La valeur par défaut est Bug.

Priorities

Facultatif.

Une liste de niveaux de priorité séparés par des virgules pour filtrer (par exemple, High,Medium).

Created From

Facultatif.

Si cette option est fournie, l'action filtre les problèmes créés à partir de cette date (au format YYYY/MM/DD).

Updated From

Facultatif.

Si cette option est fournie, l'action filtre les problèmes mis à jour à partir de cette date (au format YYYY/MM/DD).

Assignees

Facultatif.

Liste d'identifiants de destinataires séparés par des virgules, à utiliser pour le filtrage.

Reporter

Facultatif.

Liste d'identifiants de journalistes séparés par des virgules, à utiliser pour le filtrage.

Statuses

Facultatif.

Une liste de statuts de problèmes séparés par des virgules pour filtrer (par exemple, Open,In Progress).

Created Before

Facultatif.

Date de création la plus récente à utiliser pour le filtrage. Format : YYYY/MM/DD ou décalage relatif (par exemple, -24h, -7d). Si ce format n’est pas fourni, le filtre ne sera pas appliqué.

Custom JQL

Facultatif.

Requête JQL personnalisée. Si des filtres sont fournis, tous les autres seront ignorés.

Sorties d'action

L'action List Issues fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant illustre le résultat JSON obtenu lors de l'utilisation de l'action List Issues :

[ 
  "PR-123", 
  "PR-124",
  "SEC-789"
]
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action List Issues :

Nom du résultat du script Valeur
issues Une liste contenant les clés abrégées uniques des tickets Jira trouvés.

Types de relations de liste

Utilisez l'action List Relation Types pour récupérer une liste de tous les types de relations de liens disponibles configurés dans votre instance Jira.

Cette action est utile pour valider les valeurs d'entrée valides pour l'action Link Issues.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action List Relation Types requiert les paramètres suivants :

Paramètre Description
Filter Key

Facultatif.

Le champ utilisé pour filtrer les types de relations.

Si la logique de filtre est définie sur Equal ou Contains, vous devez sélectionner un champ autre que Select One pour éviter une erreur d'exécution.

Les valeurs possibles sont les suivantes :

  • Name
  • Inward
  • Outward

La valeur par défaut est Select One.

Filter Logic

Facultatif.

L'opérateur logique appliqué au filtre.

Les valeurs possibles sont les suivantes :

  • Not Specified
  • Equal
  • Contains

La valeur par défaut est Not Specified.

Filter Value

Facultatif.

Valeur de chaîne spécifique utilisée pour le filtrage en fonction des Filter Key et Filter Logic sélectionnés.

Si aucune valeur n'est fournie, le filtre n'est pas appliqué, même si une clé et une logique sont sélectionnées.

Max Records To Return

Facultatif.

Nombre maximal d'enregistrements à renvoyer dans les résultats.

La valeur par défaut est 50.

Sorties d'action

L'action Lister les types de relations fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Tableau du mur des cas

L'action Lister les types de relations fournit le tableau suivant :

Nom de la table : Available Relation

Colonnes du tableau :

  • Nom
  • Vers l'intérieur
  • Outward
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action List Relation Types (Lister les types de relations) :

[{
    "id": "10000",
    "name": "Blocks",
    "inward": "is blocked by",
    "outward": "blocks"
}]
Messages de sortie

L'action Lister les types de relations peut renvoyer les messages de sortie suivants :

Message de sortie Description du message

Successfully found relation types for the provided criteria in Jira.

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

L'action a réussi.
Error executing action "List Relation types". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lors de l'utilisation de l'action List Relation Types :

Nom du résultat du script Valeur
is_success true ou false

Ping

Utilisez l'action Ping pour tester la connectivité à Jira.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

Aucune.

Sorties d'action

L'action Ping fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du mur des cas Non disponible
Lien vers le mur des cas Non disponible
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lorsque vous utilisez l'action Ping :

Nom du résultat du script Valeur
success true ou false

Problème de mise à jour

Description

Mettre à jour un problème. Pour la nouvelle API Jira, l'action tente de trouver une correspondance pour l'assignataire afin d'attribuer un problème en fonction de l'adresse e-mail de l'utilisateur, puis essaie avec le champ displayName.

Paramètres

Paramètre Type Valeur par défaut Obligatoire Description
Clé d'émission Chaîne N/A Oui Le point clé à mettre à jour.
État Chaîne N/A Non Spécifiez le nom de transition approprié pour faire passer ce problème au nouveau statut souhaité.
Résumé Chaîne N/A Non Nouveau résumé du problème.
Description Chaîne N/A Non Nouvelle description du problème.
Type de problème Chaîne N/A Non Le nouveau type de problème.
Personne responsable Chaîne N/A Non Le nouveau cessionnaire de cette question.
Nom d'utilisateur Jira Chaîne N/A Non Nom d'utilisateur Jira de l'initiateur de l'action.
Composants Chaîne N/A Non

Le champ des composants du problème.

Ce paramètre accepte plusieurs valeurs sous forme de chaîne séparée par une virgule.

Champs personnalisés JSON N/A Non

Spécifiez un objet JSON contenant tous les champs et valeurs utilisés lors de la création d'un problème.

Remarque : Ce paramètre est prioritaire et tous les champs sont écrasés par la valeur fournie pour ce paramètre.

Exemple : {"field":"value"}

Étiquettes Chaîne N/A Non

Le champ des composants du problème.

Ce paramètre accepte plusieurs valeurs sous forme de chaîne séparée par une virgule.

Exécuter sur

Cette action s'applique à toutes les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
Opération réussie Vrai/Faux Succès : Faux
Résultat 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
}

Joindre une pièce jointe

Description

Ajouter une pièce jointe à un problème.

Paramètres

Paramètre Type Valeur par défaut Obligatoire Description
Clé d'émission Chaîne N/A Oui Chemins d'accès aux fichiers.
Chemins des fichiers Chaîne N/A Oui

Chemins d'accès absolus des fichiers à télécharger, séparés par des virgules.

Le format requis dépend de votre type de déploiement :

  • Déploiement SaaS : le chemin d'accès est interne à la plate-forme hébergée, par exemple /attachments/.
  • Déploiement de l'agent à distance : le chemin d'accès doit être un chemin d'accès absolu et valide vers un répertoire sur la machine locale sur laquelle l'agent à distance est installé. Par exemple, C:\temp\attachments pour Windows ou /var/tmp/attachments/ pour Linux.

Exécuter sur

Cette action s'applique à toutes les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
N/A

Rechercher des utilisateurs

Rechercher des utilisateurs dans Jira.

Entités

Cette action ne s'applique pas aux entités.

Entrées d'action

Pour configurer l'action, utilisez les paramètres suivants :

Paramètres
User Email Addresses Optional

Liste d'adresses électroniques séparées par des virgules pour lesquelles retourner les utilisateurs.

User Names Optional

Liste de noms d'utilisateur séparés par des virgules pour lesquels retourner les utilisateurs.

Project Optional

Nom du projet dans lequel rechercher les adresses e-mail. Si fourni, seul Project Assignable Users est renvoyé.

Sorties d'action

Type de sortie de l'action
Pièce jointe du mur des cas N/A
Lien vers le mur des cas N/A
Tableau du mur des cas N/A
Table d'enrichissement N/A
Résultat JSON Disponible
Résultat du script Disponible
Résultat du script
Nom du résultat du script Valeur
is_success Vrai/Faux
Résultat 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"
   }
 }
]
Mur des cas

L'action fournit les messages de sortie suivants :

Message de sortie Description du message

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

Action effectuée.
Error executing action "Search Users". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les informations d'identification.

Configuration du mappage des motifs de clôture

Le paramètre Closed Reason Mapping nécessite une structure JSON. Vous pouvez mapper des valeurs statiques ou transmettre des noms de champs Jira dynamiques (par exemple, resolution, customfield_10010). Si une raison dynamique extraite n'est pas valide ou est manquante, le job utilise automatiquement le mappage Fallback spécifié.

Exemple de configuration JSON :

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

Connecteurs

Connecteur Jira

Description

Récupérez les problèmes de Jira dans Google SecOps.

Configurer le connecteur Jira dans Google SecOps

Pour obtenir des instructions détaillées sur la configuration d'un connecteur dans Google SecOps, consultez Configurer le connecteur.

Paramètres du connecteur

Utilisez les paramètres suivants pour configurer le connecteur :

Paramètre Description
DeviceProductField

Obligatoire.

Nom du champ utilisé pour déterminer le produit de l'appareil.

La valeur par défaut est device_product.

EventClassId

Facultatif.

Nom du champ utilisé pour déterminer le nom (sous-type) de l'événement.

La valeur par défaut est name.

PythonProcessTimeout

Obligatoire.

Délai avant expiration (en secondes) du processus Python exécutant le script actuel.

La valeur par défaut est 60.

API Root

Obligatoire.

Racine de l'API de l'instance Jira.

La valeur par défaut est https://{jira_address}.

Username

Facultatif.

Nom d'utilisateur (adresse e-mail) utilisé pour se connecter à Jira.

L'exigence de ce paramètre dépend de la méthode d'authentification choisie :

  • Si elle est fournie, le système utilise l'authentification de base.
  • Si vous ne renseignez pas ce champ, le système utilise par défaut l'authentification par jeton du porteur (obligatoire pour les comptes de service).

Pour en savoir plus sur les méthodes d'authentification, consultez Avant de commencer.

API Token

Obligatoire.

Identifiant d'authentification utilisé pour se connecter à Jira.

Days Backwards

Facultatif.

Nombre maximal de jours en arrière pour extraire les alertes.

La valeur par défaut est 5.

Max Tickets Per Cycle

Facultatif.

Nombre maximal de tickets à récupérer et à traiter lors d'un cycle de connecteur.

La valeur par défaut est 10.

Project Names

Facultatif.

Noms de projets séparés par une virgule.

Issue Statuses

Facultatif.

États des problèmes séparés par une virgule.

Assignees

Facultatif.

Noms complets des utilisateurs, séparés par une virgule.

Issue Types

Facultatif.

Types de problèmes séparés par une virgule.

Issue Priorities

Facultatif.

Priorités des problèmes, séparées par une virgule.

Issue Components

Facultatif.

Composants du problème séparés par une virgule.

Proxy Server Address

Facultatif.

Adresse du serveur proxy à utiliser.

Proxy Username

Facultatif.

Nom d'utilisateur du proxy pour l'authentification.

Proxy Password

Facultatif.

Mot de passe du proxy pour l'authentification.

Environment Field Name

Facultatif.

Décrit le nom du champ dans lequel le nom de l'environnement est stocké. Si le champ d'environnement n'est pas trouvé, l'environnement est celui par défaut.

La valeur par défaut est "".

Environment Regex Pattern

Facultatif.

Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ "Nom du champ d'environnement". Permet à l'utilisateur de manipuler le champ "environment" à l'aide d'une logique d'expression régulière.

La valeur par défaut est .*.

Use Jira Project as Environment

Facultatif.

Utilisez le projet Jira comme environnement ou utilisez le nom du champ d'environnement comme environnement.

Verify SSL

Obligatoire.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Jira.

Cette option est activée par défaut.

Règles du connecteur

Assistance de proxy

Le connecteur est compatible avec le proxy.

Listes dynamiques et listes de blocage

Le connecteur n'est compatible avec les règles de listes d'autorisation et de blocage dynamiques que pour certains libellés dans Jira.

Jobs

Tâche de clôture de la synchronisation

Description

Fermez les tickets dans Jira si les alertes ou les demandes Google SecOps correspondantes ont été clôturées, et synchronisez l'état de clôture et les champs personnalisés de Jira vers Google SecOps.

Paramètres

Paramètre Description
API Root

Obligatoire.

URL racine de l'API de l'instance Jira.

La valeur par défaut est https://{jira_address}.

Username

Facultatif.

Nom d'utilisateur (adresse e-mail) utilisé pour se connecter à Jira.

L'exigence de ce paramètre dépend de la méthode d'authentification choisie :

  • Si elle est fournie, le système utilise l'authentification de base.
  • Si vous ne renseignez pas ce champ, le système utilise par défaut l'authentification par jeton du porteur (obligatoire pour les comptes de service).
API Token

Obligatoire.

Identifiant d'authentification utilisé pour se connecter à Jira.

Project Names

Obligatoire.

Noms des projets Jira séparés par une virgule que le job doit surveiller.

La valeur par défaut est project names separated by a comma.

Environment

Facultatif.

Le nom de l'environnement.

Days Backwards

Obligatoire.

Nombre maximal de jours pour la synchronisation rétrospective du statut des tickets.

La valeur par défaut est 1.

Job Scope

Obligatoire.

Possibilités de synchronisation des emplois. Options :

  • Case: Synchronise les tickets Jira au niveau du cas. Assurez-vous que le contexte contienne JIRA_ISSUE_KEY.
  • Alert: Synchronise les tickets Jira au niveau de l'alerte. Pour les cas créés par le connecteur, la clé du ticket Jira est extraite automatiquement. Pour les cas simulés, définissez manuellement la clé de contexte sur JIRA_ISSUE_KEY.

La valeur par défaut est Alert.

Supported Closed Statuses

Obligatoire.

Liste séparée par des virgules des statuts Jira fermés traités comme fermés dans Google SecOps (par exemple, Done, Closed).

  • SecOps vers Jira: La tâche utilise la première valeur de la liste (par exemple, Done) comme statut de résolution lors de la fermeture du ticket Jira.
  • Jira vers SecOps: Le statut de clôture du ticket Jira doit exister dans cette liste pour que la synchronisation ait lieu.

La valeur par défaut est Done.

Closed Reason Mapping

Obligatoire.

Dictionnaire JSON associant les statuts de fermeture Jira aux raisons de fermeture et aux causes profondes de Google SecOps. Prend en charge le mappage vers des champs personnalisés et nécessite une clé Fallback obligatoire. Pour obtenir des exemples et des informations sur la configuration, consultez Mappage des motifs de clôture et des champs personnalisés.

Custom Fields Mapping

Facultatif.

Objet JSON définissant les mappages entre les noms à afficher des champs personnalisés Google SecOps et les noms des champs personnalisés Jira pour la synchronisation des données de Jira vers Google SecOps. Pour obtenir des exemples et des informations sur la configuration, consultez Mappage des motifs de clôture et des champs personnalisés.

Mappage des raisons de clôture et des champs personnalisés

Utilisez les détails et exemples suivants pour configurer des mappages personnalisés pour les motifs fermés et les champs personnalisés.

Mappage de raison fermée

Définit comment les statuts de clôture Jira correspondent aux raisons et aux causes profondes de la clôture des cas ou des alertes Google SecOps.

  • Exemple de mappage JSON standard :

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

    Si un ticket Jira est clôturé avec l'état Done, la demande ou l'alerte Google SecOps est clôturée avec la raison Malicious et la cause première Other. Si le ticket se termine avec un statut non explicitement mappé (par exemple, Closed), le système utilise par défaut les paramètres Fallback.

  • Exemple de mappage de champ personnalisé :

    Si vous avez des champs personnalisés dans Jira nommés Jira reason et Jira rootcause, configurez le mappage JSON comme suit :

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

    Exigences :

    • La valeur extraite du champ personnalisé Jira reason doit correspondre à l'une des chaînes exactes suivantes : Malicious, Maintenance, Inconclusive ou Not malicious. Sinon, le système revient aux valeurs Fallback.
    • Pour la portée de la tâche Case, les valeurs de la cause racine doivent être configurées dans les paramètres d'administration. Pour le champ d'application de tâche Alert, aucune configuration d'administrateur n'est requise et toute valeur fournie dans le champ personnalisé est acceptée.

Mappage des champs personnalisés

Ce mappage sert exclusivement à synchroniser les valeurs des champs personnalisés de Jira avec Google SecOps. Spécifiez des paires clé/valeur où la clé correspond au nom à afficher du champ personnalisé Google SecOps et la valeur correspond au nom du champ personnalisé Jira :

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

Dans cet exemple, la valeur du champ Jira Jira ticket id est synchronisée directement avec le champ Google SecOps SOAR Custom field.

Tâche de synchronisation des commentaires

Description

Synchronisez les commentaires entre la demande Google SecOps et le ticket Jira correspondant. La synchronisation est bidirectionnelle, c'est-à-dire de Google SecOps vers Jira et de Jira vers Google SecOps.

Lorsque le job crée un commentaire, il applique le préfixe. Si un utilisateur Google SecOps ajoute un commentaire dans la demande Google SecOps, le job crée et synchronise le commentaire de l'utilisateur dans le ticket Jira correspondant à l'aide du paramètre Préfixe de commentaire Chronicle.

Cette fonctionnalité a été ajoutée pour deux raisons :

  1. Visibilité.
  2. Empêchez les commentaires ajoutés par le job d'être à nouveau synchronisés de l'autre côté, ce qui pourrait entraîner une boucle.

Paramètres

Paramètre Description
API Root

Obligatoire.

URL racine de l'API de l'instance Jira.

La valeur par défaut est https://{jira_address}.

Username

Facultatif.

Nom d'utilisateur (adresse e-mail) utilisé pour se connecter à Jira.

L'exigence de ce paramètre dépend de la méthode d'authentification choisie :

  • Si elle est fournie, le système utilise l'authentification de base.
  • Si vous ne renseignez pas ce champ, le système utilise par défaut l'authentification par jeton du porteur (obligatoire pour les comptes de service).
API Token

Obligatoire.

Identifiant d'authentification utilisé pour se connecter à Jira.

Project Names

Obligatoire.

Noms des projets Jira séparés par une virgule que le job doit surveiller.

La valeur par défaut est project names separated by comma.

Environment

Facultatif.

Le nom de l'environnement.

Siemplify Comment Prefix

Obligatoire.

Préfixe ajouté par le job de synchronisation aux commentaires créés pour les tickets Jira.

La valeur par défaut est Google SecOps:.

Jira Comment Prefix

Obligatoire.

Préfixe ajouté par la tâche de synchronisation aux commentaires du dossier d'alerte Google SecOps.

La valeur par défaut est Jira Comment Sync Job:.

Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels Google SecOps.