运行 Amazon IoT Greengrass 资格套件的先决条件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 Amazon IoT Greengrass V1 维护策略。在此日期之后,将 Amazon IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 Amazon IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 Amazon IoT Greengrass Version 2,这样可以添加重要的新功能支持其他平台

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

运行 Amazon IoT Greengrass 资格套件的先决条件

本节介绍使用适用于 Amazon IoT Greengrass 的 Amazon IoT Device Tester (IDT) 需满足的先决条件来运行 Amazon IoT Greengrass 资格认证套件。

下载适用于 Amazon IoT Greengrass 的最新版本的 Amazon IoT Device Tester

下载 IDT 的最新版本并将软件提取到文件系统中您具有读取和写入权限的位置。

注意

IDT 不支持由多个用户从共享位置(如 NFS 目录或 Windows 网络共享文件夹)运行。建议您将 IDT 包解压缩到本地驱动器,并在本地工作站上运行 IDT 二进制文件。

Windows 的路径长度限制为 260 个字符。如果您使用的是 Windows,请将 IDT 提取到根目录(如 C:\ D:\)以使路径长度不超过 260 个字符的限制。

创建和配置 Amazon Web Services 账户

在使用适用于 Amazon IoT Greengrass 的 IDT 前,必须先执行下列步骤:

  1. 创建 Amazon Web Services 账户。如果您已有 Amazon Web Services 账户,请跳至步骤 2。

  2. 为 IDT 配置权限。

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

为了创建这些资源,适用于 Amazon IoT Greengrass 的 IDT 使用在 config.json 文件中配置的 Amazon 凭证来代表您发出 API 调用。这些资源将在测试过程的不同时间进行预置。

注意

尽管大多数测试都符合 Amazon Web Services 免费套餐的要求,但您在注册 Amazon Web Services 账户 时必须提供信用卡。有关更多信息,请参阅我的账户使用的是免费套餐,为什么还需要提供付款方式?

第 1 步:创建Amazon Web Services 账户

在此步骤中,将创建并配置 Amazon Web Services 账户。如果您已有 Amazon Web Services 账户,请跳至 步骤 2:为 IDT 配置权限

注册 Amazon Web Services 账户

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

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册 Amazon Web Services 账户时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services 和资源。作为安全最佳实践,请为管理用户分配管理访问权限,并且只使用根用户执行需要根用户访问权限的任务

注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

保护 IAM 用户

注册 Amazon Web Services 账户 后,启用多重身份验证 (MFA) 保护您的管理用户。有关说明,请参阅《IAM 用户指南》中的为 IAM 用户启用虚拟 MFA 设备(控制台)

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

有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:

步骤 2:为 IDT 配置权限

在此步骤中,将配置适用于 Amazon IoT Greengrass 的 IDT 运行测试和收集 IDT 使用情况数据所需的权限。您可以使用 Amazon Web Services Management Console 或 Amazon Command Line Interface (Amazon CLI) 为 IDT 创建 IAM 策略和测试用户,然后将策略附加到用户。如果您已经为 IDT 创建了测试用户,请跳转至 配置设备以运行 IDT 测试可选:为适用于 Amazon IoT Greengrass 的 IDT 配置 Docker 容器

为 IDT 配置权限(控制台)

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

  1. 登录 IAM 控制台

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

    1. 在导航窗格中,选择 Policies (策略),然后选择 Create policy (创建策略)

    2. 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::*:role/idt-*", "arn:aws:iam::*:role/GreengrassServiceRole" ] } ] }
      重要

      以下策略授权来创建和管理适用于 Amazon IoT Greengrass 的 IDT 所需的角色。这包括附加以下 Amazon 托管策略的权限:

    3. 选择下一步:标签

    4. 选择下一步:审核

    5. 名称中,输入 IDTGreengrassIAMPermissions。在 Summary (摘要) 下,查看策略授予的权限。

    6. 选择创建策略

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

    1. 创建 IAM 用户。按照 IAM 用户指南创建 IAM 用户(控制台)中的步骤 1 到 5 操作。

    2. 将权限附加到您的 IAM 用户:

      1. 设置权限 页面上,选择 直接附加现有策略

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

      3. 搜索AWSIoTDeviceTesterForGreengrassFullAccess政策。选中复选框。

        注意

        AWSIoTDeviceTesterForGreengrassFullAccess是一种Amazon托管策略,它定义了 IDT 创建和访问用于测试的Amazon资源所需的权限。有关更多信息,请参阅 适用于 Amazon IoT Device Tester 的 Amazon 托管策略

    3. 选择下一步:标签

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

    5. 选择创建用户

    6. 要查看用户的访问密钥(访问密钥 ID 和秘密访问密钥),请选择密码和访问密钥旁边的 Show (显示)。要保存访问密钥,请选择Download.csv (下载 .csv),然后将文件保存到安全位置。稍后您可以使用此信息配置 Amazon 凭证文件。

  4. 下一步:配置物理设备

 

为 IDT 配置权限 (Amazon CLI)

请按照以下步骤使用 Amazon CLI 为适用于 Amazon IoT Greengrass 的 IDT 配置权限。如果您已在控制台中配置权限,请跳转至 配置设备以运行 IDT 测试可选:为适用于 Amazon IoT Greengrass 的 IDT 配置 Docker 容器

  1. 在您的计算机上,安装并配置 Amazon CLI(如果尚未安装)。按照《Amazon Command Line Interface 用户指南》中安装 Amazon CLI 的步骤来操作。

    注意

    Amazon CLI 是一个开源工具,您可以使用此工具通过命令行 Shell 与 Amazon 服务进行交互。

  2. 创建用于授予管理 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::*:role/idt-*", "arn:aws:iam::*: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 终端命令不同。

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

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

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

      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::<account-id>:policy/IDTGreengrassIAMPermissions
    3. AWSIoTDeviceTesterForGreengrassFullAccess 策略附加到您的 IAM 用户。

      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::aws:policy/AWSIoTDeviceTesterForGreengrassFullAccess
      注意

      AWSIoTDeviceTesterForGreengrassFullAccess是一种Amazon托管策略,它定义了 IDT 创建和访问用于测试的Amazon资源所需的权限。有关更多信息,请参阅 适用于 Amazon IoT Device Tester 的 Amazon 托管策略

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

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

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

  5. 下一步:配置物理设备

适用于 Amazon IoT Device Tester 的 Amazon 托管策略

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 和测试套件版本的列表。此信息显示在命令行窗口中。