

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

# 向 AWS 最终用户消息社交添加消息和事件目的地
<a name="managing-event-destinations-add"></a>

当您开启消息和事件发布功能后，您的 WhatsApp 企业账户 (WABA) 生成的所有事件都将发送到 Amazon SNS 主题。这包括与 WABA 关联的每个电话号码的事件。您的 WABA 可以有一个与之关联的 Amazon SNS 主题。

## 先决条件
<a name="managing-event-destinations-add_prerequisite"></a>

在开始之前，必须满足以下先决条件才能使用 Amazon SNS 主题或 Amazon Connect 实例作为消息和事件目的地。

**亚马逊 SNS 主题**
+ 已经[创建](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)了 Amazon SNS 主题并[添加了权限](#managing-event-destinations-sns-policies)。
**注意**  
不支持 Amazon SNS FIFO 主题。
+ **（可选）**要使用使用 AWS KMS 密钥加密的 Amazon SNS 主题，您必须向 AWS 最终用户消息社交授予[现有密钥](#managing-event-destinations-topic-policies)策略的权限。

**Amazon Connect 实例**
+ 已[创建](https://docs.aws.amazon.com/connect/latest/adminguide/tutorial1-set-up-your-instance.html)一个 Amazon Connect 实例并添加了[权限](#managing-event-destinations-amazon-connect-policies)。

## 添加消息和事件目的地
<a name="managing-event-destinations-add_steps"></a>

1. 打开 AWS 最终用户消息社交控制台，网址为[https://console.aws.amazon.com/social-messaging/](https://console.aws.amazon.com/social-messaging/)。

1. 选择**企业账户**，然后选择一个 WABA。

1. 在**事件目标**选项卡上，选择**编辑目标**。

1. 要打开活动目的地，请选择 “**启用**”。

1. 对于**目的地类型**，请选择 Amazon SNS 或 Amazon Connect

   1. **要将您的活动发送到亚马逊 SNS 目的地，请在主题 ARN 中输入现有主题 ARN。**有关示例 IAM 策略，请参阅 [Amazon SNS 主题的 IAM 策略](#managing-event-destinations-sns-policies)。

   1. 适用于 Amazon Connect

      1. 对于 **Connect 实**例，请从下拉列表中选择一个实例。

      1. 对于**双向渠道角色**，选择以下任一选项：

         1. **选择现有 IAM 角色**-从现有 IAM **角色下拉列表中选择现有 IAM** 策略。有关示例 IAM 策略，请参阅 [Amazon Connect 的 IAM 策略](#managing-event-destinations-amazon-connect-policies)。

         1. **输入 IAM 角色 ARN** — 在 “**使用现有** IAM 角色 Arn” 中输入 IAM 策略的 ARN。有关示例 IAM 策略，请参阅 [Amazon Connect 的 IAM 策略](#managing-event-destinations-amazon-connect-policies)。

1. 选择**保存更改**。

## 加密的 Amazon SNS 主题政策
<a name="managing-event-destinations-topic-policies"></a>

您可以使用使用 AWS KMS 密钥加密的 Amazon SNS 主题来提高安全级别。如果您的应用程序处理私有或敏感数据，这种增强的安全性会有所帮助。有关 AWS KMS 使用密钥加密 Amazon SNS 主题的更多信息，[请参阅《*亚马逊简单通知*服务开发者指南》中的启用服务事件 AWS 源和加密主题之间的兼容性](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#compatibility-with-aws-services)。

**注意**  
不支持 Amazon SNS FIFO 主题。

该示例语句使用了可选但推荐的`SourceAccount`和`SourceArn`条件来避免混淆副手问题，并且只有 AWS 最终用户消息社交所有者帐户才有权访问。有关混淆代理问题的更多信息，请参阅 *[IAM 用户指南](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)*中的[混淆代理问题](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html)。

您使用的密钥必须是*对称*的。加密的 Amazon SNS 主题不支持非对称 AWS KMS 密钥。

必须修改密钥策略以允许 “ AWS 最终用户社交消息” 使用该密钥。按照《*AWS Key Management Service 开发人员指南*》中[更改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)中的说明向现有密钥策略添加以下权限：

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "social-messaging.amazonaws.com"
    },
    "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{{ACCOUNT_ID}}}"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:{{{PARTITION}}}:social-messaging:{{{REGION}}}:{{{ACCOUNT_ID}}}:*"
        }
     }
}
```

## Amazon SNS 主题的 IAM 策略
<a name="managing-event-destinations-sns-policies"></a>

要使用现有 IAM 角色或创建新角色，请将以下策略附加到该角色，以便 AWS 最终用户消息社交可以代入该角色。有关如何修改角色的信任关系的信息，请参阅 [https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)中的[修改角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_manage.html)部分。

以下是 IAM 角色的**权限策略**。权限策略允许发布到 Amazon SNS 主题。

在以下 IAM 权限策略中，进行以下更改：
+ {{{PARTITION}}}替换为您在其中使用 AWS 最终用户消息社交的 AWS 分区。
+ {{{REGION}}}替换为您 AWS 区域 在中使用 AWS 最终用户消息社交的。
+ {{{ACCOUNT}}}替换为您的唯一 ID AWS 账户。
+ {{{TOPIC\_NAME}}}替换为将接收消息的 Amazon SNS 主题。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": [
          "social-messaging.amazonaws.com"
        ]
       },
    "Action": "sns:Publish",
    "Resource": "arn:{{{PARTITION}}}:sns:{{{REGION}}}:{{{ACCOUNT}}}:{{{TOPIC_NAME}}}"
}
```

## Amazon Connect 的 IAM 策略
<a name="managing-event-destinations-amazon-connect-policies"></a>

如果您希望 AWS 最终用户消息社交使用现有的 IAM 角色或创建新角色，请将以下策略附加到该角色，以便 AWS 最终用户消息社交可以代入该角色。有关如何修改角色的现有信任关系的信息，请参阅 [https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)中的[修改角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_manage.html)。此角色既用于发送事件，也用于将电话号码从 AWS 最终用户消息社交导入到 Amazon Connect。

要创建新的 IAM 策略，请执行以下操作：

1. 按照《IAM 用户指南》的[使用 JSON 编辑器创建策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor)中的说明创建新的**权限策略**。

   1. 在步骤 5 中，使用 IAM 角色的**权限策略**允许发布到 Amazon Connect。

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "AllowOperationsForEventDelivery",
                 "Effect": "Allow",
                 "Action": [
                     "connect:SendIntegrationEvent"
                 ],
                 "Resource": "*"
             },
             {
                 "Sid": "AllowOperationsForPhoneNumberImport",
                 "Effect": "Allow",
                 "Action": [
                     "connect:ImportPhoneNumber",
                     "social-messaging:GetLinkedWhatsAppBusinessAccountPhoneNumber",
                     "social-messaging:TagResource"
                 ],
                 "Resource": "*"
             }
         ]
     }
     ```

------

1. 按照《IAM 用户指南》的[使用自定义信任策略创建角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)中的说明创建新的**信任策略**。

   1. 在步骤 4 中，使用 IAM 角色的**信任策略**。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "social-messaging.amazonaws.com"
                      ]
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. 在步骤 10 中，添加您在上一步中创建的**权限策略**。

## 后续步骤
<a name="managing-event-destinations_next_steps"></a>

设置您的 Amazon SNS 主题后，您必须为该主题订阅终端节点。终端节点将开始接收发布到关联主题的消息。有关订阅主题的更多信息，请参阅亚马逊 S [NS 开发者指南中的订阅 Amazon SN](https://docs.aws.amazon.com//sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) *S* 主题。