View a markdown version of this page

将消息和事件目标添加到 AWS 最终用户社交消息 - AWS 最终用户社交消息

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

将消息和事件目标添加到 AWS 最终用户社交消息

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

先决条件

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

亚马逊 SNS 话题
  • 创建 Amazon SNS 主题并添加权限。

    注意

    不支持 Amazon SNS FIFO 主题。

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

连接客户实例

添加消息和活动目的地

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

  2. 选择 “企业账户”,然后选择 WABA。

  3. 事件目标选项卡上,选择编辑目标

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

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

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

    2. 适用于 Connect 客户

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

      2. 对于Two-way 频道角色,请选择以下任一选项:

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

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

  6. 选择保存更改

加密的 Amazon SNS 主题政策

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

注意

不支持 Amazon SNS FIFO 主题。

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

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

必须修改密钥政策,以允许 AWS 最终用户 Messaging Social 使用该密钥。按照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}:*" } } }

Amazon SNS 主题的 IAM 策略

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

以下是 IAM 角色的权限策略。权限政策允许发布到亚马逊 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}" }

Connect Customer 的 IAM 策略

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

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

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

    1. 在第 5 步中,使用 IAM 角色的权限策略来允许向 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": "*" } ] }
  2. 按照《IAM 用户指南》的使用自定义信任策略创建角色中的说明创建新的信任策略

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

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

后续步骤

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