设置 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

设置

首次使用 Device Advisor 之前,请完成以下任务。

创建 IoT 事物

首先,您需要创建事物并将证书附加到事物。使用下列教程创建事物:创建事物对象

创建要用作设备角色的 IAM 角色

注意

您可以使用 Device Advisor 控制台快速创建设备角色。请参阅控制台中的 Device Advisor 入门了解使用 Device Advisor 控制台设置设备角色的步骤。

  1. 前往 Amazon I IAM 控制台,然后登录您用于 Device Advisor 测试的账户。

  2. 在左侧导航窗格中,选择 Policies(策略)。

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

  4. Create Policy(创建策略)下,执行以下操作。

    1. 对于 Service (服务),请选择 IoT

    2. Actions(操作)下,或者根据附加到 IoT 事物或上一节中创建的证书(推荐)的策略选择操作,或者在筛选条件操作框中搜索然后选择下列操作。

      • 连接

      • 发布

      • Subscribe

      • 接收

    3. Resources(资源)下,或最佳安全实践下,我们建议您使用以下步骤的限制客户段主题主题筛选条件资源:

      1. 选择 Specify client resource ARN for the Connect action(为 Connect 操作指定客户端资源 ARN)。

        1. 选择 Add ARN (添加 ARN)

        2. 在可视化 ARN 编辑器中指定 regionaccountIdclientId 或手动指定要用于运行测试用例的 IoT 主题的 Amazon Resource Names (ARN)。clientId 是您的设备用于与 Device Advisor 交互的 MQTT clientId

        3. 选择 Add(添加)。

      2. 选择 Specify topic resource ARN for the Receive and 1 more action(为 Receive 及另 1 个操作指定主题资源 ARN)。

        1. 选择 Add ARN (添加 ARN)

        2. 在可视化 ARN 编辑器中指定 region(区域)、accountIdtopic name(主题名称)或手动指定要用于运行测试用例的 IoT 主题的 ARN。topic name(主题名称)是您的设备要用于发布消息的 MQTT topic(主题)。

        3. 选择 Add(添加)。

      3. 选择 Specify topicfilter resource ARN for the Subscribe action(为 Subscribe 操作指定主题筛选条件资源 ARN)。

        1. 选择 Add ARN (添加 ARN)

        2. 在可视化 ARN 编辑器中指定 region(区域)、accountIdtopic name(主题名称)或手动指定要用于运行测试用例的 IoT 主题的 ARN。topic name(主题名称)是您的设备用于订阅的 MQTT topic(主题)。

        3. 选择 Add (添加)

  5. 选择Review policy(查看策略)

  6. Review policy(查看策略)项下,输入一个 Name(名称)。

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

  8. 在左侧导航窗格中,选择 Roles(角色)。

  9. 选择 Create Role(创建角色)。

  10. Or select a service to view its use cases(或选择一个服务以查看其用例)中,选择 IoT

  11. 选择您的使用案例下面,选择 IoT

  12. 选择Next: Permissions(下一步: 权限)

  13. (可选)在 Set permissions boundary(设置权限边界)项下,选择 Use a permissions boundary to control the maximum role permissions(使用权限边界控制最大角色权限),然后选择您刚刚创建的策略。

  14. 请选择下一步:标签

  15. 请选择下一步:审核

  16. 输入 Role name(角色名称)和 Role description(角色描述)。

  17. 选择 Create role(创建角色)。

  18. 去到您创建的角色。

  19. Permissions(权限)选项卡中选择 Attach policies(附加策略),然后选择您在步骤 4中创建的策略。

  20. 选择 Attach policy(附上策略)。

  21. 选择 Trust relationships(信任关系)选项卡,然后选择 Edit trust relationship(编辑信任关系)。

  22. 输入此策略:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAwsIoTCoreDeviceAdvisor", "Effect": "Allow", "Principal": { "Service": "iotdeviceadvisor.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  23. 选择 Update Trust Policy(更新信任策略)。

为 IAM 用户创建自定义托管策略来使用设备顾问

  1. 通过以下网址导航到 IAM 控制台:https://console.aws.amazon.com/iam/。如果提示,请输入您的 Amazon 凭证。

  2. 在左侧导航窗格中,选择 Policies (策略)

  3. 选择 Create policy(创建策略),然后选择 JSON 选项卡。

  4. 添加必要的权限以使用 Device Advisor。可在安全最佳实践主题中找到策略文档。

  5. 请选择查看策略

  6. 输入名称描述

  7. 请选择Create Policy(创建策略)

创建 IAM 用户来使用 Device Advisor。

注意

我们建议您创建一个要在运行 Device Advisor 测试时使用的 IAM 用户。尽管可以使用 IAM 管理员用户运行 Device Advisor 测试,但不建议使用该测试。

  1. 导航到 IAM 控制台:https://console.aws.amazon.com/iam/如果出现提示,请输入要登录的 Amazon 凭证。

  2. 在左侧导航窗格中,选择 Users(用户)。

  3. 选择添加用户

  4. 输入 User name(用户名称)。

  5. 选择 Programmatic access(编程访问)。

  6. 选择 Next: Permissions(下一步:权限)。

  7. 选择 Attach existing policies directly(直接附上现有策略)。

  8. 在搜索框中输入您创建的自定义管理策略名称,然后选中左侧的 Policy name(策略名称)复选框。

  9. 请选择下一步:标签

  10. 选择 Next: Review (下一步: 审核)

  11. 选择 Create user

  12. 选择 Close(关闭)。

Device Advisor 需要代表您访问 Amazon 资源(事物、证书和终端节点)的权限。您的 IAM 用户必须具有必要的权限。如果您将必要的权限策略附加到您的 IAM 用户,Device Advisor 也会将日志发布到 Amazon CloudWatch。

配置您的设备

Device Advisor 使用服务器名称指示 (SNI) TLS 扩展来应用 TLS 配置。设备在连接时必须使用此扩展,并传递与 Device Advisor 测试终端节点相同的服务器名称。

当测试处于 Running 状态时,Device Advisor 允许 TLS 连接,并会在每次测试运行之前和之后拒绝 TLS 连接。因此,我们还建议使用设备连接重试机制,以便在使用 Device Advisor 期间获得完全自动的测试体验。如果您运行具有多个测试用例的测试套件(例如 TLS 连接、MQTT 连接和 MQTT 发布),我们建议您为您的设备构建一个机制,每五秒便尝试连接到测试终端节点。然后,您能够以自动的方式按顺序运行多个测试用例。

注意

为了使您的设备软件准备好进行测试,我们建议您获取一个 SDK,该 SDK 可以连接 Amazon IoT Core 并使用为您的账户提供的 Device Advisor 测试终端节点更新 SDK。

Device Advisor 支持两种类型的终端节点:账户级终端节点和设备级终端节点。请选择最符合您使用案例的终端节点。要使用不同的设备同时运行多个测试套件,请使用设备级终端节点。运行以下命令以获取设备级别终端节点:

aws iotdeviceadvisor get-endpoint --thing-arn your-thing-arn

aws iotdeviceadvisor get-endpoint --certificate-arn your-certificate-arn

要一次运行一个测试套件,请选择账户级终端节点。运行以下命令获取账户级别终端节点:

aws iotdeviceadvisor get-endpoint