IT ライフサイクル管理のセットアップとユースケース - AWS Service Catalog

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

IT ライフサイクル管理のセットアップとユースケース

-AWSJira サービスマネジメントのサービス管理コネクタを使用すると、Jira サービスマネジメントのエンドユーザーは、プロビジョニング、管理、運用できますAWSアトラシアンの Jira サービス管理を通じてネイティブにリソース。IT ライフサイクル管理のシナリオを有効にするには、以下を設定する必要があります。

  • AWS Config にリンクされたリソース

  • 問題に対して推奨される AWS Systems Manager の修正

  • サンプルユースケース: IT ライフサイクル管理用の Jira 問題の自動作成-非準拠のパブリック S3 バケットの修正

AWS Config および Jira 問題に対して推奨される AWS Systems Manager の修正

コネクタには、あらゆる問題に対して使用する 2 つのフィールドがあります。

  • AWS Config にリンクされたリソース: AWS Config にエントリがあるすべてのリソースが Jira の問題に AWS Config 情報を表示できます。展開して情報を表示できます。複数リンクできますAWSリソースを 1 つの問題に設定します。

  • AWS Systems Manager ドキュメントの推奨される修正: 問題に対して SSM オートメーションドキュメントを記録できます。これらは、問題を修正するための提案方法として表示されます。Jira ユーザーが問題を確認すると、推奨される修正内容が表示され、クリックして適用できます。1 つの問題に複数の修正案を添付できます。

2 つのフィールドは個別に使用できますが、それらはうまく連携します。上のインシデントを検出するとAWSリソースまたはリソースセット。両方を設定することで、Jira ユーザーは Config 情報を参照して問題を確認し、理解を深め、一般的な問題を解決する修正を適用することができます。その後、AWS Config問題が修正されたことを示す情報。

を追加するにはAWS既存の課題へのフィールド

  1. コネクタのプロジェクトを 1 つまたは複数有効にする必要があります。Connector 設定管理者-アドオンの管理を参照してください。『コネクタセットアップガイド』で説明されています。

  2. [管理者] の[プロジェクト] で、これらのフィールドを使用するプロジェクトを開きます。

  3. 左側のメニューで、使用する問題のタイプを選択します。

  4. 右上の [フィールド] をクリックして表示します (まだ選択されていない場合)。その後、画面で有効になっているフィールドのリストが表示されます。

  5. 追加のフィールドを入力できるテキストボックスがある場所までスクロールします。EnterAWS次に、AWS使用するフィールド。

  6. [追加] を選択して適用します。

  7. 他のフィールドを使用する場合は、前の手順を繰り返します。

  8. これらのフィールドを使用する問題のタイプごとに、これらの手順を繰り返します。問題の種類によっては画面を共有する場合があるため、一部でフィールドが既に追加されている場合があります。

また、使用している 1 つまたは複数のフィールドのフィールド ID を書き留めておくことも重要です。選択管理者-課題-カスタムフィールドを選択し、設定各フィールドに対応します。

開いた URL を調べて、数値フィールド ID を確認します。5 桁の数字にする必要があります。

または、(上記の手順に従って) フィールドを追加したプロジェクトの問題の場合、/rest/api/2/issue/PRJ-1/editmeta の REST API (http://localhost:2990/jira/rest/api/2/issue/PRJ-1/editmeta など) にはそのフィールドに関する情報が含まれます。

REST API にはエントリ customfield_#####: { ..., name: "AWS Config Linked Resources", ... } が含まれている必要がありますである。ここで、##### は数値フィールド ID です。

プロジェクトおよび問題の種類でこれらのフィールドが有効になったら、Jira REST API を使用して、これらのフィールドの値を使用して問題を作成または更新します。これは、CloudWatch、AppDynamics、Jenkins などのツール、または Systems Manager オートメーションドキュメント (次のセクションで提供) から使用できます。

問題を更新するための REST APIエンドポイントは /rest/api/2/issue/issue-key です。値を設定するために渡す一般的なスキーマは次のとおりです。

{ "update": { "customfield_field-ID": [ { "set": "value" } ] } }

以下の例を参照するか、REST API の詳細については「」を参照してください。JIRA 開発者ドキュメント: JIRA REST API による課題の更新

AWS Config にリンクされたリソース

[AWS Config にリンクされたリソース] フィールドは、リンクされたリソースに対応するオブジェクト (マッピング) のリストの JSON 文字列表現に設定し、それぞれに次のキーを設定します。

  • resourceId: AWS Config のリソースの ID

  • resourceType: AWS Config のリソースのタイプ

  • accountName: の名前またはエイリアスAWSこのリソースへのアクセスに使用する Jira で設定されたアカウント

  • region: このリソースに関する情報を取得するために AWS Config にアクセスする必要があるリージョン

たとえば、次の値は S3 バケットに関する情報を表示します。my-bucketeu-central-1で、Jira で指定されたアカウントとエンドユーザーの認証情報を使用してAWSJira で次のように識別されるアカウントMyAccount1:

[ { "resourceId": "my-bucket", "resourceType": "AWS::S3::Bucket", "accountName": "MyAccount1", "region": "eu-central-1" } ]

AWS Systems Manager自動化修復の提案

[AWS Systems Manager オートメーションの推奨される修正フ] フィールドは、改善としてのオートメーションドキュメントに対応するオブジェクト (マッピング) のリストの JSON 文字列表現に設定する必要があり、それぞれに次のキーを設定します。

  • documentName: Systems Manager のオートメーションドキュメントの名前

  • 説明: Jira に表示する修復の説明。これは、のドキュメントの説明とは異なる場合があります。AWSそして、これが設定されている問題に対する適切な修正方法である理由を説明するかもしれません

  • accountName: の名前またはエイリアスAWSこのリソースへのアクセスに使用する Jira で設定されたアカウント

  • region: このリソースに関する情報を取得するために AWS Config にアクセスする必要があるリージョン

たとえば、次の値は、AWS-DisableS3BucketPublicReadWriteJira で表示する説明を含む自動化ドキュメントに適用するeu-central-1で、Jira で指定したアカウントとエンドユーザーの認証情報を使用してAWSJira で次のように識別されるアカウントMyAccount1:

[ { "documentName": "AWS-DisableS3BucketPublicReadWrite", "description": "This will make the bucket private, resolving the issue.", "accountName": "MyAccount1", "region": "eu-central-1" } ]

スクリプト作成フィールドの作成

例として、curl を使用する次の bash スクリプトは、上記のリソースを問題にリンクし、推奨される修正をアタッチします。以下で使用される値は、Jira がログイン admin:adminlocalhost:2990/jira にあり、問題は PRJ-1 で、フィールド ID が 10011 (AWS Config にリンクされたリソース) および 10010 (推奨される修正) であると想定しています。これらは、環境に合わせて変更する必要があります。

  1. 以下を環境と問題に応じて設定します。

    JIRA_BASE_URL=http://localhost:2990/jira

    JIRA_USER_PASS=admin:admin

    ISSUE_KEY=PRJ-1

  2. フィールド ID を設定し、リンクする AWS Config リソースの JSON レコードを編集する。

    CUSTOM_FIELD_ID=customfield_10011 cat > value.json EOF [ { "resourceId": "my-bucket", "resourceType": "AWS::S3::Bucket", "accountName": "MyAccount1", "region": "eu-central-1" } ] EOF
  3. JSON をエスケープするヘルパー関数を定義する。

    json_escape () { printf '%s' "$1" | python -c \ 'import json,sys; print(json.dumps(sys.stdin.read()))' }
  4. REST 呼び出しを行い、AWS Config にリンクされたリソースフィールドを設定する。

    curl -v -D- -X PUT -H "Content-Type: application/json" \ --data '{ "update": { "'${CUSTOM_FIELD_ID}'": [ {"set": '"$( json_escape "$(cat value.json)")"' } ] } }' \ -u admin:admin ${JIRA_BASE_URL}/rest/api/2/issue/${ISSUE_KEY}
  5. フィールド ID を設定し、推奨される修正の JSON レコードを編集してアタッチする。

    CUSTOM_FIELD_ID=customfield_10010 cat > value.json EOF [ { "documentName": "AWS-DisableS3BucketPublicReadWrite", "description": "This will make the bucket private, resolving the issue.", "accountName": "MyAccount1", "region": "eu-central-1" } ] EOF
  6. REST コールを行い、[AWS Systems Manager Automation で推奨される修正] フィールドを設定します。

    curl -v -D- -X PUT -H "Content-Type: application/json" \ --data '{ "update": { "'${CUSTOM_FIELD_ID}'": [ {"set": '"$( json_escape "$(cat value.json)")"' } ] } }' \ -u ${JIRA_USER_PASS} ${JIRA_BASE_URL}/rest/api/2/issue/${ISSUE_KEY}

その後、この問題はバケットの AWS Config とそれを非公開にするための推奨される修正を表示します。

提案とリンクされた課題の作成AWSリソース fromAWS Systems Manager

AnAWS Systems ManagerAutomation ドキュメントは、リンクが設定されたフィールドを使用して Jira 問題を自動的に作成できますAWSリソースと、推奨される修復ドキュメントは最大 3 つまで含まれます。

このオートメーションドキュメントをインストールするには、次の 2 つのファイルが含まれている JSM Connector Create Remediation Issue Automation and IT Lifecycle Demo.zip をダウンロードして抽出します。

  • JSMConnector-CreateRemediationIssue.ssmdoc.yaml

  • JSMConnector-function.zip

以下のステップに従ってください。

  1. JSMConnector-function.zip ファイルをバケットにアップロードします。以下のコマンドで、「${BUCKET}」を適切なバケットに置き換えます。

    aws s3 cp JSMConnector-function.zip s3://${BUCKET}/function.zip
  2. JSMConnector-CreateRemediationIssue と呼ばれる Systems Manager オートメーションドキュメントを作成します。このドキュメントには、前のステップでバケット名を「${BUCKET}」にして使用して、JSMConnector-CreateRemediationIssue.ssmdoc.yaml から取得した内容と添付ファイル Key=SourceUrl,Values=s3://${BUCKET}/ が含まれています。「${BUCKET}」を以下のコマンドと置き換えます。

    aws ssm create-document --name "JSMConnector-CreateRemediationIssue" --content "file://JSMConnector-CreateRemediationIssue.ssmdoc.yaml" --document-type "Automation" --document-format "YAML" --attachments "Key=SourceUrl,Values=s3://${BUCKET}/"

インストールしたら、パラメータを入力して実行します。Jira に接続するには、前述のパラメータと同じパラメータが多く必要になることに注意してください。

その後、AWS Config 情報と推奨される修正が記載された問題が Jira に表示されます。

ユースケースの例: IT ライフサイクル管理の問題の自動作成、非準拠のパブリック S3 バケットの修正

問題に対してフィールドを有効にして Systems Manager オートメーションドキュメントを作成したら、の一般的な問題カテゴリの Jira 問題を自動的に作成するルールを設定できます。AWS。また、Jira エージェントとエンドユーザーが問題を容易に確認して修正できるように、推奨される修正を含めることができます。

このデモでは、次のConfig ルールを作成します。AWS。これにより、パブリック S3 バケットが検出され、Jira エージェントまたはエンドユーザーが Jira から直接パブリックアクセスを無効にできるようになります。

Systems Manager パラメータストアで、前提条件、オートメーションおよび lambda が実行するロール、および Secure String として使用する Jira パスワードを設定する必要があります。

パラメータストアに Jira パスワードを安全に保存するには

  1. を開くAWSコンソールに移動してSystems Manager-> パラメータストア

  2. [Create parameter] (パラメータの作成) を選択します。

  3. 名前を jira_password に設定します。

  4. タイプを SecureString に設定します。

  5. 問題を作成する Jira ユーザーのパスワードとして値を設定します。

  6. 保存するには、[パラメータの作成] を選択します。

AnAWS CloudFormationテンプレートは、ロールおよび構成ルールの設定を支援するために提供されています。jsmConnector-是正問題の作成-パブリックバケットを作る privateConfigurle.cfn.yaml

テンプレートをインストールして、以下のパラメータを設定します。

  • JiraURL: Jira へのベース URL。REST API にアクセスした後に /rest/... を追加します。

  • JiraUsername: Jira へログインするユーザーネーム (jira_password で指定されたパスワードを使用)

  • SSMParameterName: jira_password (Jira パスワードを含むパラメータ)

  • ProjectKey: プロジェクトのキー (-n an issue より前のトークン)。例えば、PRJ

  • IssueTypeName: これは、Jira のプロジェクトの問題の種類の名前と正確に一致する必要があります。

  • JiraAwsAccountName名前:AWSJira のコネクタで設定されているアカウント

  • JiraAwsAccountRegion: この違反リソースのリージョン (例: us-east-1)

  • JiraAwsResourceFieldId: Jira の AWS Config にリンクされたリソースのフィールド ID、customfield_10011 など。

  • JiraRemediationsFieldId: Jira の AWS Systems Manager Automation で推奨される修正フィールドの IDフィールド。customfield_10010 など。

Config ルールは、指定された期間内に自動的に実行されます。動作をすぐに確認するには:

  1. 公開 Amazon S3 バケットを作成します。

  2. AWS Config で Config ルールを開き、[再評価] を選択します。ルールとオートメーションの実行にはしばらく時間がかかることがありますが、違反しているバケットの AWS Config 情報が数分以内に Jira に表示され、修正案として DisableS3BucketPublicReadWrite オートメーションドキュメントが提示されます。