

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

# 创建 AWS IoT 资源
<a name="create-iot-resources"></a>

在本教程中，您将创建设备连接 AWS IoT Core 和交换消息所需的 AWS IoT 资源。

![\[创建 AWS IoT 资源页面。\]](http://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/images/iot-gs-create-resources.png)


1. 创建一份 AWS IoT 政策文档，授权您的设备与 AWS IoT 服务进行交互。

1. 在中创建事物对象 AWS IoT 及其 X.509 设备证书，然后附加策略文档。事物对象是您的设备在 AWS IoT 注册表中的虚拟表示形式。证书对您的设备进行身份验证 AWS IoT Core，策略文档授权您的设备与之交互。 AWS IoT
**注意**  
如果您计划 [使用 Amazon EC2 创建虚拟设备](creating-a-virtual-thing.md)，则可以跳过此页面并继续前往 [配置您的设备](configure-device.md)。当您创建虚拟事物时，将会创建这些资源。

本教程使用 AWS IoT 控制台创建 AWS IoT 资源。如果您的设备支持 Web 浏览器，则在设备的 Web 浏览器上运行此流程可能会更容易，因为您可以将证书文件直接下载到您的设备上。如果您在另一台电脑上运行此流程，则需要先将证书文件复制到您的设备，然后才能为示例应用程序所用。

## 创建 AWS IoT 策略
<a name="create-iot-policy"></a>

设备使用 X.509 证书进行身份验证。 AWS IoT Core证书附有 AWS IoT 政策。这些策略决定了允许设备执行哪些 AWS IoT 操作，例如订阅或发布 MQTT 主题。您的设备在连接并向其发送消息时会出示其证书 AWS IoT Core。

按照步骤创建一个策略，以允许您的设备执行运行示例程序所需的 AWS IoT 操作。您必须先创建 AWS IoT 策略，然后才能将其附加到稍后创建的设备证书。

**创建 AWS IoT 策略**

1. 在 [AWS IoT 控制台](https://console.aws.amazon.com//iot/home)的左侧菜单中，选择**安全**，然后选择**策略**。

1. 在 **You don't have a policy yet**（您还没有策略）页面上，选择 **Create policy**（创建策略）。

   如果您的账户有现有策略，请选择**创建策略**。

1. 在 **Create policy**（创建策略）页面上：

   1. 在 **Policy properties**（策略属性）部分，在 **Policy name**（策略名称）字段中，输入策略的名称（例如，**My\$1Iot\$1Policy**）。请勿在策略名称中使用个人身份信息。

   1. 在 **Policy document**（策略文档）部分，创建用于授予或拒绝资源访问 AWS IoT Core 操作的策略语句。要创建允许所有客户端执行 ****iot:Connect**** 的策略语句，请按照以下步骤操作：
      + 在 **Policy effect**（策略效果）字段中，选择 **Allow**（允许）。这允许将此策略附加到其证书的所有客户端执行 **Policy action**（策略操作）字段中列出的操作。
      + 在 **Policy action**（策略操作）字段中，选择策略操作，例如 ****iot:Connect****。策略操作是指设备在从设备 SDK 运行示例程序时需要权限才能执行的操作。
      + 在**策略资源**字段中，输入资源 Amazon 资源名称（ARN）或 **\$1**。用于选择任何客户端（设备）的 **\$1**。

      要为 ****iot:Receive****、****iot:Publish**** 和 ****iot:Subscribe**** 创建策略语句，请选择**添加新语句**并重复相关步骤。  
![\[创建策略的页面。\]](http://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/images/gs-create-policy-new.png)
**注意**  
在此快速入门教程中，为了简单起见，将使用通配符 (\$1)。为了提高安全性，您应该指定客户端 ARN 而不是通配符作为资源，从而限定哪些客户端（设备）可以连接和发布消息。客户 ARNs 遵循这种格式:`arn:aws:iot:your-region:your-aws-account:client/my-client-id`.  
但是，您必须先创建资源（如客户端设备或事物影子），然后才能将其 ARN 分配给策略。有关更多信息，请参阅 [AWS IoT Core 操作资源](https://docs.aws.amazon.com//iot/latest/developerguide/iot-action-resources.html)。

1. 在输入策略的信息后，选择 **Create**（创建）。

有关更多信息，请参阅 [如何 AWS IoT 与 IAM 配合使用](security_iam_service-with-iam.md)。

## 创建一个事物对象
<a name="create-aws-thing"></a>

连接的设备 AWS IoT Core 由 AWS IoT 注册表中的*事物对象*表示。*事物对象*表示特定设备或逻辑实体。它可以是物理设备或传感器（例如，灯泡或墙壁上的开关）。它也可以是一个逻辑实体，例如应用程序或物理实体的实例 AWS IoT，它不连接但与其他连接的设备相关（例如，带有发动机传感器或控制面板的汽车）。

**在 AWS IoT 控制台中创建事物**

1. 在 [AWS IoT 控制台](https://console.aws.amazon.com/iot/home)的左侧菜单中，选择**所有设备**，然后选择**事物**。

1. 在 **Things**（事物）页面上，选择 **Create things**（创建事物）。

1. 在 **Create things**（创建事物）页面上，选择 **Create a single thing**（创建单个事物），然后选择 **Next**（下一步）。

1. 在 **Specify thing properties**（指定事物属性）页面，对于 **Thing name**（事物名称），输入事物的名称，如 **MyIotThing**。

   仔细选择事物名称，因为以后无法更改事物名称。

   要更改事物的名称，您必须创建一个新事物，为其指定新名称，然后删除旧事物。
**注意**  
请勿在事物名称中使用个人身份信息。事物名称可以出现在未加密的通信和报告中。

1. 保持此页面上其余字段为空。选择**下一步**。

1. 在 **Configure device certificate - *optional***（配置证书 - 可选）页面上，选择 **Auto-generate a new certificate (recommended)**（自动生成新证书（推荐））。选择**下一步**。

1. 在 **Attach policies to certificate - *optional***（将策略附加到证书 - 可选）页面，选择在上一部分中创建的策略。在该部分中，该策略被命名为 **My\$1Iot\$1Policy**。选择 **Create thing**（创建事物）。

1. 在 **Download certificates and keys**（下载证书和密钥）页面：

   1. 下载每个证书和密钥文件，并保存它们以备稍后使用。您需要在设备上安装这些文件。

      保存证书文件时，请在下表中提供它们的名称。这些是将后续示例中使用的文件名。  
**证书文件名**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/create-iot-resources.html)

   1. 要为这些文件下载根 CA 文件，请选择根 CA 证书文件的 **Download**（下载）链接，该链接应与您使用的数据端点和加密套件类型相对应。在本教程中，请选择 **RSA 2048 bit key: Amazon Root CA 1**（RSA 2048 位密钥：Amazon Root CA 1）右侧的 **Download**（下载），然后下载 **RSA 2048 bit key: Amazon Root CA 1**（RSA 2048 位密钥：Amazon Root CA 1）证书文件。
**重要**  
您必须在离开此页之前保存证书文件。在控制台中离开此页面后，您将无法再访问证书文件。  
如果忘记下载在此步骤中创建的证书文件，则必须退出此控制台屏幕，转到控制台中的事物列表，删除您创建的事物对象，然后从头重新开始此流程。

   1.  选择**完成**。

完成此流程后，您应该在事物列表中看到新的事物对象。