Jira を Google SecOps と統合する

このドキュメントでは、Jira を Google Security Operations と統合する方法について説明します。

ユースケース

Jira 統合では、Google SecOps の機能を使用して、次のユースケースをサポートします。

  • チケットの自動作成: Jira コネクタを使用して、Google SecOps アラートから Jira の問題を自動的に作成し、セキュリティ チームと IT チーム間の引き継ぎを効率化します。

  • 双方向同期: 専用の同期ジョブを使用して Jira チケットと Google SecOps ケース間でコメントとステータスの変更を自動的に同期することで、プラットフォーム間で一貫性を維持します。

  • インシデントの拡充: 添付ファイルのアップロード アクションを使用して、証拠、ログ、スクリーンショットを Jira の問題に直接添付し、修復担当者に完全なコンテキストを提供します。

  • 動的なタスク管理: 関連する Jira 課題を Google SecOps ハンドブックから直接更新、割り当て、リンクして、標準作業手順(SOP)を自動化します。

始める前に

Google SecOps プラットフォームで Jira 統合を構成する前に、次のものが揃っていることを確認してください。

  • プロダクトの互換性: Jira Cloud インスタンスまたは Jira データセンター(オンプレミス)環境へのアクセス。

  • 認証方法: 認証方法を選択します。

    • 基本認証(Jira Cloud): ユーザー名(メールアドレス)と Atlassian API トークンが必要です。
    • サービス アカウント認証(Jira Cloud): サービス アカウント トークンと Cloud ID が必要です。
    • 標準認証(Jira Data Center): 有効なユーザー名とパスワードが必要です。
  • API ルート URL: API ルートの形式は、認証方法によって異なります。

    • Standard / Basic: Jira インスタンスのベース URL(例: https://yourdomain.atlassian.net)。
    • サービス アカウント: Atlassian API プロキシ URL。Cloud ID(https://api.atlassian.com/ex/jira/{cloud_id} など)を含める必要があります。

Jira Cloud の認証を設定する

API トークンを使用して Jira Cloud に接続するには、Atlassian のドキュメントの手順に沿ってトークンを生成します。

サービス アカウントの認証を設定する

Jira Cloud でトークンベースの認証(署名なしトークン)を使用するには:

  1. Atlassian 管理コンソールを使用してサービス アカウントを作成する方法の詳細については、サービス アカウントについてをご覧ください。

  2. https://<your_tenant>.atlassian.net/_edge/tenant_info に移動して Cloud ID を取得します(<your_tenant> は特定の Atlassian インスタンス名です)。

  3. 統合を構成するときに、[ユーザー名] フィールドを空白のままにして、署名なしトークン認証をトリガーします。

統合のパラメータ

Jira の統合には、次のパラメータが必要です。

パラメータ 説明
Api Root

必須。

Jira インスタンスのベース URL。

Username

省略可。

Jira への接続に使用するユーザー名(メールアドレス)。

このパラメータの要件は、選択した認証方法によって異なります。

  • 指定すると、システムは基本認証を使用します。
  • 空のままにすると、システムはデフォルトで署名なしトークン認証(サービス アカウントに必要)を使用します。

認証方法の詳細については、始める前にをご覧ください。

Api Token

必須。

Jira への接続に使用される認証情報。

このフィールドには、API トークン、サービス アカウント トークン、または標準パスワード(データセンター用)を指定できます。

Verify SSL

省略可。

選択すると、統合は Jira サーバーに接続するときに SSL 証明書を検証します。

Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。

コメントを追加

[Add Comment] アクションを使用して、既存の Jira 課題にコメントを作成して追加します。

これは、Google SecOps から直接、検出結果の文書化、更新の提供、チームメンバーとのコラボレーションを行う効果的な方法です。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

Add Comment アクションには、次のパラメータが必要です。

パラメータ 説明
Issue Key

必須。

Jira の問題の固有識別子(例: PROJ-123)。

Comment

必須。

Jira の課題に追加するテキスト。

アクションの出力

Add Comment アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
スクリプトの結果

次の表に、Add Comment アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
comment_id Jira で新しく作成されたコメントの一意の ID。

問題を割り当てる

[Assign Issue] アクションを使用して、Jira の問題を特定のユーザーに割り当てます。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

[Assign Issue] アクションには、次のパラメータが必要です。

パラメータ 説明
Issue Key

必須。

Jira の問題の固有識別子(例: PROJ-123)。

Assignee

必須。

問題を割り当てるユーザーの名前またはメールアドレス。

Jira Username

省略可。

割り当てアクションを開始したユーザーの Jira ユーザー名。

アクションの出力

[Assign Issue] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
スクリプトの結果

次の表に、[Assign Issue] アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
success true または false

アラートの問題を作成する

[Create Alert Issue] アクションを使用して、特定のアラートに対して Jira で新しいチケットを作成します。

このアクションは、主にハンドブック内で使用され、セキュリティ インシデントを IT チームまたはエンジニアリング チームにエスカレーションして、詳細な調査や修復を行います。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

[Create Alert Issue] アクションには、次のパラメータが必要です。

パラメータ 説明
Project Key

必須。

問題が作成される Jira プロジェクトの一意の短縮キー(SEC など)。

Summary

必須。

問題の簡単なタイトルまたは概要。

Issue Type

必須。

問題の種類(Task、Bug、Incident など)の名前。

アクションの出力

Create Alert Issue アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、アクションが問題を正常に作成したときに受信した JSON 結果の出力を示しています。

{
   "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"
}
スクリプトの結果

次の表に、[Create Alert Issue] アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
issue_key 新しく作成された Jira の問題の一意の短縮キー(例: SEC-456)。

Create Issue(問題を作成)

[Create Issue] アクションを使用して、Jira プロジェクトに新しいチケットを作成します。

このアクションには、JSON を使用してコンポーネント、ラベル、カスタム フィールドを指定する機能など、幅広いカスタマイズ オプションが用意されているため、複雑なチケット作成ワークフローに適しています。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

[Create Issue] アクションには、次のパラメータが必要です。

パラメータ 説明
Project Key

必須。

問題が作成される Jira プロジェクトの一意の短縮キー(SEC など)。

Summary

必須。

問題の簡単なタイトルまたは概要。

Description

省略可。

問題の詳細な説明。

Issue Type

必須。

問題の種類(Task、Bug、Incident など)の名前。

Jira Username

省略可。

アクションを開始したユーザーの Jira ユーザー名。

Assignee

省略可。

問題が割り当てられているユーザーの ID。

Components

省略可。

問題に関連付ける Jira コンポーネントのカンマ区切りのリスト。

Labels

省略可。

問題に追加するラベルのカンマ区切りのリスト。

Custom Fields

省略可。

作成時に設定する追加のフィールドと値を含む JSON オブジェクト({"customfield_10001": "Value"} など)。

このパラメータで指定された値は優先度が高く、競合が発生した場合は他のフィールド マッピングを上書きします。

アクションの出力

Create Issue アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Create Issue アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
   "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
   }
}
スクリプトの結果

次の表に、[問題を作成] アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
issue_key 新しく作成された Jira の問題の一意の短縮キー(例: SEC-789)。

問題を削除

[Delete Issue] アクションを使用して、Jira から問題を完全に削除します。

このアクションは通常、重複するチケットをクリーンアップする場合や、ハンドブックの開発中に生成されたテストデータを削除する場合に使用されます。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

Delete Issue アクションには、次のパラメータが必要です。

パラメータ 説明
Issue Key

必須。

削除する Jira の課題の一意の短縮キー(例: SEC-123)。

アクションの出力

Delete Issue アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
スクリプトの結果

次の表に、Delete Issue アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
success true または false

添付ファイルをダウンロード

添付ファイルをダウンロードアクションを使用して、特定の Jira 課題に添付されているすべてのファイルを取得します。添付ファイルが .eml ファイルの場合、このアクションは、そのメールに含まれるファイルもダウンロードします。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

添付ファイルをダウンロードアクションには、次のパラメータが必要です。

パラメータ 説明
Issue Key

必須。

Jira の課題の一意の短縮キー(SEC-123 など)。

Download Path

省略可。

アクションによってダウンロードされた添付ファイルが保存されるフォルダのローカルパスまたは内部パス。

必要な形式は、デプロイの種類によって異なります。

  • SaaS デプロイ: パスは、/attachments/ などのホスト型プラットフォームの内部にあります。
  • リモート エージェントのデプロイ: パスは、リモート エージェントがインストールされているローカルマシン上の有効な絶対ディレクトリ パスである必要があります。たとえば、Windows の場合は C:\temp\attachments、Linux の場合は /var/tmp/attachments/ です。
Download Attachments to the Case Wall

省略可。

選択すると、このアクションにより Jira の問題の添付ファイルが現在の Google SecOps ケースウォールに直接ダウンロードされます。

ケースウォールに追加する添付ファイルにはサイズ制限があります。サイズの大きいファイルはアップロードできない場合があります。

デフォルトでは無効にされています。

アクションの出力

Download Attachments アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用可能
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Download Attachments アクションを使用した場合に受信される JSON 結果の出力を示しています。

[
  {
    "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"
    }
  }
]
スクリプトの結果

次の表に、[Download Attachments] アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success true または false

問題を取得する

Get Issues アクションを使用して、1 つ以上の Jira 課題の詳細を取得します。

このアクションは、現在のチケット メタデータ(ステータス、割り当て先、優先度など)を使用して Google SecOps ケースを拡充する場合に役立ちます。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

Get Issues アクションには、次のパラメータが必要です。

パラメータ 説明
Issue Keys

必須。

取得する Jira 課題キーのカンマ区切りのリスト(例: SEC-123, SEC-456)。

アクションの出力

Get Issues アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Get Issues アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
  "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": []
    }
  ]
}
スクリプトの結果

次の表に、Get Issues アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
issues_details_list リクエストされた Jira 課題の完全なメタデータを含むリスト。

[Link Issues] アクションを使用して、複数の Jira 課題間の関係を確立します。

このアクションは、主に、関連するセキュリティ インシデントを接続したり、調査チケット間の依存関係を追跡したりするために、ハンドブック内で使用されます。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

[Link Issues] アクションには、次のパラメータが必要です。

パラメータ 説明
Inward Issue ID

必須。

内向きの問題 ID のカンマ区切りのリスト。

たとえば、Relation Type が Blocks に設定されている場合、この問題は Jira UI に関係 is blocked by を表示します。

Outward Issue IDs

必須。

外部 Jira 課題の短縮キー。

たとえば、Relation Type が Blocks に設定されている場合、この問題は Jira UI に関係 blocks を表示します。

Relation Type

必須。

問題間に作成するリンクのタイプ。

使用可能な関係タイプのリストは、List Relation Types アクションを実行することで確認できます。

デフォルト値は Blocks です。

アクションの出力

Link Issues アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Link Issues アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

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

アクションで、Jira の次の宛先の問題が見つかりませんでした。 ISSUE_IDS。

アクションが成功した
Error executing action "Link Issues". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Link Issues アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
success true または false

問題を一覧表示する

List Issues アクションを使用して、特定のフィルタ条件に基づいて Jira 課題キーのリストを検索して取得します。

このアクションは、アラート コンテキストに一致する既存のチケットを特定して、重複を回避したり、ハンドブック内で一括更新を実行したりする場合に役立ちます。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

List Issues アクションには、次のオプションのフィルタリング パラメータが用意されています。パラメータが指定されていない場合、アクションは統合ユーザーがアクセスできるすべての問題を返します。

パラメータ 説明
Project Names

省略可。

検索対象のプロジェクト名のカンマ区切りのリスト。

Summary

省略可。

指定すると、アクションは特定の概要またはタイトルで問題をフィルタします。

Description

省略可。

指定すると、説明に含まれるテキストで問題がフィルタされます。

Issue Types

省略可。

問題タイプのカンマ区切りのリスト(例: Bug,Task)。

デフォルト値は Bug です。

Priorities

省略可。

フィルタする優先度レベルのカンマ区切りのリスト(例: High,Medium)。

Created From

省略可。

指定すると、この日付以降に作成された問題がフィルタされます(YYYY/MM/DD 形式)。

Updated From

省略可。

指定すると、この日付以降に更新された問題がフィルタされます(YYYY/MM/DD 形式)。

Assignees

省略可。

フィルタする割り当て先 ID のカンマ区切りのリスト。

Reporter

省略可。

フィルタする報告者 ID のカンマ区切りのリスト。

Statuses

省略可。

フィルタする問題ステータスのカンマ区切りのリスト(例: Open,In Progress)。

Created Before

省略可。

フィルタする最新の作成日。形式: YYYY/MM/DD または相対オフセット(例: -24h、-7d)。指定しない場合、フィルタは使用されません。

Custom JQL

省略可。

カスタム JQL クエリ。指定すると、他のすべてのフィルタは無視されます。

アクションの出力

List Issues アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、List Issues アクションを使用した場合に受信される JSON 結果の出力を示しています。

[ 
  "PR-123", 
  "PR-124",
  "SEC-789"
]
スクリプトの結果

次の表に、List Issues アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
issues 見つかった Jira 課題の一意の短縮キーを含むリスト。

関係タイプを一覧表示する

List Relation Types アクションを使用して、Jira インスタンスで構成されている使用可能なすべてのリンク関係タイプのリストを取得します。

このアクションは、Link Issues アクションの有効な入力値を検証する場合に便利です。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

List Relation Types アクションには、次のパラメータが必要です。

パラメータ 説明
Filter Key

省略可。

関係タイプをフィルタするために使用されるフィールド。

[フィルタ ロジック] が Equal または Contains に設定されている場合は、実行エラーを回避するために Select One 以外のフィールドを選択する必要があります。

値は次のいずれかになります。

  • Name
  • Inward
  • Outward

デフォルト値は Select One です。

Filter Logic

省略可。

フィルタに適用される論理演算子。

値は次のいずれかになります。

  • Not Specified
  • Equal
  • Contains

デフォルト値は Not Specified です。

Filter Value

省略可。

選択した Filter Key と Filter Logic に基づいてフィルタリングに使用される特定の文字列値。

値が指定されていない場合、キーとロジックが選択されていてもフィルタは適用されません。

Max Records To Return

省略可。

結果で返されるレコードの最大数。

デフォルト値は 50 です。

アクションの出力

List Relation Types アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用可能
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
ケースウォール テーブル

[List Relation Types] アクションでは、次の表が提供されます。

テーブル名: Available Relation

テーブル列:

  • 名前
  • 内向き
  • 外向き
JSON の結果

次の例は、List Relation Types アクションを使用した場合に受信する JSON 結果の出力を示しています。

[{
    "id": "10000",
    "name": "Blocks",
    "inward": "is blocked by",
    "outward": "blocks"
}]
出力メッセージ

List Relation Types アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully found relation types for the provided criteria in Jira.

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

アクションが成功しました。
Error executing action "List Relation types". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、List Relation Types アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success true または false

Ping

Ping アクションを使用して、Jira への接続をテストします。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

なし

アクションの出力

Ping アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
success true または false

更新に関する問題

説明

問題を更新します。新しい Jira API の場合、アクションはユーザーのメールアドレスに基づいて課題を割り当てる担当者の一致を見つけようとし、次に displayName フィールドを試します。

パラメータ

パラメータ 種類 デフォルト値 必須 説明
問題のキー 文字列 なし はい 更新する問題のキー。
ステータス 文字列 なし いいえ この問題を新しいステータスに移行するには、関連する移行名を指定します。
概要 文字列 なし いいえ 問題の新しい概要。
説明 文字列 なし いいえ 問題の新しい説明。
問題の種類 文字列 なし いいえ 問題の新しいタイプ。
割り当て先 文字列 なし いいえ 問題の新しい担当者。
Jira のユーザー名 文字列 なし いいえ アクションを開始したユーザーの Jira ユーザー名。
コンポーネント 文字列 なし いいえ

問題の components フィールド。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

カスタム フィールド JSON なし いいえ

問題の作成時に使用されるすべてのフィールドと値を含む JSON オブジェクトを指定します。

注: このパラメータは優先度が高く、すべてのフィールドがこのパラメータに指定された値で上書きされます。

例: {"field":"value"}

ラベル 文字列 なし いいえ

問題の components フィールド。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
成功 正しい / 誤り Success:False
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
}

添付ファイルをアップロード

説明

問題に添付ファイルを追加します。

パラメータ

パラメータ 種類 デフォルト値 必須 説明
問題のキー 文字列 なし はい ファイルパス。
File Paths 文字列 なし はい

アップロードするファイルの絶対パス(カンマ区切り)。

必要な形式は、デプロイの種類によって異なります。

  • SaaS デプロイ: パスは、/attachments/ などのホスト型プラットフォームの内部にあります。
  • リモート エージェントのデプロイ: パスは、リモート エージェントがインストールされているローカルマシン上の有効な絶対ディレクトリ パスである必要があります。たとえば、Windows の場合は C:\temp\attachments、Linux の場合は /var/tmp/attachments/ です。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
N/A

Search Users

Jira でユーザーを検索します。

エンティティ

このアクションはエンティティでは実行されません。

アクションへの入力

アクションを構成するには、次のパラメータを使用します。

パラメータ
User Email Addresses 省略可

ユーザーを返すメールアドレスのカンマ区切りのリスト。

User Names 省略可

ユーザーを返すユーザー名のカンマ区切りのリスト。

Project 省略可

メールアドレスを検索するプロジェクトの名前。指定すると、Project Assignable Users のみが返されます。

アクションの出力

アクションの出力タイプ
ケースウォールのアタッチメント なし
ケースのウォールのリンク なし
ケースウォール テーブル なし
拡充テーブル なし
JSON の結果 利用可能
スクリプトの結果 利用可能
スクリプトの結果
スクリプトの結果名 値
is_success True/False
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"
   }
 }
]
ケースウォール

このアクションでは、次の出力メッセージが表示されます。

出力メッセージ メッセージの説明

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

アクションが成功しました。
Error executing action "Search Users". Reason: ERROR_REASON

操作を実行できませんでした。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

クローズ理由のマッピング構成

Closed Reason Mapping パラメータには JSON 構造が必要です。静的な値をマッピングすることも、動的な Jira フィールド名(resolution、customfield_10010 など)を渡すこともできます。抽出された動的な理由が無効であるか、欠落している場合、ジョブは指定された Fallback マッピングを自動的に使用します。

JSON 構成の例:

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

コネクタ

Jira コネクタ

説明

Jira から Google SecOps に問題をフェッチします。

Google SecOps で Jira コネクタを構成する

Google SecOps でコネクタを構成する方法の詳細については、コネクタの構成をご覧ください。

コネクタ パラメータ

次のパラメータを使用してコネクタを構成します。

パラメータ 説明
DeviceProductField

必須。

デバイス プロダクトを識別するために使用されるフィールド名。

デフォルト値は device_product です。

EventClassId

省略可。

イベント名(サブタイプ)を特定するために使用されるフィールド名。

デフォルト値は name です。

PythonProcessTimeout

必須。

現在のスクリプトを実行している Python プロセスのタイムアウト上限(秒単位)。

デフォルト値は 60 です。

API Root

必須。

Jira インスタンスの API ルート。

デフォルト値は https://{jira_address} です。

Username

省略可。

Jira への接続に使用するユーザー名(メールアドレス)。

このパラメータの要件は、選択した認証方法によって異なります。

  • 指定すると、システムは基本認証を使用します。
  • 空白のままにすると、システムのデフォルトで署名なしトークン認証を使用します(サービス アカウントに必要)。

認証方法の詳細については、始める前にをご覧ください。

API Token

必須。

Jira への接続に使用される認証情報。

Days Backwards

省略可。

アラートを取得するために遡る最大日数。

デフォルト値は 5 です。

Max Tickets Per Cycle

省略可。

1 つのコネクタ サイクルで取得して処理するチケットの最大数。

デフォルト値は 10 です。

Project Names

省略可。

プロジェクト名をカンマで区切って指定します。

Issue Statuses

省略可。

問題のステータス(カンマ区切り)。

Assignees

省略可。

ユーザーの姓名(カンマ区切り)。

Issue Types

省略可。

問題の種類をカンマで区切って入力します。

Issue Priorities

省略可。

問題の優先度(カンマ区切り)。

Issue Components

省略可。

問題のコンポーネント(カンマ区切り)。

Proxy Server Address

省略可。

使用するプロキシ サーバーのアドレス。

Proxy Username

省略可。

認証に使用するプロキシのユーザー名。

Proxy Password

省略可。

認証に使用するプロキシ パスワード。

Environment Field Name

省略可。

環境名が保存されるフィールドの名前を記述します。環境フィールドがない場合、その環境がデフォルトの環境です。

デフォルト値は "" です。

Environment Regex Pattern

省略可。

[環境フィールド名] フィールドで見つかった値に対して実行する正規表現パターン。ユーザーが正規表現ロジックで環境フィールドを操作できるようにするために使用されます。

デフォルト値は .* です。

Use Jira Project as Environment

省略可。

Jira プロジェクトを環境として使用するか、環境フィールド名を環境として使用します。

Verify SSL

必須。

選択すると、統合は Jira サーバーに接続するときに SSL 証明書を検証します。

デフォルトで有効になっています。

コネクタ ルール

プロキシのサポート

コネクタでプロキシがサポートされます。

動的リストとブロックリスト

コネクタは、Jira 内の特定のラベルに対してのみ、動的リストとブロックリストのルールをサポートします。

ジョブ

同期クローズ ジョブ

説明

対応する Google SecOps のアラートまたはケースがクローズされた場合に Jira のチケットをクローズし、クローズ ステータスとカスタム フィールドを Jira から Google SecOps に同期します。

パラメータ

パラメータ 説明
API Root

必須。

Jira インスタンスの API ルート URL。

デフォルト値は https://{jira_address} です。

Username

省略可。

Jira への接続に使用するユーザー名(メールアドレス)。

このパラメータの要件は、選択した認証方法によって異なります。

  • 指定すると、システムは基本認証を使用します。
  • 空白のままにすると、システムのデフォルトで署名なしトークン認証を使用します(サービス アカウントに必要)。
API Token

必須。

Jira への接続に使用される認証情報。

Project Names

必須。

ジョブがモニタリングする Jira プロジェクト名(カンマ区切り)。

デフォルト値は project names separated by a comma です。

Environment

省略可。

環境名。

Days Backwards

必須。

チケットのステータスを遡って同期する最大日数。

デフォルト値は 1 です。

Job Scope

必須。

ジョブ同期のスコープ。選択肢:

  • Case: Jira の問題をケースレベルで同期します。コンテキストに JIRA_ISSUE_KEY が含まれていることを確認します。
  • Alert: Jira の問題をアラートレベルで同期します。コネクタで作成されたケースの場合、Jira チケットキーは自動的に抽出されます。シミュレートされたケースの場合は、コンテキスト キーを手動で JIRA_ISSUE_KEY に設定します。

デフォルト値は Alert です。

Supported Closed Statuses

必須。

Google SecOps でクローズとして扱われる Jira のクローズ ステータスのカンマ区切りのリスト(例: Done, Closed)。

  • SecOps から Jira: このジョブでは、Jira チケットをクローズするときに、リストの最初の値(Done など)を解決ステータスとして使用します。
  • Jira から SecOps: 同期を行うには、Jira チケットのクローズ ステータスがこのリストに存在する必要があります。

デフォルト値は Done です。

Closed Reason Mapping

必須。

Jira のクローズ ステータスを Google SecOps のクローズ理由と根本原因にマッピングする JSON 辞書。カスタム フィールドへのマッピングをサポートし、必須の Fallback キーが必要です。構成の詳細と例については、クローズ理由とカスタム フィールドのマッピングをご覧ください。

Custom Fields Mapping

省略可。

Jira から Google SecOps へのデータ同期のために、Google SecOps カスタム フィールドの表示名と Jira カスタム フィールド名のマッピングを定義する JSON オブジェクト。構成の詳細と例については、クローズ理由とカスタム フィールドのマッピングをご覧ください。

クローズの理由とカスタム フィールドのマッピング

以下の詳細と例を使用して、クローズ理由とカスタム フィールドのカスタム マッピングを構成します。

クローズ理由のマッピング

Jira のクローズ ステータスを Google SecOps のケースまたはアラートのクローズ理由と根本原因にマッピングする方法を定義します。

  • 標準の JSON マッピングの例:

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

    Jira チケットがステータス Done でクローズされると、Google SecOps のケースまたはアラートは、理由 Malicious と根本原因 Other でクローズされます。明示的にマッピングされていないステータス(Closed など)でチケットがクローズされた場合、システムはデフォルトで Fallback の設定を使用します。

  • カスタム フィールドのマッピング例:

    Jira に Jira reason と Jira rootcause という名前のカスタム フィールドがある場合は、次のように JSON マッピングを構成します。

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

    要件:

    • Jira reason カスタム フィールドから抽出された値は、Malicious、Maintenance、Inconclusive、Not malicious のいずれかの正確な文字列に解決される必要があります。それ以外の場合、システムは Fallback 値に戻ります。
    • Case ジョブスコープの場合、根本原因の値は管理設定で構成する必要があります。Alert ジョブスコープの場合、管理者の構成は必要ありません。カスタム フィールドに指定された値はすべて受け入れられます。

カスタム フィールドのマッピング

このマッピングは、Jira から Google SecOps にカスタム フィールド値を同期する場合にのみ機能します。キーが Google SecOps カスタム フィールドの表示名で、値が Jira カスタム フィールド名である Key-Value ペアを指定します。

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

この例では、Jira フィールド Jira ticket id の値が Google SecOps フィールド SOAR Custom field に直接同期されます。

コメントの同期ジョブ

説明

Google SecOps のケースと対応する Jira チケットの間でコメントを同期します。同期は双方向です。つまり、Google SecOps から Jira、Jira から Google SecOps に同期されます。

ジョブがコメントを作成すると、接頭辞が適用されます。Google SecOps ユーザーが Google SecOps ケースにコメントすると、ジョブは Chronicle コメント接頭辞 パラメータを使用して、対応する Jira チケットにユーザー コメントを作成して同期します。

この機能は、次の 2 つの目的で追加されています。

  1. 可視性。
  2. ジョブによって追加されたコメントが相手側に再度同期され、ループが発生しないようにします。

パラメータ

パラメータ 説明
API Root

必須。

Jira インスタンスの API ルート URL。

デフォルト値は https://{jira_address} です。

Username

省略可。

Jira への接続に使用するユーザー名(メールアドレス)。

このパラメータの要件は、選択した認証方法によって異なります。

  • 指定すると、システムは基本認証を使用します。
  • 空白のままにすると、システムのデフォルトで署名なしトークン認証を使用します(サービス アカウントに必要)。
API Token

必須。

Jira への接続に使用される認証情報。

Project Names

必須。

ジョブがモニタリングする Jira プロジェクト名(カンマ区切り)。

デフォルト値は project names separated by comma です。

Environment

省略可。

環境名。

Siemplify Comment Prefix

必須。

同期ジョブによって Jira チケット用に作成されたコメントに追加される接頭辞。

デフォルト値は Google SecOps: です。

Jira Comment Prefix

必須。

同期ジョブによって Google SecOps アラートケースのコメントに追加される接頭辞。

デフォルト値は Jira Comment Sync Job: です。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。