

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Jira ソフトウェア AWS Security Hub CSPM との双方向の統合
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software"></a>

*Joaquin Rinaudo (Amazon Web Services)*

## 概要
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-summary"></a>

このソリューションは、 AWS Security Hub CSPM と Jira の双方向統合をサポートしています。このソリューションを使用すると、Security Hub CSPM の検出結果から Jira チケットを自動的に手動で作成および更新できます。セキュリティチームはこのインテグレーションを使用して、対処が必要な重大なセキュリティ検出結果を開発チームに通知できます。

このソリューションは次のことに役立ちます。
+ Jira でチケットを自動的に作成または更新する Security Hub CSPM コントロールを選択します。
+ Security Hub CSPM コンソールで、Security Hub CSPM カスタムアクションを使用して Jira でチケットを手動でエスカレートします。
+ で定義されている AWS アカウント タグに基づいて、Jira でチケットを自動的に割り当てます AWS Organizations。このタグが定義されていない場合、既定の担当者が使用されます。
+ Jira で誤検出または受け入れられたリスクとしてマークされた Security Hub CSPM の検出結果を自動的に抑制します。
+ 関連する結果が Security Hub CSPM にアーカイブされると、Jira チケットを自動的に閉じます。
+ Security Hub CSPM の検出結果が繰り返し発生すると、Jira チケットを再開します。

Jira ワークフロー

このソリューションでは、開発者がリスクを管理および文書化できるカスタム Jira ワークフローを使用しています。問題がワークフローを通過すると、双方向の統合により、Jira チケットと Security Hub CSPM の検出結果のステータスが両方のサービスのワークフロー間で同期されます。このワークフローは、Dinis Cruz による *SecDevOps リスクワークフロー*から派生したもので、[Apache License バージョン 2.0](https://www.apache.org/licenses/LICENSE-2.0) の下でライセンスされています。セキュリティチームのメンバーだけがチケットのステータスを変更できるように、Jira ワークフロー条件を追加することをお勧めします。

![\[Jira 課題のワークフロー図。問題を解決したり、リスクを受け入れることも、誤検出としてマークすることもできます。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/10b08232-437e-4b0a-b6a5-b5ef4d415ac5.png)


このソリューションによって自動的に生成される Jira チケットの例については、このパターンの「[追加情報](#bidirectionally-integrate-aws-security-hub-with-jira-software-additional)」セクションを参照してください。

## 前提条件と制限
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-prereqs"></a>

**前提条件**
+ このソリューションをマルチアカウント AWS 環境にデプロイする場合:
  + マルチアカウント環境はアクティブで、 によって管理されます AWS Organizations。
  + Security Hub CSPM が で有効になっています AWS アカウント。
  + で AWS Organizations、Security Hub CSPM 管理者アカウントを指定しました。
  +  AWS Organizations 管理アカウントへのアクセス`AWSOrganizationsReadOnlyAccess`許可を持つクロスアカウント AWS Identity and Access Management (IAM) ロールがある。
  + (オプション) AWS アカウント で にタグを付けました`SecurityContactID`。このタグは、Jira チケットを定義済みのセキュリティ連絡先に割り当てるために使用されます。
+ このソリューションを 1 つの 内にデプロイする場合 AWS アカウント:
  + アクティブな AWS アカウントがあります。
  + Security Hub CSPM が で有効になっています AWS アカウント。
+ Jira Data Center インスタンス
**重要**  
このソリューションは Jira Cloud の使用をサポートします。ただし、Jira Cloud は XML ワークフローのインポートをサポートしていないため、Jira でワークフローを手動で再作成する必要があります。移行とステータスは GitHub リポジトリにあります。
+  Jira の管理者権限
+ 次の Jira トークンのいずれか:
  + Jira エンタープライズの場合は、個人アクセストークン (PAT) です。詳細については、「[個人アクセストークンの使用](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html)」 (アトラシアンサポート) を参照してください。
  + Jira クラウドの場合は Jira API トークンです。詳細については、「[API トークンの管理](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)」 (Atlassian サポート) を参照してください。

## アーキテクチャ
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-architecture"></a>

このセクションでは、開発者とセキュリティエンジニアがリスクを受け入れるか、問題を解決するかを決定したときなど、さまざまなシナリオにおけるソリューションのアーキテクチャを示しています。

シナリオ 1: 開発者が問題に対処する

1. Security Hub CSPM は、 [AWS Foundational Security Best Practices 標準の](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)ものなど、指定されたセキュリティコントロールに対して検出結果を生成します。

1. 検出結果とアクションに関連付けられた Amazon CloudWatch イベントが AWS Lambda 関数`CreateJIRA`を開始します。

1. Lambda 関数は、`GeneratorId` 設定ファイルと結果のフィールドを使用して、検出結果をエスカレートする必要があるかどうかを評価します。

1. Lambda 関数は、結果をエスカレーションする必要があると判断し、 AWS 管理`SecurityContactID`アカウントの AWS Organizations からアカウントタグを取得します。この ID は開発者に関連付けられ、Jira チケットの担当者 ID として使用されます。

1. Lambda 関数は、 に保存されている認証情報 AWS Secrets Manager を使用して Jira にチケットを作成します。Jira は開発者に通知します。

1. 開発者は基礎となるセキュリティ検出結果に対処し、Jira ではチケットのステータスを `TEST FIX` に変更します。

1. Security Hub CSPM は検出結果を として更新し`ARCHIVED`、新しいイベントが生成されます。このイベントにより、Lambda 関数は Jira チケットを自動的に閉じます。

![\[開発者が課題を修正したときの Jira と Security Hub の統合を示すアーキテクチャ図。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/18d9a6ce-dd38-4d36-a95d-270fce776c30.png)


シナリオ 2: 開発者がリスクを受け入れることを決定

1. Security Hub CSPM は、 [AWS Foundational Security Best Practices 標準の](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)ものなど、指定されたセキュリティコントロールに対して検出結果を生成します。

1. 検出結果と `CreateJIRA` アクションに関連付けられた CloudWatch イベントは、Lambda 関数を開始します。

1. Lambda 関数は、`GeneratorId` 設定ファイルと結果のフィールドを使用して、検出結果をエスカレートする必要があるかどうかを評価します。

1. Lambda 関数は、結果をエスカレーションする必要があると判断し、 AWS 管理`SecurityContactID`アカウントの AWS Organizations からアカウントタグを取得します。この ID は開発者に関連付けられ、Jira チケットの担当者 ID として使用されます。

1. Lambda 関数は、Secrets Manager に保存されている認証情報を使用して Jira にチケットを作成します。Jira は開発者に通知します。

1. 開発者はリスクを受け入れることを決定し、Jira ではチケットのステータスを `AWAITING RISK ACCEPTANCE` に変更します。

1. セキュリティエンジニアはリクエストを検討し、ビジネス上の正当性が適切であると判断します。セキュリティエンジニアは Jira チケットのステータスを `ACCEPTED RISK` に変更します。これにより Jira チケットは終了します。

1. CloudWatch の日次イベントは、閉じた Jira チケットを識別し、関連する Security Hub CSPM の検出結果を として更新する更新 Lambda 関数を開始します`SUPPRESSED`。

![\[アーキテクチャ図表では、開発者が検出結果のリスクを受け入れる場合、 Jira と セキュリティハブを表示します。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/d5a2f946-9c79-4661-96c1-74c813cbf406.png)


## ツール
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-tools"></a>

**AWS のサービス**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) は、 AWS リソースをセットアップし、迅速かつ一貫してプロビジョニングし、 AWS アカウント および リージョン全体のライフサイクルを通じてリソースを管理するのに役立ちます。
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) は、ルールを使用してイベントを照合し、関数またはストリームにルーティングすることで、 AWS リソースのシステムイベントをモニタリングするのに役立ちます。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) は、作成して一元管理する AWS アカウント 組織に複数の を統合するのに役立つアカウント管理サービスです。
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) を使用すると、コード内のハードコードされた認証情報 (パスワードを含む) を Secrets Manager への API コールで置き換えて、プログラムでシークレットを取得することができます。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) は、 のセキュリティ状態の包括的なビューを提供します AWS。また、セキュリティ業界標準とベストプラクティスに照らして AWS 環境を確認するのにも役立ちます。

**コードリポジトリ**

このパターンのコードは、GitHub 内の「[aws-securityhub-jira-ソフトウェア統合](https://github.com/aws-samples/aws-securityhub-jira-software-integration/)」リポジトリで利用できます。このソリューションのサンプルコードと Jira ワークフローが含まれています。

## エピック
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-epics"></a>

### Jira を設定する
<a name="configure-jira"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ワークフローをインポートします。 | Jira の管理者として、`issue-workflow.xml` ファイルを Jira Data Center インスタンスにインポートします。Jira Cloud を使用する場合は、`assets/jira-cloud-transitions.png` ファイルと `assets/jira-cloud-status.png` ファイルに従ってワークフローを作成する必要があります。ファイルは GitHub の「[aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/)」リポジトリにあります。手順については、「[XML を使用したワークフローの作成](https://confluence.atlassian.com/adminjiraserver/using-xml-to-create-a-workflow-938847525.html)」 (Jira ドキュメント) を参照してください。 | Jira 管理者 | 
| ワークフローを有効化して割り当てます。 | ワークフローは、ワークフロースキームに割り当てるまで非アクティブです。次に、そのワークフロースキームをプロジェクトに割り当てます。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Jira 管理者 | 

### ソリューションパラメーターをセットアップします。
<a name="set-up-the-solution-parameters"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ソリューションパラメータを設定します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | AWS システム管理者 | 
| 自動化したい検出結果を特定してください。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) |  | 
| 検出結果を設定ファイルに追加します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html)次のコード例は、`aws-foundational-security-best-practices/v/1.0.0/SNS.1` および `aws-foundational-security-best-practices/v/1.0.0/S3.1` の検出結果を自動化する方法を示しています。<pre>{<br />    "Controls" : {<br />        "eu-west-1": [<br />         "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0/rule/1.22" <br />     ],<br />        "default": [<br />aws-foundational-security-best-practices/v/1.0.0/SNS.1,<br />aws-foundational-security-best-practices/v/1.0.0/S3.1<br />     ]<br />    } <br /> }</pre>それぞれに異なる検出結果を自動化することを選択できます AWS リージョン。検出結果の重複を防ぐには、IAM 関連の統制の作成を自動化するリージョンを 1 つ選択することをおすすめします。 | AWS システム管理者 | 

### インテグレーションをデプロイ
<a name="deploy-the-integration"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 統合をデプロイします。 | コマンドライン端末で、次のコマンドを入力します。<pre>./deploy.sh prod</pre> | AWS システム管理者 | 
| Jira 認証情報を Secrets Manager にアップロードします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | AWS システム管理者 | 
| Security Hub CSPM カスタムアクションを作成します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | AWS システム管理者 | 

## 関連リソース
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-resources"></a>
+ [AWS Jira サービス管理用のサービス管理コネクタ](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/integrations-jiraservicedesk.html)
+ [AWS 基本的なセキュリティのベストプラクティス標準](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)

## 追加情報
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-additional"></a>

Jira チケットの例

指定された Security Hub CSPM の検出結果が発生すると、このソリューションは自動的に Jira チケットを作成します。チケットには、次の情報が含まれます。
+ **タイトル** – タイトルは次の形式でセキュリティ上の問題を識別します。

  ```
  AWS Security Issue :: <AWS account ID> :: <Security Hub finding title>
  ```
+ **説明** – チケットの説明セクションでは、検出結果に関連するセキュリティコントロールについて説明し、Security Hub CSPM コンソールで検出結果へのリンクを含め、Jira ワークフローでセキュリティ問題を処理する方法の簡単な説明を提供します。

以下は、自動生成された Jira チケットの例です。


|  | 
| --- |
| タイトル | AWS セキュリティの問題 :: 012345678912 :: Lambda.1 Lambda 関数ポリシーはパブリックアクセスを禁止する必要があります。 | 
| --- |--- |
| **説明** | 問題は何か? お客様が担当している AWS アカウント 012345678912 内でセキュリティ上の検出結果が検出されました。このコントロールは、Lambda リソースにアタッチされた AWS Lambda 関数ポリシーがパブリックアクセスを禁止しているかどうかをチェックします。Lambda 関数ポリシーがパブリックアクセスを許可している場合、コントロールは失敗します。<Security Hub CSPM 検出結果へのリンク>チケットはどうする必要がありますか?アカウントにアクセスして設定を確認します。チケットを「修正済み」に移動して処理中のチケットを承認します。修正したら、テスト修正に移行し、セキュリティが問題を解決したことを検証します。リスクを受け入れるべきだと思う場合は、「リスクの受け入れ待ち」に移動します。これにはセキュリティエンジニアによるレビューが必要です。誤検知と思われる場合は、「誤検知としてマークする」に移行します。これはセキュリティエンジニアによって確認され、それに応じて再開/終了されます。 | 

 