

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

# 创建 OTA 更新服务角色
<a name="create-service-role"></a>

OTA 更新服务假定此角色代表您创建和管理 OTA 更新作业。<a name="create-service-role-steps"></a>

**创建 OTA 服务角色**

1. 登录到 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 从导航窗格中，选择 **Roles**。

1. 选择**创建角色**。

1. 在**选择受信任实体的类型**下，选择 **AWS 服务**。

1. 从 AWS 服务列表中选择 **IoT**。

1. 在**选择您的使用案例**下面，选择 **IoT**。

1. 选择**下一步: 权限**。

1. 选择**下一步: 标签**。

1. 选择**下一步：审核**。

1. 输入角色名称和描述，然后选择 **Create role (创建角色)**。

有关 IAM 角色的更多信息，请参阅 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

**重要**  
要解决令人困惑的代理安全问题，您必须按照 [AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/cross-service-confused-deputy-prevention.html) 指南中的说明进行操作。<a name="add-ota-permissions"></a>

**将 OTA 更新权限添加到 OTA 服务角色**

1. 在 IAM 控制台页面上的搜索框中，输入角色的名称，然后从列表中选择该角色。

1. 选择**附加策略**。

1. 在**搜索**框中，输入 AmazonFree RTOSOTAUpdate “”，**AmazonFreeRTOSOTAUpdate**从筛选的策略列表中进行选择，然后选择**附加策略**以将策略附加到您的服务角色。<a name="add-iam-permissions"></a>

**将所需 IAM 权限添加到 OTA 服务角色**

1. 在 IAM 控制台页面上的搜索框中，输入角色的名称，然后从列表中选择该角色。

1. 选择**添加内联策略**。

1. 选择 **JSON** 选项卡。

1. 将以下策略文档复制并粘贴到文本框中：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iam:GetRole",
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/your_role_name"
           }
       ]
   }
   ```

------

   请务必*your\$1account\$1id*使用您的 AWS 账户 ID 和 OTA 服务角色的名称*your\$1role\$1name*进行替换。

1. 选择**查看策略**。

1. 为策略输入名称，然后选择 **Create policy (创建策略)**。

**注意**  
如果您的 Amazon S3 存储桶名称以“afr-ota”开头，则无需执行以下过程。如果是，则 AWS 托管策略`AmazonFreeRTOSOTAUpdate`已包含所需的权限。<a name="add-s3-permissions"></a>

****将所需 Amazon S3 权限添加到 OTA 服务角色****

1. 在 IAM 控制台页面上的搜索框中，输入角色的名称，然后从列表中选择该角色。

1. 选择**添加内联策略**。

1. 选择 **JSON** 选项卡。

1. 将以下策略文档复制并粘贴到框中。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObjectVersion",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": [
                   "arn:aws:s3:::example-bucket/*"
               ]
           }
       ]
   }
   ```

------

   此策略授予您 OTA 服务角色权限以读取 Amazon S3 对象。请务必*example-bucket*替换为存储桶的名称。

1. 选择**查看策略**。

1. 为策略输入名称，然后选择 **Create policy (创建策略)**。