向 AWS 最终用户消息社交添加消息和事件目的地 - AWS 最终用户消息社交

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

向 AWS 最终用户消息社交添加消息和事件目的地

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

先决条件

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

Amazon SNS 主题
  • 已经创建了 Amazon SNS 主题并添加了权限

    注意

    不支持 Amazon SNS FIFO 主题。

  • (可选)要使用使用 AWS KMS 密钥加密的 Amazon SNS 主题,您必须向 AWS 最终用户消息社交授予现有密钥策略的权限。

Amazon Connect 实例

添加消息和事件目的地

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

  2. 选择企业账户,然后选择一个 WABA。

  3. 在 “活动目的地” 选项卡上,选择 “编辑目的地”

  4. 要打开活动目的地,请选择 “启用”。

  5. 对于目的地类型,请选择 Amazon SNS 或 Amazon Connect

    1. 要将您的活动发送到亚马逊 SNS 目的地,请在主题 ARN 中输入现有主题 ARN。有关示例 IAM policies,请参阅 亚马逊 SNS 主题的 IAM 政策

    2. 适用于 Amazon Connect

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

      2. 对于双向频道角色,请选择以下任一选项:

        1. 选择现有 IAM 角色-从现有 IAM 角色下拉列表中选择现有 IAM 策略。有关示例 IAM policies,请参阅 Amazon Connect 的 IAM 政策

        2. 输入 IAM 角色 ARN — 在 “使用现有 IAM 角色 Arn” 中输入 IAM 策略的 ARN。有关示例 IAM policies,请参阅 Amazon Connect 的 IAM 政策

  6. 选择 Save changes(保存更改)

加密的 Amazon SNS 主题政策

您可以使用使用 AWS KMS 密钥加密的 Amazon SNS 主题来提高安全级别。如果您的应用程序处理私有或敏感数据,这种增强的安全性会有所帮助。有关 AWS KMS 使用密钥加密 Amazon SNS 主题的更多信息,请参阅《亚马逊简单通知服务开发者指南》中的启用服务事件 AWS 源和加密主题之间的兼容性

注意

不支持 Amazon SNS FIFO 主题。

该示例语句使用了可选但推荐的SourceAccountSourceArn条件来避免混淆副手问题,并且只有 AWS 最终用户消息社交所有者帐户才有权访问。有关混淆副手问题的更多信息,请参阅 IAM 用户指南中的混淆副手问题

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

必须修改密钥策略以允许 “ AWS 最终用户社交消息” 使用该密钥。按照《AWS Key Management Service 开发人员指南》中更改密钥策略中的说明向现有密钥策略添加以下权限:

{ "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}:*" } } }

亚马逊 SNS 主题的 IAM 政策

要使用现有 IAM 角色或创建新角色,请将以下策略附加到该角色,以便 AWS 最终用户消息社交可以代入该角色。有关如何修改角色信任关系的信息,请参阅 IAM 用户指南中的修改角色

以下是 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 政策

如果您希望 AWS 最终用户消息社交使用现有的 IAM 角色或创建新角色,请将以下策略附加到该角色,以便 AWS 最终用户消息社交可以代入该角色。有关如何修改角色的现有信任关系的信息,请参阅 IAM 用户指南中的修改角色。此角色既用于发送事件,也用于将电话号码从 AWS 最终用户消息社交导入到 Amazon Connect。

要创建新的 IAM 策略,请执行以下操作:

  1. 按照 IAM 用户指南中使用 JSON 编辑器创建策略中的说明创建新的权限策略。

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

      { "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": "*" } ] }
  2. 按照 IAM 用户指南中的使用自定义信任策略创建角色中的说明创建新的信任策略

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

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "social-messaging.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    2. 在步骤 10 中,添加您在上一步中创建的权限策略

后续步骤

设置您的 Amazon SNS 主题后,您必须为该主题订阅终端节点。终端节点将开始接收发布到关联主题的消息。有关订阅主题的更多信息,请参阅亚马逊 S NS 开发者指南中的订阅 Amazon SN S 主题。