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}).
- Standard/Basic : URL de base de votre instance Jira (par exemple,
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 :
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.
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).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 :
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, |
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, |
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 |
Summary |
Obligatoire. Un titre ou un résumé succinct du problème. |
Issue Type |
Obligatoire. Le nom du type de problème (tel que |
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 |
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 |
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, 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, |
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, |
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 :
|
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, |
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. |
Problèmes de liens
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 |
Outward Issue IDs |
Obligatoire. Légende abrégée du ticket Jira externe. Par exemple, si |
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 |
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 |
|---|---|
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, La valeur par défaut est |
Priorities |
Facultatif. Une liste de niveaux de priorité séparés par des virgules pour filtrer (par exemple, |
Created From |
Facultatif. Si cette option est fournie, l'action filtre les problèmes créés à partir de cette date (au format |
Updated From |
Facultatif. Si cette option est fournie, l'action filtre les problèmes mis à jour à partir de cette date (au format |
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, |
Created Before |
Facultatif. Date de création la plus récente à utiliser pour le filtrage. Format : |
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 Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Filter Logic |
Facultatif. L'opérateur logique appliqué au filtre. Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Filter Value |
Facultatif. Valeur de chaîne spécifique utilisée pour le filtrage en fonction des 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 |
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 |
|---|---|
|
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 :
|
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 |
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 |
|---|---|
|
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 |
EventClassId |
Facultatif. Nom du champ utilisé pour déterminer le nom (sous-type) de l'événement. La valeur par défaut est |
PythonProcessTimeout |
Obligatoire. Délai avant expiration (en secondes) du processus Python exécutant le script actuel. La valeur par défaut est |
API Root |
Obligatoire. Racine de l'API de l'instance Jira. La valeur par défaut est |
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 :
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 |
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 |
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 |
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 :
|
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 |
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 |
Job Scope |
Obligatoire. Possibilités de synchronisation des emplois. Options :
La valeur par défaut est |
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,
La valeur par défaut est |
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é |
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 raisonMaliciouset la cause premièreOther. Si le ticket se termine avec un statut non explicitement mappé (par exemple,Closed), le système utilise par défaut les paramètresFallback. -
Exemple de mappage de champ personnalisé :
Si vous avez des champs personnalisés dans Jira nommés
Jira reasonetJira 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 reasondoit correspondre à l'une des chaînes exactes suivantes :Malicious,Maintenance,InconclusiveouNot malicious. Sinon, le système revient aux valeursFallback. - 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âcheAlert, aucune configuration d'administrateur n'est requise et toute valeur fournie dans le champ personnalisé est acceptée.
- La valeur extraite du champ personnalisé
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 :
- Visibilité.
- 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 |
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 :
|
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 |
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 |
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 |
Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels Google SecOps.