PagerDuty アクセス認証情報を AWS Secrets Manager シークレットに保存する - Incident Manager

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

PagerDuty アクセス認証情報を AWS Secrets Manager シークレットに保存する

対応計画 PagerDuty で との統合を有効にすると、Incident Manager は次の方法で と連携 PagerDuty します。

  • Incident Manager は、Incident Manager で新しいインシデントを作成する PagerDuty と、対応するインシデントを に作成します。

  • で作成したページングワークフローとエスカレーションポリシー PagerDuty は、 PagerDuty 環境で使用されます。ただし、Incident Manager は PagerDuty 設定をインポートしません。

  • Incident Manager は、タイムラインイベントを、最大 2,000 件のメモまで PagerDuty、 のインシデントに対するメモとして発行します。

  • Incident Manager で関連する PagerDuty インシデントを解決するときに、インシデントを自動的に解決するように選択できます。

Incident Manager を と統合するには PagerDuty、まず PagerDuty 認証情報 AWS Secrets Manager を含むシークレットを で作成する必要があります。これにより、Incident Manager はサービスと通信できます PagerDuty。その後、Incident Manager で作成した対応計画に PagerDuty サービスを含めることができます。

Secrets Manager で作成するこのシークレットには、適切な JSON 形式で以下が含まれている必要があります。

  • PagerDuty アカウントの API キー。汎用アクセス REST API キーまたはユーザートークン REST API キーのいずれかを使用できます。

  • PagerDuty サブドメインからの有効なユーザーの E メールアドレス。

  • サブドメインをデプロイした PagerDuty サービスリージョン。

    注記

    PagerDuty サブドメイン内のすべてのサービスは、同じサービスリージョンにデプロイされます。

前提条件

Secrets Manager でシークレットを作成する前に、次の要件を満たしていることを確認してください。

KMS キー

作成したシークレットは、 AWS Key Management Service () で作成したカスタマーマネージドキーで暗号化する必要がありますAWS KMS。このキーは、 PagerDuty 認証情報を保存するシークレットを作成するときに指定します。

重要

Secrets Manager には、 を使用してシークレットを暗号化するオプションがありますが AWS マネージドキー、この暗号化モードはサポートされていません。

カスタマーマネージドキーは次の要件を満たしている必要があります。

  • [キーのタイプ]: [対称] を選択します。

  • [キーの使用法]: [暗号化および復号化] を選択します。

  • リージョン: 対応計画を複数の にレプリケートする場合は AWS リージョン、必ずマルチリージョンキー を選択してください。

     

キーポリシー

対応計画を設定するユーザーには、キーのリソースベースのポリシーの kms:GenerateDataKey および kms:Decrypt に対するアクセス許可が必要です。ssm-incidents.amazonaws.com サービスプリンシパルには、キーのリソースベースポリシーの kms:GenerateDataKey および kms:Decrypt に対するアクセス許可が必要です。

次のポリシーは、これらのアクセス許可を示しています。各ユーザー入力プレースホルダーを独自の情報に置き換えます。

{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM user permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow creator of response plan to use the key", "Effect": "Allow", "Principal": { "AWS": "IAM_ARN_of_principal_creating_response_plan" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }, { "Sid": "Allow Incident Manager to use the key", "Effect": "Allow", "Principal": { "Service": "ssm-incidents.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" } ] }

新しいカスタマーマネージドキーの作成の詳細については、「AWS Key Management Service デベロッパーガイド」の「Creating symmetric encryption KMS keys」を参照してください。 AWS KMS キーの詳細については、「 のAWS KMS 概念」を参照してください。

既存のカスタマーマネージドキーが上記の要件をすべて満たしている場合は、ポリシーを編集してこれらのアクセス許可を追加できます。カスタマーマネージドキーのポリシーの更新については、「AWS Key Management Service デベロッパーガイド」の「キーポリシーの変更」を参照してください。

ヒント

条件キーを指定してアクセスをさらに制限できます。例えば、次のポリシーでは、米国東部 (オハイオ) リージョン (us-east-2) でのみ Secrets Manager からのアクセスを許可します。

{ "Sid": "Enable IM Permissions", "Effect": "Allow", "Principal": { "Service": "ssm-incidents.amazonaws.com" }, "Action": ["kms:Decrypt", "kms:GenerateDataKey*"], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } }
GetSecretValue アクセス許可

対応計画を作成する IAM アイデンティティ (ユーザー、ロール、またはグループ) には IAM アクセス許可 secretsmanager:GetSecretValue が必要です。

PagerDuty アクセス認証情報を AWS Secrets Manager シークレットに保存するには
  1. ユーザーガイドの「 AWS Secrets Manager シークレットを作成する」のステップ 3a のステップに従います。 AWS Secrets Manager

  2. ステップ 3bの [キーと値のペア] で、次の操作を行います。

    • [プレーンテキスト] タブを選択します。

    • ボックスのデフォルトの内容を以下の JSON 構造に置き換えます。

      { "pagerDutyToken": "pagerduty-token", "pagerDutyServiceRegion": "pagerduty-region", "pagerDutyFromEmail": "pagerduty-email" }
    • 貼り付けた JSON サンプルで、プレースホルダーの値を次のように置き換えます。

      • pagerduty-token : PagerDuty アカウントの一般アクセス REST API キーまたはユーザートークン REST API キーの値。

        関連情報については、 PagerDuty ナレッジベース「 API アクセスキー」を参照してください。

      • pagerduty-region: PagerDuty サブドメインをホストする PagerDuty データセンターのサービスリージョン。

        関連情報については、ナレッジPagerDuty ベース「サービスリージョン」を参照してください。

      • pagerduty-email: PagerDuty サブドメインに属するユーザーの有効な E メールアドレス。

        関連情報については、 PagerDuty ナレッジベース「ユーザーの管理」を参照してください。

      次の例は、必要な PagerDuty認証情報を含む完成した JSON シークレットを示しています。

      { "pagerDutyToken": "y_NbAkKc66ryYEXAMPLE", "pagerDutyServiceRegion": "US", "pagerDutyFromEmail": "JohnDoe@example.com" }
  3. ステップ 3c の [暗号化キー] で、前の「前提条件」セクションに記載されている要件を満たす、作成したカスタマーマネージドキーを選択します。

  4. ステップ 4c の [リソースのアクセス許可] で、次の操作を行います。

    • [リソースのアクセス許可] を展開します。

    • [アクセス許可の編集] を選択します。

    • ポリシーボックスのデフォルトの内容を以下の JSON 構造に置き換えます。

      { "Effect": "Allow", "Principal": { "Service": "ssm-incidents.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" }
    • [保存] を選択します。

  5. 対応計画を複数の AWS リージョン に複製した場合は、ステップ 4d の [シークレットをレプリケート] で次の操作を行います。

    • [シークレットをレプリケート] を展開します。

    • AWS リージョン で、対応計画を複製したリージョンを選択します。

    • [暗号化キー] には、「前提条件」セクションの下に記載されている要件を満たす、このリージョンで作成した、またはこのリージョンに複製したカスタマーマネージドキーを選択します。

    • 追加の ごとに AWS リージョン、リージョンの追加を選択し、リージョン名とカスタマーマネージドキーを選択します。

  6. 「 ユーザーガイド」の「 AWS Secrets Manager シークレットを作成するAWS Secrets Manager 」の残りのステップを完了します。

Incident Manager インシデントワークフローに PagerDuty サービスを追加する方法については、「」トピックの PagerDuty 「サービスを対応計画に統合する」を参照してください対応計画の作成

関連情報

PagerDuty と を使用してインシデント対応を自動化する方法 AWS Systems Manager Incident Manager (AWS クラウド 運用と移行ブログ)

「AWS Secrets Manager ユーザーガイド」の「AWS Secrets Manager のシークレット暗号化と復号