

**终止支持通知：** AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后，您将不再能够访问 Amazon Pinpoint 控制台或 Amazon Pinpoint 资源（端点、分段、活动、旅程和分析）。有关更多信息，请参阅 [Amazon Pinpoint 终止支持](https://docs.aws.amazon.com/console/pinpoint/migration-guide)。**注意：** APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响，并受 AWS 最终用户消息的支持。

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

# 用于将事件流式传输到 Kinesis 的 IAM 角色
<a name="permissions-streams"></a>

Amazon Pinpoint 可以自动将应用程序使用数据或*事件数据*从您的应用程序发送到您账户中的亚马逊 Kinesis 数据流或亚马逊数据 Firehose 传输流。 AWS 您必须先向 Amazon Pinpoint 委派所需权限，然后 Amazon Pinpoint 才能开始流式传输事件数据。

如果您使用控制台设置事件流式传输，则 Amazon Pinpoint 会自动创建具备所需权限的 AWS Identity and Access Management (IAM) 角色。有关更多信息，请参阅《Amazon Pinpoint 用户指南》**中的[将 Amazon Pinpoint 事件流式传输到 Kinesis](https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-streaming.html#analytics-streaming-kinesis)。

如果您想要手动创建角色，请将以下策略附加到角色：
+ 允许 Amazon Pinpoint 将事件数据发送到流的权限策略。
+ 允许 Amazon Pinpoint 代入角色的信任策略。

创建角色之后，您可以将 Amazon Pinpoint 配置为自动将事件发送到流。有关更多信息，请参阅本指南中的 [使用 Amazon Pinpoint 通过 Kinesis 和 Firehose 流式传输应用程序事件数据](event-streams.md)。

## 创建 IAM 角色 (AWS CLI)
<a name="permissions-streams-create"></a>

完成以下步骤，以使用 AWS Command Line Interface (AWS CLI) 手动创建 IAM 角色。要了解如何使用 Amazon Pinpoint 控制台创建角色，请参阅《Amazon Pinpoint 用户指南》中的[将 Amazon Pinpoint 事件流式传输到 Kinesis](https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-streaming.html#analytics-streaming-kinesis)。**

如果您尚未安装 AWS CLI，请参阅《*AWS Command Line Interface 用户指南*[》 AWS CLI中的 “安装](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html)”。您还需要创建 Kinesis 流或 Firehose 流。有关创建这些资源的信息，请参阅《Amazon Kinesis Data Streams 开发人员指南》**中的[创建和管理数据流](https://docs.aws.amazon.com/streams/latest/dev/working-with-streams.html)，或者《Amazon Data Firehose 开发人员指南》**中的[创建 Amazon Data Firehose 传输流](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)。

**使用创建 IAM 角色 AWS CLI**

1. 创建新的文件。将以下策略粘贴到文档中，然后进行如下更改：
   + *region*替换为您使用亚马逊 Pinpoint 的 AWS 区域。
   + *accountId*替换为 AWS 账户的唯一 ID。
   + *applicationId*替换为项目的唯一 ID。

------
#### [ JSON ]

****  

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

------

   完成后，将文件另存为 `PinpointEventStreamTrustPolicy.json`。

1. 使用 [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 命令创建角色并附加信任策略：

   ```
   aws iam create-role --role-name PinpointEventStreamRole --assume-role-policy-document file://PinpointEventStreamTrustPolicy.json
   ```

1. 创建新的包含角色的权限策略的文件。

   如果要将 Amazon Pinpoint 配置为向 Kinesis 流发送数据，请将以下策略粘贴到文件中并进行如下替换：
   + *region*替换为您使用亚马逊 Pinpoint 的 AWS 区域。
   + *accountId*替换为 AWS 账户的唯一 ID。
   + *streamName*替换为你的 Kinesis 直播的名称。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Action": [
               "kinesis:PutRecords",
               "kinesis:DescribeStream"
           ],
           "Effect": "Allow",
           "Resource": [
               "arn:aws:kinesis:us-east-1:111122223333:stream/streamName"
           ]
       }
   }
   ```

------

   或者，如果要将 Amazon Pinpoint 配置为向 Firehose 流发送数据，请将以下策略粘贴到文件中并进行如下替换：
   + *region*替换为您使用亚马逊 Pinpoint 的 AWS 区域。
   + *accountId*替换为 AWS 账户的唯一 ID。
   + *delivery-stream-name*替换为你的 Firehose 直播的名称。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": [
               "firehose:PutRecordBatch",
               "firehose:DescribeDeliveryStream"
           ],
           "Resource": [
               "arn:aws:firehose:us-east-1:111122223333:deliverystream/delivery-stream-name"
           ]
       }
   }
   ```

------

   完成后，将文件另存为 `PinpointEventStreamPermissionsPolicy.json`。

1. 使用 [https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) 命令将权限策略附加到角色：

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