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

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

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

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

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

下载最新版本的 Dev AWS IoT ice Tester AWS IoT Greengrass

下载最新版本的软件,IDT并将该软件解压缩到文件系统上您拥有读写权限的位置。

注意

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

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

创建和配置 AWS 账户

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

  1. 创建一个 AWS 账户. 如果您已经有 AWS 账户,请跳至步骤 2。

  2. 为配置权限IDT。

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

要创建这些资源,f IDT or AWS IoT Greengrass 使用config.json文件中配置的 AWS 凭据代表您API拨打电话。这些资源将在测试过程的不同时间进行预置。

注意

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

步骤 1:创建一个 AWS 账户

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

注册获取 AWS 账户

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

要注册 AWS 账户
  1. 打开https://portal.aws.amazon.com/billing/注册。

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

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

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

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

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

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

保护你的 AWS 账户根用户
  1. 选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console在下一页上,输入您的密码。

    要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的以根用户身份登录

  2. 为您的 root 用户开启多重身份验证 (MFA)。

    有关说明,请参阅《用户指南》中的 “为 AWS 账户 root 用户(控制台)启用虚拟MFA设备” IAM。

创建具有管理访问权限的用户
  1. 启用IAM身份中心。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的启用 AWS IAM Identity Center

  2. 在 IAM Identity Center 中,向用户授予管理访问权限。

    有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限

以具有管理访问权限的用户身份登录
将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个遵循应用最低权限权限的最佳实践的权限集。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的创建权限集

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

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的添加组

步骤 2:配置权限 IDT

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

配置IDT(控制台)的权限

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

  1. 登录IAM控制台

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

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

    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" ] } ] }
      重要

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

    3. 选择下一步:标签

    4. 选择下一步:审核

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

    6. 选择创建策略

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

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

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

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

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

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

        注意

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

    3. 选择下一步:标签

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

    5. 选择 创建用户

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

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

 

配置 IDT (AWS CLI) 的权限

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

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

    注意

    AWS CLI 是一个开源工具,可用于通过命令行 shell 与 AWS 服务进行交互。

  2. 创建授予管理和 AWS IoT Greengrass 角色权限的客户托管策略。IDT

    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用户并附加所需的权限 AWS IoT Greengrass。IDT

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

      aws iam create-user --user-name IDTGreengrassUser
    2. 将您在步骤 2 中创建的IDTGreengrassIAMPermissions策略附加到您的IAM用户。Replace(替换) <account-id> 在带有您的 ID 的命令中 AWS 账户。

      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是一种 AWS 托管策略,它定义了创建和访问用于测试的 AWS 资源IDT所需的权限。有关更多信息,请参阅 AWSAWS IoT 设备测试器的托管策略

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

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

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

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

AWSAWS IoT 设备测试器的托管策略

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