

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

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

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

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

## 下载最新版本的 AWS IoT 设备测试器 AWS 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 个字符的限制。

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

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

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

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

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

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

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

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

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

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

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

**要注册 AWS 账户**

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

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

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

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

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

#### 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

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

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

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

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

1. 登录 [IAM 控制台](https://console.aws.amazon.com/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>
以下策略授权来创建和管理适用于 AWS IoT Greengrass的 IDT 所需的角色。这包括附加以下 AWS 托管策略的权限：  
[AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy)
[Greengrass OTAUpdate ArtifactAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/GreengrassOTAUpdateArtifactAccess)
[AWSLambdaBasicExecutionRole](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole)

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

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

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

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

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

   1. 创建 IAM 用户。按照 *IAM 用户指南*的[创建 IAM 用户（控制台）](https://docs.aws.amazon.com/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.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess)是一种 AWS 托管策略，它定义了 IDT 创建和访问用于测试的 AWS 资源所需的权限。有关更多信息，请参阅 [AWS AWS IoT 设备测试器的托管策略](#idt-managed-policy)。

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

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

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

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

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

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

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

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

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

1. 创建用于授予管理 IDT 和 AWS 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 用户并附加适用于 AWS IoT Greengrass的 IDT 所需的权限。

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

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

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

      ```
      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.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess)是一种 AWS 托管策略，它定义了 IDT 创建和访问用于测试的 AWS 资源所需的权限。有关更多信息，请参阅 [AWS AWS IoT 设备测试器的托管策略](#idt-managed-policy)。

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

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

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

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

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

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