本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IAM将事件直播到 Kinesis 的角色
Amazon Pinpoint 可以自动将应用程序使用数据或事件数据从您的应用程序发送到您账户中的亚马逊 Kinesis 数据流或亚马逊数据 Firehose 传输流。 AWS 您必须先向 Amazon Pinpoint 委派所需权限,然后 Amazon Pinpoint 才能开始流式传输事件数据。
如果您使用控制台设置事件直播,Amazon Pinpoint 会自动创建具有所需权限的 AWS Identity and Access Management (IAM) 角色。有关更多信息,请参阅《Amazon Pinpoint 用户指南》中的将 Amazon Pinpoint 事件流式传输到 Amazon Kinesis。
如果您想要手动创建角色,请将以下策略附加到角色:
-
允许 Amazon Pinpoint 将事件数据发送到流的权限策略。
-
允许 Amazon Pinpoint 代入角色的信任策略。
创建角色之后,您可以将 Amazon Pinpoint 配置为自动将事件发送到流。有关更多信息,请参阅本指南中的 使用亚马逊 Pinpoint 通过 Kinesis 和 Firehose 流式传输应用程序事件数据。
创建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 开发者指南中的创建和管理流或亚马逊数据 Firehose 开发者指南中的创建亚马逊数据 Firehose 传输流。
要创建IAM角色,请使用 AWS CLI
-
创建新的文件。将以下政策粘贴到文档中并进行以下更改:
-
Replace(替换)
region
与您使用 Amazon Pinpoint 的 AWS 地区相同。 -
Replace(替换)
accountId
使用您 AWS 账户的唯一 ID。 -
Replace(替换)
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
。 -
-
使用
create-role
命令创建角色并附加信任策略:aws iam create-role --role-name
PinpointEventStreamRole
--assume-role-policy-document file://PinpointEventStreamTrustPolicy.json -
创建新的包含角色的权限策略的文件。
如果您要将 Amazon Pinpoint 配置为向 Kinesis 直播发送数据,请将以下策略粘贴到文件中并替换以下内容:
-
Replace(替换)
region
与您使用 Amazon Pinpoint 的 AWS 地区相同。 -
Replace(替换)
accountId
使用您 AWS 账户的唯一 ID。 -
Replace(替换)
streamName
上面写着你的 Kinesis 直播的名字。
{ "Version": "2012-10-17", "Statement": { "Action": [ "kinesis:PutRecords", "kinesis:DescribeStream" ], "Effect": "Allow", "Resource": [ "arn:aws:kinesis:
region
:accountId
:stream/streamName
" ] } }或者,如果您将 Amazon Pinpoint 配置为向 Firehose 直播发送数据,请将以下策略粘贴到文件中并替换以下内容:
-
Replace(替换)
region
与您使用 Amazon Pinpoint 的 AWS 地区相同。 -
Replace(替换)
accountId
使用您 AWS 账户的唯一 ID。 -
Replace(替换)
delivery-stream-name
上面写着你的 Firehose 直播的名字。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "firehose:PutRecordBatch", "firehose:DescribeDeliveryStream" ], "Resource": [ "arn:aws:firehose:
region
:accountId
:deliverystream/delivery-stream-name
" ] } }完成后,将文件另存为
PinpointEventStreamPermissionsPolicy.json
。 -
-
使用
put-role-policy
命令将权限策略附加到角色:aws iam put-role-policy --role-name
PinpointEventStreamRole
--policy-name PinpointEventStreamPermissionsPolicy --policy-document file://PinpointEventStreamPermissionsPolicy.json