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 de Google SecOps pour prendre en charge les cas d'utilisation suivants :
Création automatique de tickets : créez automatiquement des tickets Jira à partir des alertes Google SecOps à l'aide du connecteur Jira pour simplifier le transfert entre les équipes de sécurité et d'informatique.
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 jobs de synchronisation dédiés.
Enrichissement des incidents : joignez des preuves, des journaux et des captures d'écran directement aux demandes Jira à l'aide de l'action Importer une pièce jointe pour fournir un contexte complet aux personnes chargées de la correction.
Gestion dynamique des tâches : mettez à jour, attribuez ou associez des tickets Jira associés directement depuis le playbook Google SecOps pour automatiser les procédures d'exploitation standards.
Avant de commencer
Avant de configurer l'intégration de 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 de l'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 de support) 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.
Récupérez votre ID Cloud en accédant à :
https://<your_tenant>.atlassian.net/_edge/tenant_info(où<your_tenant>est le nom de votre instance Atlassian spécifique).Lors de la configuration de l'intégration, laissez le champ Username (Nom d'utilisateur) vide pour déclencher l'authentification par jeton de support.
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 Data Center). |
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 savoir comment configurer une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement si nécessaire. Après avoir configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour en savoir plus sur la configuration et la prise en charge de plusieurs instances, consultez Prendre en charge plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis votre bureau et Exécuter une action manuelle dans votre demande.
Ajouter un commentaire
Utilisez l'action Ajouter un commentaire pour rédiger et ajouter un commentaire à une demande Jira existante.
C'est un moyen efficace de documenter les résultats, de fournir des informations et de collaborer avec les membres de l'équipe directement depuis Google SecOps.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Ajouter un commentaire nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Issue Key |
Obligatoire. Identifiant unique du problème Jira (par exemple, |
Comment |
Obligatoire. Texte à ajouter au problème Jira. |
Sorties de l'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 liste la valeur de la sortie du résultat du script lorsque vous utilisez l'action Ajouter un commentaire :
| Nom du résultat du script | Valeur |
|---|---|
comment_id |
Identifiant unique du commentaire récemment créé dans Jira. |
Attribuer un problème
Utilisez l'action Attribuer un problème pour attribuer un problème Jira à un utilisateur spécifique.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Attribuer un problème nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Issue Key |
Obligatoire. Identifiant unique du problème Jira (par exemple, |
Assignee |
Obligatoire. Nom ou adresse e-mail de l'utilisateur auquel attribuer le problème. |
Jira Username |
Facultatif. Nom d'utilisateur Jira de la personne qui lance l'action d'attribution. |
Sorties de l'action
L'action Attribuer 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 | 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 Attribuer un problème :
| Nom du résultat du script | Valeur |
|---|---|
success |
true ou false |
Créer un problème d'alerte
Utilisez l'action Créer un problème d'alerte pour créer un ticket dans Jira pour une alerte spécifique.
Cette action est principalement utilisée dans les playbooks pour transmettre les incidents de sécurité aux équipes informatiques ou d'ingénierie afin qu'elles les examinent ou les corrigent.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Créer un problème d'alerte nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Project Key |
Obligatoire. 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é bref du problème. |
Issue Type |
Obligatoire. Nom du type de problème (par exemple, |
Sorties de l'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 montre le résultat JSON reçu lorsque l'action crée un problème :
{
"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 liste la valeur de la sortie du résultat du script lorsque vous utilisez 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 ticket dans un projet Jira.
Cette action offre de nombreuses options de personnalisation, y compris 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 workflows de création de tickets complexes.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Créer un problème nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Project Key |
Obligatoire. 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é bref du problème. |
Description |
Facultatif. Description détaillée du problème |
Issue Type |
Obligatoire. Nom du type de problème (par exemple, |
Jira Username |
Facultatif. Nom d'utilisateur Jira de la personne qui lance l'action. |
Assignee |
Facultatif. Identifiant de l'utilisateur auquel le problème est attribué. |
Components |
Facultatif. Liste de composants Jira à associer au problème, séparés par une virgule. |
Labels |
Facultatif. Liste de libellés séparés par une virgule à ajouter au problème. |
Custom Fields |
Facultatif. 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 écrasent les autres mappages de champs en cas de conflit. |
Sorties de l'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 montre le résultat JSON reçu 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 lors de l'utilisation de 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 nettoyer les demandes en double ou supprimer les données de test générées lors du développement du playbook.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Supprimer un problème nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Issue Key |
Obligatoire. Clé abrégée unique de la demande Jira à supprimer (par exemple, |
Sorties de l'action
L'action Supprimer 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 | 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 un 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 à une demande 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'exécute pas sur les entités Google SecOps.
Entrées de l'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 de la demande 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 de l'action
L'action Télécharger les pièces jointes fournit les résultats suivants :
| 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 liste la valeur de la sortie du résultat du script lors de l'utilisation de 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 de plusieurs problèmes Jira.
Cette action est utile pour enrichir les demandes Google SecOps avec les métadonnées actuelles du ticket (comme l'état, la personne responsable et la priorité).
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Obtenir les problèmes nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Issue Keys |
Obligatoire. Liste de clés de problème Jira à récupérer, séparées par une virgule (par exemple, |
Sorties de l'action
L'action Get Issues (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 montre le résultat JSON reçu lors de l'utilisation de l'action Get Issues (Obtenir les problèmes) :
{
"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 de la sortie du résultat du script lors de l'utilisation de l'action Get Issues (Obtenir les problèmes) :
| Nom du résultat du script | Valeur |
|---|---|
issues_details_list |
Liste contenant les métadonnées complètes des demandes Jira demandées. |
Problèmes de lien
Utilisez l'action Associer des problèmes pour établir une relation entre plusieurs problèmes Jira.
Cette action est principalement utilisée dans les playbooks pour associer des incidents de sécurité connexes ou pour suivre les dépendances entre les tickets d'investigation.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Associer des problèmes nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Inward Issue ID |
Obligatoire. Liste d'ID de problèmes entrants séparés par une virgule. Par exemple, si |
Outward Issue IDs |
Obligatoire. Clé abrégée du problème Jira sortant. Par exemple, si |
Relation Type |
Obligatoire. Type de lien à créer entre les problèmes. Vous pouvez trouver la liste des types de relations disponibles en exécutant l'action Lister les types de relations. La valeur par défaut est |
Sorties de l'action
L'action Associer des 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 |
Messages de sortie
L'action Associer des problèmes 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 liste la valeur de la sortie du résultat du script lorsque vous utilisez l'action Associer des problèmes :
| Nom du résultat du script | Valeur |
|---|---|
success |
true ou false |
Lister les problèmes
Utilisez l'action Lister les problèmes 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 demandes existantes qui correspondent à un contexte d'alerte afin d'éviter les doublons ou d'effectuer des mises à jour groupées dans un playbook.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Lister les problèmes fournit les paramètres de filtrage facultatifs suivants. Si aucun paramètre n'est fourni, l'action renvoie tous les problèmes accessibles par l'utilisateur de l'intégration.
| Paramètre | Description |
|---|---|
Project Names |
Facultatif. Liste de noms de projets dans lesquels effectuer la recherche, séparés par une virgule. |
Summary |
Facultatif. Si elle est fournie, l'action filtre les problèmes en fonction du résumé ou du titre spécifique. |
Description |
Facultatif. Si elle est fournie, l'action filtre les problèmes en fonction du texte contenu dans la description. |
Issue Types |
Facultatif. Liste de types de problèmes séparés par une virgule (par exemple, La valeur par défaut est |
Priorities |
Facultatif. Liste de niveaux de priorité séparés par une virgule (par exemple, |
Created From |
Facultatif. Si elle est fournie, l'action filtre les problèmes créés à partir de cette date (au format |
Updated From |
Facultatif. Si elle est fournie, l'action filtre les problèmes mis à jour à cette date ou après (au format |
Assignees |
Facultatif. Liste d'identifiants de cessionnaires séparés par une virgule, à utiliser pour le filtrage. |
Reporter |
Facultatif. Liste d'identifiants de rapporteurs séparés par une virgule, à utiliser pour le filtrage. |
Statuses |
Facultatif. Liste d'états de problème à utiliser pour le filtrage, séparés par une virgule (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 vous en fournissez un, tous les autres filtres seront ignorés. |
Sorties de l'action
L'action Lister 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 montre le résultat JSON reçu lors de l'utilisation de l'action Lister les problèmes :
[
"PR-123",
"PR-124",
"SEC-789"
]
Résultat du script
Le tableau suivant liste la valeur de la sortie du résultat du script lors de l'utilisation de l'action Lister les problèmes :
| Nom du résultat du script | Valeur |
|---|---|
issues |
Liste contenant les clés abrégées uniques des problèmes Jira trouvés. |
Lister les types de relations
Utilisez l'action Lister les types de relations pour récupérer la 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 de l'action Associer des problèmes.
Cette action ne s'exécute pas sur les entités Google SecOps.
Entrées de l'action
L'action Lister les types de relations nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Filter Key |
Facultatif. 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. 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 valeurs 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 de l'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 d'un tableau :
- Nom
- Inward
- Outward
Résultat JSON
L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action 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 liste la valeur de la sortie du résultat du script lors de l'utilisation de l'action Lister les types de relations :
| 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'exécute pas sur les entités Google SecOps.
Entrées de l'action
Aucune.
Sorties de l'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 de la sortie du résultat du script lorsque vous utilisez l'action Ping :
| Nom du résultat du script | Valeur |
|---|---|
success |
true ou false |
Mettre à jour un problème
Description
Mettre à jour un problème. Pour la nouvelle API Jira, l'action tente de trouver une correspondance pour le cessionnaire afin d'attribuer un problème en fonction de l'adresse e-mail de l'utilisateur, puis tente d'utiliser le champ displayName.
Paramètres
| Paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Clé du problème | Chaîne | N/A | Oui | Clé du problème à mettre à jour. |
| État | Chaîne | N/A | Non | Spécifiez le nom de la transition appropriée pour faire passer cette demande au nouvel état souhaité. |
| Résumé | Chaîne | N/A | Non | Nouveau résumé du problème. |
| Description | Chaîne | N/A | Non | La nouvelle description du problème. |
| Type de problème | Chaîne | N/A | Non | Nouveau type de problème. |
| Personne responsable | Chaîne | N/A | Non | Nouvelle personne responsable du problème. |
| 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 | Champ "components" du problème. Ce paramètre accepte plusieurs valeurs sous forme de chaîne d'éléments séparés 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 du 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 | Champ "components" du problème. Ce paramètre accepte plusieurs valeurs sous forme de chaîne d'éléments séparés par une virgule. |
Exécuter sur
Cette action s'exécute sur 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 | Success:False |
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
}
Importer une pièce jointe
Description
Ajoutez une pièce jointe à un problème.
Paramètres
| Paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Clé du problème | Chaîne | N/A | Oui | Chemins d'accès aux fichiers. |
| Chemins des fichiers | Chaîne | N/A | Oui | Chemins absolus des fichiers à importer, séparés par une virgule. Le format requis dépend de votre type de déploiement :
|
Exécuter sur
Cette action s'exécute sur 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
Recherchez des utilisateurs dans Jira.
Entités
Cette action ne s'exécute pas sur les entités.
Entrées de l'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
User Email Addresses |
Optional
Liste d'adresses e-mail séparées par une virgule pour lesquelles renvoyer les utilisateurs. |
User Names |
Optional
Liste de noms d'utilisateurs séparés par une virgule pour lesquels renvoyer les utilisateurs. |
Project |
Optional
Nom du projet dans lequel rechercher des adresses e-mail. Si ce paramètre est fourni, seul |
Sorties de l'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 identifiants. |
Configuration du mappage des motifs de fermeture
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 un motif dynamique extrait n'est pas valide ou est manquant, 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 vers 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 de l'événement (sous-type). 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 récupérer les alertes. La valeur par défaut est |
Max Tickets Per Cycle |
Facultatif. Nombre maximal de tickets à récupérer et à traiter dans 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. Nom du champ dans lequel le nom de l'environnement est stocké. Si le champ d'environnement n'est pas trouvé, l'environnement est l'environnement 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 les proxys.
Liste dynamique et liste de blocage
Le connecteur n'est compatible avec les règles de liste d'autorisation et de liste de blocage dynamiques que pour des libellés spécifiques dans Jira.
Jobs
Tâche de fermeture de la synchronisation
Description
Fermer les tickets dans Jira si les alertes ou les demandes Google SecOps correspondantes ont été fermées, et synchroniser l'état de fermeture 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. Nom de l'environnement. |
Days Backwards |
Obligatoire. Nombre maximal de jours pour synchroniser l'état des tickets en arrière. La valeur par défaut est |
Job Scope |
Obligatoire. Champ d'application de la synchronisation des jobs. Options :
La valeur par défaut est |
Supported Closed Statuses |
Obligatoire. Liste d'états fermés Jira séparés par une virgule, traités comme fermés dans Google SecOps (par exemple,
La valeur par défaut est |
Closed Reason Mapping |
Obligatoire. Dictionnaire JSON mappant les états fermés de Jira aux motifs de fermeture et aux causes principales de Google SecOps. Permet 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 détails et des exemples de configuration, consultez Mappage des motifs de clôture et des champs personnalisés. |
Mappage des motifs de clôture et des champs personnalisés
Utilisez les détails et les exemples suivants pour configurer des mappages personnalisés pour les motifs de clôture et les champs personnalisés.
Mappage des motifs de clôture
Définit la correspondance entre les états de clôture Jira et les motifs et causes principales de clôture des demandes 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 fermé avec l'état
Done, la demande ou l'alerte Google SecOps est fermée avec le motifMaliciouset la cause principaleOther. Si la demande est clôturée avec un état qui n'est pas explicitement mappé (par exemple,Closed), le système utilise par défaut les paramètresFallback. -
Exemple de mappage de champs personnalisés :
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 rétablit les valeursFallback. - Pour le champ d'application de la tâche
Case, les valeurs de cause principale doivent être configurées dans les paramètres d'administration. Pour le champ d'application de la 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 vers Google SecOps. Spécifiez des paires clé/valeur où la clé est le nom à afficher du champ personnalisé Google SecOps et la valeur est le 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 Chronicle Comment Prefix.
Cette fonctionnalité est 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é et de provoquer 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. 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 le job de synchronisation aux commentaires des demandes d'alerte Google SecOps. La valeur par défaut est |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.