将 Firehose 直播订阅亚马逊主题的先决条件 SNS - Amazon Simple Notification Service

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

将 Firehose 直播订阅亚马逊主题的先决条件 SNS

要将 Amazon Data Firehose 传送流订阅某个SNS主题,您 AWS 账户 必须具备以下条件:

  • 标准SNS话题。有关更多信息,请参阅 创建亚马逊SNS主题

  • Firehose 的直播流。有关更多信息,请参阅《亚马逊数据 Firehose 开发者指南》中的创建亚马逊数据 Firehose 传输流并向您的应用程序授予对您的 Firehos e 资源的访问权限

  • 信任 Amazon SNS 服务主体并有权写入传输流的 AWS Identity and Access Management (IAM) 角色。您将在创建订阅SubscriptionRoleARN时输入此角色的 Amazon 资源名称 (ARN)。亚马逊SNS担任这个角色,这使亚马逊SNS能够将记录放入Firehose的交付流中。

    下面的示例策略显示了建议的权限:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams", "firehose:ListTagsForDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": [ "arn:aws:firehose:us-east-1:111111111111:deliverystream/firehose-sns-delivery-stream" ], "Effect": "Allow" } ] }

    要提供使用 Firehose 的完全权限,您还可以使用 AWS 托管策略。AmazonKinesisFirehoseFullAccess或者,要为使用 Firehose 提供更严格的权限,您可以创建自己的策略。至少,策略必须提供在特定传输流上运行 PutRecord 操作的权限。

    在所有情况下,您还必须编辑信任关系以包括 Amazon SNS 服务委托人。例如:

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

    有关创建角色的更多信息,请参阅《IAM用户指南》中的创建角色以向 AWS 服务委派权限

完成这些要求后,您可以通过直播订阅该SNS主题