

终止支持通知：2026 年 10 月 7 日， Amazon 将停止对的支持。 Amazon IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 Amazon IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 Amazon IoT Greengrass Version 1](https://docs.amazonaws.cn/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 运行 Amazon IoT Greengrass 资格套件的先决条件
<a name="dev-tst-prereqs"></a>

本节介绍使用 Amazon IoT 设备测试器 (IDT) 运行 Amazon IoT Greengrass 资格套件的 Amazon IoT Greengrass 先决条件。

## 下载最新版本的 Amazon IoT 设备测试器 Amazon IoT Greengrass
<a name="install-dev-tst-gg"></a>

下载 IDT 的[最新版本](dev-test-versions.md)并将软件提取到文件系统中您具有读取和写入权限的位置。

**注意**  
<a name="unzip-package-to-local-drive"></a>IDT 不支持由多个用户从共享位置（如 NFS 目录或 Windows 网络共享文件夹）运行。建议您将 IDT 包解压缩到本地驱动器，并在本地工作站上运行 IDT 二进制文件。  
Windows 的路径长度限制为 260 个字符。如果您使用的是 Windows，请将 IDT 提取到根目录（如 `C:\ ` 或 `D:\`）以使路径长度不超过 260 个字符的限制。

## 创建和配置 Amazon Web Services 账户
<a name="config-aws-account-for-idt"></a>

在使用 IDT 之前 Amazon IoT Greengrass，必须执行以下步骤：

1. [创建一个 Amazon Web Services 账户.]() 如果您已经有 Amazon Web Services 账户，请跳至步骤 2。

1. [为 IDT 配置权限。]()

这些账户权限允许 IDT 代表您访问 Amazon 服务和创建 Amazon 资源，例如 Amazon IoT 事物、Greengrass 群组和 Lambda 函数。

<a name="idt-aws-credentials"></a>要创建这些资源，IDT fo Amazon IoT Greengrass r 使用`config.json`文件中配置的 Amazon 凭据代表您进行 API 调用。这些资源将在测试过程的不同时间进行预置。

**注意**  <a name="free-tier-tests"></a>
尽管大多数测试都符合 [Amazon Web Services 免费套餐](https://www.amazonaws.cn/free)的要求，但您在注册 Amazon Web Services 账户时必须提供信用卡。有关更多信息，请参阅[我的账户使用的是免费套餐，为什么还需要提供付款方式？](https://www.amazonaws.cn/premiumsupport/knowledge-center/free-tier-payment-method/)

### 步骤 1：创建一个 Amazon Web Services 账户
<a name="create-aws-account-for-idt"></a>

在此步骤中，将创建并配置 Amazon Web Services 账户。如果您已经有 Amazon Web Services 账户，请跳至[步骤 2：为 IDT 配置权限](#configure-idt-permissions)。

#### 注册获取 Amazon Web Services 账户
<a name="sign-up-for-aws"></a>

如果您没有 Amazon Web Services 账户，请完成以下步骤来创建一个。

**要注册 Amazon Web Services 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.amazonaws.cn/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 Amazon Web Services 账户，就会创建*Amazon Web Services 账户根用户*一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

Amazon 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://www.amazonaws.cn/)并选择 “**我的账户”，查看当前账户活动并管理您的账户**。

#### 保护 IAM 用户
<a name="secure-an-admin"></a>

注册后 Amazon Web Services 账户，开启多重身份验证 (MFA)，保护您的管理用户。有关说明，请参阅《IAM 用户指南》**中的 [为 IAM 用户启用虚拟 MFA 设备（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-iam-user)。

要允许其他用户访问您的 Amazon Web Services 账户 资源，请创建 IAM 用户。为了保护您的 IAM 用户，请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息，请参阅《IAM 用户指南》中的以下主题：**
+ [在你的 IAM 用户中创建 Amazon Web Services 账户](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_create.html)
+ [适用于 Amazon 资源的访问权限管理](https://docs.amazonaws.cn/IAM/latest/UserGuide/access.html)
+ [基于 IAM 身份的策略示例](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_examples.html)

### 步骤 2：为 IDT 配置权限
<a name="configure-idt-permissions"></a>

在此步骤中，配置 IDT 用于运行测试和收集 IDT Amazon IoT Greengrass 使用情况数据的权限。您可以使用 Amazon Web Services 管理控制台 或 Amazon Command Line Interface (Amazon CLI) 为 IDT 创建 IAM 策略和测试用户，然后将策略附加到该用户。如果您已经为 IDT 创建了测试用户，请跳转至 [配置设备以运行 IDT 测试](device-config-setup.md) 或 [可选：为 IDT 配置你的 Docker 容器 Amazon IoT Greengrass](docker-config-setup.md)。
+ [为 IDT 配置权限（控制台）](#configure-idt-permissions-console)
+ [为 IDT 配置权限 (Amazon CLI)](#configure-idt-permissions-cli)<a name="configure-idt-permissions-console"></a>

**为 IDT 配置权限（控制台）**

请按照以下步骤使用控制台为 IDT for Amazon IoT Greengrass配置权限。

1. 登录 [IAM 控制台](https://console.amazonaws.cn/iam)。

1. 创建客户托管策略，该策略授权创建具有特定权限的角色。

   1. 在导航窗格中，选择 **策略**，然后选择 **创建策略**。

   1. 在 **JSON** 选项卡中，将占位符内容替换为以下策略。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "ManageRolePoliciesForIDTGreengrass",
                  "Effect": "Allow",
                  "Action": [
                      "iam:DetachRolePolicy",
                      "iam:AttachRolePolicy"
                  ],
                  "Resource": [
                      "arn:aws:iam::*:role/idt-*",
                      "arn:aws:iam::*:role/GreengrassServiceRole"
                  ],
                  "Condition": {
                      "ArnEquals": {
                          "iam:PolicyARN": [
                              "arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy",
                              "arn:aws:iam::aws:policy/service-role/GreengrassOTAUpdateArtifactAccess",
                              "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
                          ]
                      }
                  }
              },
              {
                  "Sid": "ManageRolesForIDTGreengrass",
                  "Effect": "Allow",
                  "Action": [
                      "iam:CreateRole",
                      "iam:DeleteRole",
                      "iam:PassRole",
                      "iam:GetRole"
                  ],
                  "Resource": [
                    "arn:aws:iam::123456789012:role/idt-*",
                    "arn:aws:iam::123456789012:role/GreengrassServiceRole"
                  ]
              }
          ]
      }
      ```

------
**重要**  <a name="policy-grants-role-perms"></a>
以下策略授权来创建和管理适用于 Amazon IoT Greengrass的 IDT 所需的角色。这包括附加以下 Amazon 托管策略的权限：  
[AWSGreengrassResourceAccessRolePolicy](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy)
[Greengrass OTAUpdate ArtifactAccess](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/service-role/GreengrassOTAUpdateArtifactAccess)
[AWSLambdaBasicExecutionRole](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole)

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

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

   1. 对于**名称**，请输入 **IDTGreengrassIAMPermissions**。在 **Summary (摘要)** 下，查看策略授予的权限。

   1. 选择**创建策略**。

1. 创建 IAM 用户并附加 IDT for Amazon IoT Greengrass所需的权限。

   1. 创建 IAM 用户。按照 *IAM 用户指南*的[创建 IAM 用户（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)中的步骤 1 到 5 操作。

   1. 将权限附加到您的 IAM 用户：

      1. 在 **设置权限** 页面上，选择 **直接附加现有策略**。

      1. 搜索您在上一步中创建的**IDTGreengrassIAMPermissions**策略。选中复选框。

      1. 搜索**AWSIoTDeviceTesterForGreengrassFullAccess**政策。选中复选框。
**注意**  <a name="AWSIoTDeviceTesterForGreengrassFullAccess"></a>
[AWSIoTDeviceTesterForGreengrassFullAccess](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess)是一种 Amazon 托管策略，它定义了 IDT 创建和访问用于测试的 Amazon 资源所需的权限。有关更多信息，请参阅 [Amazon Amazon IoT 设备测试器的托管策略](#idt-managed-policy)。

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

   1. 选择 **Next: Review (下一步：审核)** 以查看您的选择摘要。

   1. 选择**创建用户**。

   1. 要查看用户的访问密钥（访问密钥 IDs 和私有访问密钥），请选择密码和访问密钥旁边的**显示**。要保存访问密钥，请选择**Download.csv (下载 .csv)**，然后将文件保存到安全位置。稍后您可以使用此信息配置 Amazon 凭证文件。

1. <a name="aws-account-config-next-steps"></a>下一步：配置[物理设备](device-config-setup.md)。

 <a name="configure-idt-permissions-cli"></a>

**为 IDT 配置权限 (Amazon CLI)**

按照以下步骤 Amazon CLI 使用配置 IDT 的 Amazon IoT Greengrass权限。如果您已在控制台中配置权限，请跳转至 [配置设备以运行 IDT 测试](device-config-setup.md) 或 [可选：为 IDT 配置你的 Docker 容器 Amazon IoT Greengrass](docker-config-setup.md)。

1.  Amazon CLI 如果尚未安装，请在您的计算机上进行安装和配置。按照《Amazon Command Line Interface 用户指南》**中[安装 Amazon CLI](https://docs.amazonaws.cn/cli/latest/userguide/cli-chap-install.html) 的步骤来操作。
**注意**  
 Amazon CLI 是一个开源工具，可用于通过命令行 shell 与 Amazon 服务进行交互。

1. 创建用于授予管理 IDT 和 Amazon IoT Greengrass 角色的权限的客户托管策略。

------
#### [ Linux, macOS, or Unix ]

   ```
   aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document '{
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ManageRolePoliciesForIDTGreengrass",
               "Effect": "Allow",
               "Action": [
                   "iam:DetachRolePolicy",
                   "iam:AttachRolePolicy"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/idt-*",
                   "arn:aws:iam::*:role/GreengrassServiceRole"
               ],
               "Condition": {
                   "ArnEquals": {
                       "iam:PolicyARN": [
                           "arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy",
                           "arn:aws:iam::aws:policy/service-role/GreengrassOTAUpdateArtifactAccess",
                           "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
                       ]
                   }
               }
           },
           {
               "Sid": "ManageRolesForIDTGreengrass",
               "Effect": "Allow",
               "Action": [
                   "iam:CreateRole",
                   "iam:DeleteRole",
                   "iam:PassRole",
                   "iam:GetRole"
               ],
               "Resource": [
                 "arn:aws:iam::123456789012:role/idt-*",
                 "arn:aws:iam::123456789012:role/GreengrassServiceRole"
               ]
           }
       ]
   }'
   ```

------
#### [ Windows command prompt ]

   ```
   aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document '{\"Version\": \"2012-10-17\",		 	 	  \"Statement\": [{\"Sid\": \"ManageRolePoliciesForIDTGreengrass\",\"Effect\": \"Allow\",\"Action\": [\"iam:DetachRolePolicy\", \"iam:AttachRolePolicy\"], \"Resource\": [\"arn:aws:iam::*:role/idt-*\",\"arn:aws:iam::*:role/GreengrassServiceRole\"],\"Condition\": {\"ArnEquals\": {\"iam:PolicyARN\": [\"arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy\",\"arn:aws:iam::aws:policy/service-role/GreengrassOTAUpdateArtifactAccess\",\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\"]}}},{\"Sid\": \"ManageRolesForIDTGreengrass\",\"Effect\": \"Allow\",\"Action\": [\"iam:CreateRole\",\"iam:DeleteRole\", \"iam:PassRole\", \"iam:GetRole\"],\"Resource\": [\"arn:aws:iam::*:role/idt-*\",\"arn:aws:iam::*:role/GreengrassServiceRole\"]}]}'
   ```

**注意**  
此步骤包含一个 Windows 命令提示符示例，因为它使用的 JSON 语法与 Linux、macOS 或 Unix 终端命令不同。

------

1. 创建 IAM 用户并附加适用于 Amazon IoT Greengrass的 IDT 所需的权限。

   1. 创建 IAM 用户。在此示例设置中，用户被命名为 `IDTGreengrassUser`。

      ```
      aws iam create-user --user-name IDTGreengrassUser
      ```

   1. 将您在步骤 2 中创建的 `IDTGreengrassIAMPermissions` 策略附加到您的 IAM 用户。*<account-id>*在命令中替换为您的 ID Amazon Web Services 账户。

      ```
      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::<account-id>:policy/IDTGreengrassIAMPermissions
      ```

   1. 将 `AWSIoTDeviceTesterForGreengrassFullAccess` 策略附加到您的 IAM 用户。

      ```
      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess
      ```
**注意**  <a name="AWSIoTDeviceTesterForGreengrassFullAccess"></a>
[AWSIoTDeviceTesterForGreengrassFullAccess](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess)是一种 Amazon 托管策略，它定义了 IDT 创建和访问用于测试的 Amazon 资源所需的权限。有关更多信息，请参阅 [Amazon Amazon IoT 设备测试器的托管策略](#idt-managed-policy)。

1. 为用户创建私密访问密钥。

   ```
   aws iam create-access-key --user-name IDTGreengrassUser
   ```

   将输出存储在安全位置。稍后您将使用此信息来配置您的 Amazon 凭据文件。

1. <a name="aws-account-config-next-steps"></a>下一步：配置[物理设备](device-config-setup.md)。

## Amazon Amazon IoT 设备测试器的托管策略
<a name="idt-managed-policy"></a>

[AWSIoTDeviceTesterForGreengrassFullAccess](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess)托管策略允许 IDT 运行操作和收集使用量指标。此策略授予以下 IDT 权限：
+ `iot-device-tester:CheckVersion`。 检查一组 Amazon IoT Greengrass测试套件和 IDT 版本是否兼容。
+ `iot-device-tester:DownloadTestSuite`. 下载测试套件。
+ `iot-device-tester:LatestIdt`. 获取有关可供下载的最新 IDT 版本的信息。
+ `iot-device-tester:SendMetrics`. 发布 IDT 收集的有关测试的使用情况数据。
+ `iot-device-tester:SupportedVersion`。 获取 IDT 支持的测试套件版本列表 Amazon IoT Greengrass 和测试套件版本。此信息显示在命令行窗口中。