Kinesis にイベントをストリーミングするための IAM ロール - Amazon Pinpoint

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Kinesis にイベントをストリーミングするための IAM ロール

Amazon Pinpoint は、アプリから AWS アカウント内の Amazon Kinesis データストリームまたは Amazon Data Firehose 配信ストリームに、アプリの使用状況データまたはイベントデータを自動的に送信できます。Amazon Pinpoint でイベントデータのストリーミングを開始するには、事前に Amazon Pinpoint に必要なアクセス権限を割り当てなければなりません。

コンソールを使用してイベントストリーミングをセットアップする場合、Amazon Pinpoint は自動的に必要なアクセス権限を持つ AWS Identity and Access Management (IAM) ロールを作成します。詳細については、『Amazon Pinpoint ユーザーガイド』の「Amazon Pinpoint イベントを Amazon Kinesis へストリーミングする」を参照してください。

手動でロールを作成する場合は、次のポリシーをロールにアタッチします。

  • イベントデータをストリームに送信することを Amazon Pinpoint に許可するアクセス許可ポリシー。

  • Amazon Pinpoint がロールを引き受けるのを許可する信頼ポリシー。

ロールの作成が完了したら、Amazon Pinpoint を設定して自動的にストリームにイベントを送信できます。詳細については、このガイドの「Amazon Pinpoint のイベントを Kinesis にストリーミングする」を参照してください。

IAM ロールの作成 (AWS CLI)

AWS Command Line Interface (AWS CLI) を使って IAM ロールを手動で作成するには、次の手順を実行します。Amazon Pinpoint コンソールを使用してロールを作成する方法については、『Amazon Pinpoint ユーザーガイド』の「Amazon Pinpoint のイベントを Kinesis にストリーミングする」を参照してください。

をインストールしていない場合は AWS CLI、「 AWS Command Line Interface ユーザーガイド」の「 AWS CLIのインストール」を参照してください。また、Kinesis ストリームまたは Firehose ストリームを作成している必要があります。これらのリソースの作成の詳細については、「Amazon Kinesis Data Streams デベロッパーガイド」の「ストリームの作成と管理」または「Amazon Data Firehose デベロッパーガイド」の Amazon Kinesis「Amazon Data Firehose 配信ストリームの作成」を参照してください。

を使用して IAM ロールを作成するには AWS CLI
  1. 新しいファイルを作成します。次のポリシーをドキュメントに貼り付け、次の変更を加えます。

    • region は、Amazon Pinpoint を使用する AWS リージョンに置き換えます。

    • accountId を AWS アカウントの一意の ID に置き換えます。

    • applicationId をプロジェクトの一意の ID に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pinpoint.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:region:accountId:apps/applicationId" } } } ] }

    終了したら、PinpointEventStreamTrustPolicy.json としてファイルを保存します。

  2. create-role コマンドを使用して、ロールを作成し、信頼ポリシーをアタッチします。

    aws iam create-role --role-name PinpointEventStreamRole --assume-role-policy-document file://PinpointEventStreamTrustPolicy.json
  3. ロールのアクセス許可ポリシーを含む新しいファイルを作成します。

    Kinesis ストリームにデータを送信するように Amazon Pinpoint を設定する場合は、次のポリシーを ファイルに貼り付け、以下を置き換えます。

    • region を Amazon Pinpoint を使用する AWS リージョンに置き換えます。

    • accountId を AWS アカウントの一意の ID に置き換えます。

    • streamName を Kinesis ストリームの名前に置き換えます。

    { "Version": "2012-10-17", "Statement": { "Action": [ "kinesis:PutRecords", "kinesis:DescribeStream" ], "Effect": "Allow", "Resource": [ "arn:aws:kinesis:region:accountId:stream/streamName" ] } }

    または、Firehose ストリームにデータを送信するように Amazon Pinpoint を設定する場合は、次のポリシーをファイルに貼り付け、以下を置き換えます。

    • region を Amazon Pinpoint を使用する AWS リージョンに置き換えます。

    • accountId を AWS アカウントの一意の ID に置き換えます。

    • を Firehose ストリームの名前delivery-stream-nameに置き換えます。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "firehose:PutRecordBatch", "firehose:DescribeDeliveryStream" ], "Resource": [ "arn:aws:firehose:region:accountId:deliverystream/delivery-stream-name" ] } }

    終了したら、PinpointEventStreamPermissionsPolicy.json としてファイルを保存します。

  4. put-role-policy コマンドを使用して、ロールにアクセス権限ポリシーをアタッチします。

    aws iam put-role-policy --role-name PinpointEventStreamRole --policy-name PinpointEventStreamPermissionsPolicy --policy-document file://PinpointEventStreamPermissionsPolicy.json