Firehose 配信ストリームを Amazon SNS トピックにサブスクライブするための前提条件
Amazon Data Firehose 配信ストリームを SNS トピックにサブスクライブするために、AWS アカウント に必要なものは以下の通りです。
-
スタンダード SNS トピック 詳細については、「Amazon SNS トピックを作成する」を参照してください。
-
Firehose 配信ストリーム。詳細については、「Amazon Data Firehose デベロッパーガイド」の「Amazon Data Firehose 配信ストリームの作成」および「Firehose リソースへのアクセス権をアプリケーションに付与する」を参照してください。
-
Amazon SNS サービスプリンシパルを信頼し、配信ストリームへの書き込み権限を持つ AWS Identity and Access Management (IAM) ロール サブスクリプションを作成するときに、このロールの Amazon リソースネーム (ARN) を
SubscriptionRoleARN
として入力します。Amazon SNS はこのロールを引き受け、Amazon 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 トピックへサブスクライブできます。