使用 IDT 运行 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,这样可以添加重要的新功能支持其他平台

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

使用 IDT 运行 Amazon IoT Greengrass 资格套件

您可以使用适用于 Amazon IoT Greengrass 的 Amazon IoT Device Tester (IDT) 来验证 Amazon IoT Greengrass 核心软件是否能在您的硬件上运行并与 Amazon Web Services 云 进行通信。它还使用 Amazon IoT Core 执行端到端测试。例如,它验证您的设备是否能够发送和接收 MQTT 消息并正确处理它们。

由于 Amazon IoT Greengrass Version 1 已进入维护模式,Amazon IoT Greengrass V1 IDT 不再生成签名的资格报告。如果要将硬件添加到 Amazon Partner 设备目录中,请运行 Amazon IoT Greengrass V2 资格套件以生成可以提交到 Amazon IoT 的测试报告。有关更多信息,请参阅Amazon设备资格认证计划Amazon IoT Greengrass V2 IDT 支持的版本。

除了测试设备之外,适用于 Amazon IoT Greengrass 的 IDT 还在您的 Amazon Web Services 账户 创建资源(例如,Amazon IoT 事物、Amazon IoT Greengrass 组、Lambda 函数等)来以促进资格认证过程。

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

当您使用 Amazon IoT Greengrass IDT 来运行 Amazon IoT Greengrass 资格套件时,IDT 会执行以下步骤:

  1. 加载和验证您的设备和凭证配置。

  2. 使用所需的本地资源和云资源执行选定测试。

  3. 清除本地资源和云资源。

  4. 生成测试报告,指明您的设备是否已通过资格认证所需的测试。

测试套件版本

适用于 Amazon IoT Greengrass 的 IDT 将测试组织到测试套件和测试组中。

  • 测试套件是一组测试组,用于验证设备运行的是否为特定版本的 Amazon IoT Greengrass。

  • 测试组是与特定功能相关的一组单独测试,例如 Greengrass 组部署和 MQTT 消息传递。

从 IDT v3.0.0 开始,测试套件使用 major.minor.patch 格式进行版本化,例如,GGQ_1.0.0。当您下载 IDT 时,数据包中包含最新的测试套件版本。

重要

IDT 支持三个最新的测试套件版本以获得设备资格认证。有关更多信息,请参阅适用于 Amazon IoT Greengrass V1 的 Amazon IoT Device Tester 的支持策略

您可以运行 list-supported-products 来列出当前版本的 IDT 支持的 Amazon IoT Greengrass 和测试套件版本。不受支持的测试套件版本进行的测试对于设备资格认证无效。IDT 不会为不受支持的版本打印资格认证报告。

IDT 配置设置的更新

新测试可能会引入新的 IDT 配置设置。

  • 如果设置是可选的,IDT 将继续运行测试。

  • 如果需要这些设置,IDT 会通知您并停止运行。配置设置后,请重新启动测试运行。

    配置设置位于 <device-tester-extract-location>/configs 文件夹中。有关更多信息,请参阅配置 IDT 设置以运行 Amazon IoT Greengrass 资格认证套件

如果更新的测试套件版本添加了配置设置,IDT 会在 <device-tester-extract-location>/configs 中创建原始配置文件的副本。

测试组描述

IDT v2.0.0 and later
核心资格必备测试组

要确定您的 Amazon IoT Greengrass 设备是否符合 Amazon Partner Device Catalog 的要求,需要完成这些测试组。

Amazon IoT Greengrass 核心依赖项

验证您的设备是否满足 Amazon IoT Greengrass Core 软件的所有软硬件要求。

Docker 容器中进行测试时,此测试组中的 Software Packages Dependencies 测试用例不适用。

部署

验证 Lambda 函数是否可以部署到您的设备上。

MQTT

通过检查 Greengrass 核心与客户端设备(即本地 IoT 设备)之间的本地通信来验证 Amazon IoT Greengrass 消息路由器的功能。

Over-the-Air (OTA)

验证您的设备是否可以成功执行 Amazon IoT Greengrass Core 软件的 OTA 更新。

Docker 容器中进行测试时,此测试组不适用。

版本

检查提供的 Amazon IoT Greengrass 版本是否与您使用的 Amazon IoT Device Tester 版本兼容。

可选测试组

这些测试组可选。如果您选择进行这些可选测试,您的设备将在 Amazon Partner Device Catalog 中与附加功能一起列出。

容器依赖项

验证设备是否满足在 Greengrass 核心上以容器模式运行 Lambda 函数的所有软硬件要求。

Docker 容器中进行测试时,此测试组不适用。

部署容器

验证 Lambda 函数是否可以部署在设备上并在 Greengrass 核心上以容器模式运行。

Docker 容器中进行测试时,此测试组不适用。

Docker 依赖项(IDT v2.2.0 和更高版本支持)

验证设备是否满足使用 Greengrass Docker 应用程序部署连接器以运行容器的所有必要技术依赖项

Docker 容器中进行测试时,此测试组不适用。

硬件安全性集成 (HSI)

验证提供的 HSI 共享库是否可以与硬件安全模块 (HSM) 交互,并正确实施所需的 PKCS#11 API。HSM 和共享库必须能够签署 CSR,执行 TLS 操作,并提供正确的密钥长度和公有密钥算法。

流管理器依赖项(IDT v2.2.0 及更高版本支持)

验证设备是否满足运行 Amazon IoT Greengrass 流管理器所需的所有技术依赖项。

机器学习依赖项(IDT 版本 3.1.0 及更高版本支持)

验证设备是否满足在本地执行 ML 推理所需的所有技术依赖项。

机器学习推理测试(IDT 版本 3.1.0 及更高版本支持)

验证是否可以在给定的被测设备上执行 ML 推理。有关更多信息,请参阅可选:配置设备进行 ML 资格认证

机器学习推理容器测试(IDT 版本 3.1.0 及更高版本支持)

验证是否可以在给定的被测设备上执行 ML 推理,以及是否可以在 Greengrass 核心上以容器模式运行 ML 推理。有关更多信息,请参阅可选:配置设备进行 ML 资格认证

IDT v1.3.3 and earlier
核心资格必备测试组

要确定您的 Amazon IoT Greengrass 设备是否符合 Amazon Partner Device Catalog 的要求,需要完成这些测试。

Amazon IoT Greengrass 核心依赖项

验证您的设备是否满足 Amazon IoT Greengrass Core 软件的所有软硬件要求。

Combination(设备安全交互)

通过更改云中 Greengrass 组的连接信息来验证 Greengrass 核心设备上的设备证书管理器和 IP 检测的功能。测试组将轮换 Amazon IoT Greengrass 服务器证书并验证 Amazon IoT Greengrass 是否允许连接。

部署(是 IDT v1.2 及更早版本所必需的)

验证 Lambda 函数是否可以部署到您的设备上。

Device Certificate Manager (DCM)

验证 Amazon IoT Greengrass 设备证书管理器是否可以在启动时生成服务器证书,并在证书即将到期时轮换证书。

IP 检测 (IPD)

验证当 Greengrass 核心设备的 IP 地址更改时,核心的连接信息是否会更新。有关更多信息,请参阅激活自动 IP 检测

日志记录

验证 Amazon IoT Greengrass 日志记录服务是否能够通过用 Python 编写的用户 Lambda 函数写入日志文件。

MQTT

通过发送路由到两个 Lambda 函数的主题消息来验证 Amazon IoT Greengrass 消息路由器功能。

Native

验证 Amazon IoT Greengrass 是否能够运行本机(已编译)Lambda 函数。

Over-the-Air (OTA)

验证您的设备是否可以成功执行 Amazon IoT Greengrass Core 软件的 OTA 更新。

Penetration

如果未启用硬链接/软链接保护和 seccomp,则验证 Amazon IoT Greengrass 核心软件是否无法启动。它还可用于验证其他与安全相关的功能。

影子

验证本地影子和影子云同步功能。

Spooler

验证 MQTT 消息是否依据默认后台处理程序配置进行排队。

Token Exchange Service (TES)

验证 Amazon IoT Greengrass 是否能够使用其核心证书来交换有效的 Amazon 凭证。

版本

检查提供的 Amazon IoT Greengrass 版本是否与您使用的 Amazon IoT Device Tester 版本兼容。

可选测试组

这些测试是可选的。如果您选择进行这些可选测试,您的设备将在 Amazon Partner Device Catalog 中与附加功能一起列出。

容器依赖项

检查设备是否满足在容器模式下运行 Lambda 函数所需的所有依赖项。

硬件安全性集成 (HSI)

验证提供的 HSI 共享库是否可以与硬件安全模块 (HSM) 交互,并正确实施所需的 PKCS#11 API。HSM 和共享库必须能够签署 CSR,执行 TLS 操作,并提供正确的密钥长度和公有密钥算法。

本地资源访问

通过 Amazon IoT Greengrass LRA API 向容器化 Lambda 函数提供对各种 Linux 用户和组拥有的本地文件和目录的访问权限来验证 Amazon IoT Greengrass 的本地资源访问 (LRA) 功能。应基于本地资源访问配置允许或拒绝 Lambda 函数访问本地资源。

Network

验证是否可以从 Lambda 函数建立套接字连接。应根据 Greengrass 核心配置来允许或拒绝这些套接字连接。