订阅 Kinesis Data Firehose 传输流到 Amazon SNS 主题的先决条件 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

订阅 Kinesis Data Firehose 传输流到 Amazon SNS 主题的先决条件

要将 Amazon Kinesis Data Firehose 传输流订阅到 SNS 主题,您的 Amazon Web Services 账户 必须具有:

  • 标准 SNS 主题。有关更多信息,请参阅 创建 Amazon SNS 主题

  • Kinesis Data Firehose 传输流。有关更多信息,请参阅 Amazon Kinesis Data Firehose 开发人员指南中的创建 Amazon Kinesis Data Firehose 传输流授予您的应用程序对 Kinesis Data Firehose 资源的访问权限

  • 信任 Amazon SNS 服务委托人并具有写入到传输流的权限的 Amazon Identity and Access Management (IAM) 角色。创建订阅时,您将输入此角色的 Amazon Resource Name (ARN) 作为 SubscriptionRoleARN。Amazon SNS 担任此角色,它允许 Amazon SNS 将记录放入 Kinesis Data 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" } ] }

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

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

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

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

完成这些要求后,您可以将传输流订阅到 SNS 主题