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

Amazon IoT Greengrass Version 1在 2023 年 6 月 30 日之前,不再接收功能更新,只会收到安全补丁和错误修复。有关更多信息,请参阅 。Amazon IoT Greengrass V1维护政策. 强烈建议您迁移到Amazon IoT Greengrass Version 2,它补充说重要新功能对其他平台的支持.

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

运行Amazon IoT Greengrass资格认证套件

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

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

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

注意

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

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

创建和配置Amazon Web Services 账户

在你可以使用 IDT 之前Amazon IoT Greengrass,则必须执行下列步骤:

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

  2. 为 IDT 配置权限。

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

要创建这些资源,IDTAmazon IoT Greengrass使用Amazon在中配置的凭据config.json文件代表您进行 API 调用。这些资源将在测试过程的不同时间进行预置。

注意

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

第 1 步:创建 Amazon Web Services 账户

在此步骤中,将创建并配置Amazon Web Services 账户. 如果您已有一个Amazon Web Services 账户,skip第 2 步:为 IDT 配置权限.

  1. 打开Amazon主页,然后选择创建Amazon账户.

    注意

    如果您最近已登录到 Amazon,则您可能会看到 Sign In to the Console (登录控制台)

  2. 按照屏幕上的说明进行操作。注册过程包括注册信用卡、接收短信或电话以及输入 PIN。

    有关更多信息,请参阅如何创建并激活新的 Amazon Web Services 账户?

第 2 步:为 IDT 配置权限

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

为 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. 选择 Next:。标签

    4. 选择 Next:。审核

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

    6. 选择 Create policy(创建策略)

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

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

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

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

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

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

        注意

        这些区域有:AWSIoTDeviceTesterForGreengrassFullAccess是一个Amazon定义 IDT 创建和访问权限 IDT 创建和访问权限的托管策略Amazon用于测试的资源。有关更多信息,请参阅 Amazon适用于的托管策略Amazon IoTDevice Tester

    3. 选择 Next:。标签

    4. 选择 Next:。审核以查看您的选择摘要。

    5. 选择 Create user

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

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

 

为 IDT 配置权限 (Amazon CLI)

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

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

    注意

    这些区域有:Amazon CLI是一个开源工具,您可以使用此工具与交互Amazon命令行 shell 中的服务。

  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 用户并附加适用于的 IDT 所需的权限Amazon IoT Greengrass.

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

      aws iam create-user --user-name IDTGreengrassUser
    2. 将附加到IDTGreengrassIAMPermissions您在步骤 2 中创建的策略适用于您的 IAM 用户。Replace<account-id>在命令中,使用您的 IDAmazon Web Services 账户.

      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 创建和访问权限 IDT 创建和访问权限的托管策略Amazon用于测试的资源。有关更多信息,请参阅 Amazon适用于的托管策略Amazon IoTDevice Tester

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

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

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

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

Amazon适用于的托管策略Amazon IoTDevice Tester

这些区域有: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. 获取列表Amazon IoT Greengrass和 IDT 支持的测试套件版本。此信息显示在命令行窗口中。