

AWS Systems Manager Incident Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS Systems Manager Incident Manager 可用性变更](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 PagerDuty 访问凭证存储在 AWS Secrets Manager 密钥中
<a name="integrations-pagerduty-secret"></a>

 PagerDuty 为响应计划开启与集成后，事件管理器将按以下 PagerDuty 方式使用：
+  PagerDuty 当您在事件管理器中创建新事件时，事件管理器会在中创建相应的事件。
+  PagerDuty 环境中使用您在中 PagerDuty 创建的寻呼工作流程和升级策略。但是，事件管理器不会导入您的 PagerDuty 配置。
+ 事件管理器将时间轴事件作为事件的注释发布 PagerDuty，最多 2,000 个注释。
+ 在事件管理器中解决相关 PagerDuty 事件时，您可以选择自动解决事件。

要将 Incident Manager 与集成 PagerDuty，您必须先在中创建一个 AWS Secrets Manager 包含您的 PagerDuty 凭据的密钥。这些允许事件管理器与您的 PagerDuty服务进行通信。然后，您可以在事件管理器中创建的响应计划中包含一项 PagerDuty 服务。

您在 Secrets Manager 中创建的该密钥必须以正确的 JSON 格式包含以下内容：
+ 来自您 PagerDuty 账户的 API 密钥。您可以使用通用访问 REST API 密钥，也可以使用用户令牌 REST API 密钥。
+ 您的 PagerDuty 子域中的有效用户电子邮件地址。
+ 您部署子域名的 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` 权限。
以下策略说明了这些权限。将每个 {{user input placeholder}} 替换为您自己的信息。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy-3",
    "Statement": [
        {
            "Sid": "Enable IAM user permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}: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 开发人员指南》**中的[创建对称加密 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)。有关 AWS KMS 密钥的更多信息，请参阅[AWS KMS 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)。  
如果现有的客户托管式密钥满足之前的所有要求，则可以编辑其策略以添加这些权限。有关在客户托管式密钥中更新策略的信息，请参阅《AWS Key Management Service 开发人员指南》**中的[更改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)。  
您可以指定条件密钥来进一步限制访问权限。例如，以下策略允许通过 Secrets Manager 访问美国东部（俄亥俄州）区域 (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 用户指南*》中[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中的步骤 3a 中的步骤进行操作。

1. 在步骤 3b 中，对于**密钥/值对**，请执行以下操作：
   + 选择**纯文本**选项卡。
   + 将方框中的默认内容替换为以下 JSON 结构：

     ```
     {
         "pagerDutyToken": "{{pagerduty-token}}",
         "pagerDutyServiceRegion": "{{pagerduty-region}}",
         "pagerDutyFromEmail": "{{pagerduty-email}}"
     }
     ```
   + 在您粘贴的 JSON 示例中，{{placeholder values}}按以下方式替换：
     + {{pagerduty-token}}：您 PagerDuty 账户中的通用访问权限 REST API 密钥或用户令牌 REST API 密钥的值。

       有关相关信息，请参阅*PagerDuty 知识库*中的 [API 访问密钥](https://support.pagerduty.com/docs/api-access-keys)。
     + {{pagerduty-region}}：托管您的 PagerDuty 子域 PagerDuty 的数据中心的服务区域。

       有关相关信息，请参阅*PagerDuty 知识库*中的[服务区域](https://support.pagerduty.com/docs/service-regions)。
     + {{pagerduty-email}}：属于您的 PagerDuty 子域的用户的有效电子邮件地址。

       有关相关信息，请参阅*PagerDuty 知识库*中的[管理用户](https://support.pagerduty.com/docs/users)。

     以下示例显示了包含所需 PagerDuty凭据的完整的 JSON 密钥：

     ```
     {
         "pagerDutyToken": "y_NbAkKc66ryYEXAMPLE",
         "pagerDutyServiceRegion": "US",
         "pagerDutyFromEmail": "JohnDoe@example.com"
     }
     ```

1. 在步骤 3c 中，对于**加密密钥**，选择您创建的符合上一部分**先决条件**中所列要求的客户托管式密钥。

1. 在步骤 4c 中，对于**资源权限**，请执行以下操作：
   + 展开**资源权限**。
   + 选择**编辑权限**。
   + 将策略方框中的默认内容替换为以下 JSON 结构：

     ```
     {
         "Effect": "Allow",
         "Principal": {
             "Service": "ssm-incidents.amazonaws.com"
         },
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "*"
     }
     ```
   + 选择**保存**。

1. 在步骤 4d 中，对于**复制密钥**，如果将响应计划复制到多个 AWS 区域，请执行以下操作：
   + 展开**复制密钥**。
   + 对于 **AWS 区域**，选择在其中复制响应计划的区域。
   + 对于**加密密钥**，请选择在该区域创建或复制到该区域的符合**先决条件**部分所列要求的客户托管式密钥。
   + 对于每增加一个 AWS 区域，请选择**添加区域**，然后选择区域名称和客户托管密钥。

1. 完成《*AWS Secrets Manager 用户指南*》中[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中的其余步骤。

有关如何将 PagerDuty 服务添加到 Incident Manager 事件工作流程的信息，请参阅主题[中的将 PagerDuty 服务集成到响应计划](response-plans.md#anchor-pagerduty)中[制定响应计划](response-plans.md#response-plans-create)。

**相关信息**

[如何使用 PagerDuty 和实现事件响应自动化 AWS Systems Manager Incident Manager](https://aws.amazon.com/blogs/mt/how-to-automate-incident-response-with-pagerduty-and-aws-systems-manager-incident-manager/)（AWS Cloud 运营和迁移博客）

《AWS Secrets Manager 用户指南》**中的[在 AWS Secrets Manager中的密钥加密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)