新闻中心
首页 / Our News /如何使用 AWS IoT Device Defender 中的新断开时长指标入门 的物联网 官方如何使用 AWS IoT Device Defender 中的新断开时长指标入门 的物联网 官方
开始使用 AWS IoT 设备保护中的新断开连接持续时间指标
关键要点
AWS IoT 设备保护现在提供新的断开连接持续时间指标,让用户能够监控物联网设备的连接状态与断开时长。 用户可对断开连接设备进行管理,保障设备的安全与健康。本文将介绍如何配置安全配置文件,及如何使用 SNS 和 SQS 处理消息。引言
最新的断开连接持续时间指标在 AWS IoT 设备保护 中,使客户能够监控物联网IoT设备的连接状态和断开时间。之前,客户需要依靠自我管理的解决方案,如使用 AWS Lambda 或 Amazon CloudWatch,以及来自 AWS IoT Core 的 连接/断开事件消息。
通过新的 断开连接持续时间指标,客户可以根据 AWS IoT 设备保护中配置的特定断开时长阈值,对设备断开做出响应。监控此指标有助于了解设备群体的健康状态。长时间未连接的设备可能因未及时接收更新而变得脆弱,增加安全风险,或在依赖其他已更新系统时无法正常工作。客户还可以利用断开连接的持续时间来解决多种设备管理问题,例如将长时间断开的设备归入特定的报废或丢失设备组。在那些远程设备很少连接的应用中,可以根据此指标来定义是否应派遣维护团队前往现场。AWS IoT 设备保护可与 AWS IoT 设备管理 一起使用,利用 设备索引 创建查询,报告哪些设备已断开连接及其时长。通过识别出断开的设备,您可以定义 动态组 或启动 缓解措施,以应对设备管理需求及安全合规要求。
在这篇博文中,您将学习如何使用新的断开连接持续时间指标,在 AWS IoT 设备保护中配置安全配置文件,并在检测到违规时向亚马逊简单通知服务Amazon SNS发送消息。您还将使用亚马逊简单队列服务Amazon SQS接收和可视化来自 SNS 主题的消息。此外,您将学习如何通过设备索引检测到违规设备并创建动态组。
概述
下图展示了本博文所述示例解决方案的信息流:
模拟设备连接后断开。5 分钟后,断开设备会在安全配置文件中引发异常行为警报。警报通知服务将发布消息到定义的 SNS 主题。SQS 队列订阅了 SNS 主题,并将接收该消息。使用高级设备索引搜索,您将返回在所选安全配置文件下违规的设备。从搜索结果中,您将定义一个动态设备组,这将自动索引和分组符合搜索条件的设备。先决条件
需要一个 AWS 账户,并具有在 AWS IoT Core、AWS IoT 设备保护和 AWS IoT 设备管理中执行操作的权限。必须具有创建和分配角色的 AWS 身份与访问管理IAM权限。必须具有创建 SNS 主题和 SQS 队列的 AWS IAM 权限。访问 AWS CloudShell 并具备 Linux 和 AWS 命令行界面AWS CLI的基本知识。操作步骤
创建 SNS 主题和 SQS 订阅
在这里,您将创建 SNS 主题和订阅,用于发布违规通知的主题。
访问 SNS,在左侧菜单中选择“主题”,然后创建一个主题。选择 标准。名称 Disconnectedthingsnotification。其他配置保持默认,然后点击 创建主题。注意:您将使用默认访问策略,该策略仅允许主题所有者订阅。
魔方加速器 - 安卓下载访问 SQS,在左侧菜单中选择 队列,然后创建一个队列。
选择 标准。名称 Disconnectthingnotificationqueue。其他配置保持默认,然后点击 创建队列。注意:您将使用默认访问策略,仅允许来自队列所有者的消息。接下来,向下导航到 SNS 订阅,点击 订阅到 Amazon SNS 主题,选择 Disconnectedthingsnotification,然后 保存。创建安全配置文件
接下来,您将创建一个 安全配置文件,定义什么行为被视为异常。您可以将 AWS IoT 设备保护指标、自定义指标 和 维度 结合起来,以根据您的用例创建适合的检测模型。在下面的示例中,我们将仅利用新的断开连接持续时间指标。若要了解如何有效结合指标,请阅读文档中的 安全用例 段落。
访问 AWS IoT Core,在左侧菜单中选择 安全 侦测 安全配置文件,点击 创建安全配置文件 并选择 创建基于规则的异常检测配置文件。
在 指定安全配置文件属性 菜单中配置如下
名称 Disconnectduration5m目标 目标组,您可以选择一个或多个组,在此示例中,您将选择 所有已注册的事物。角色 创建一个新角色。设置 SNS 配置,选择先前创建的主题 Disconnectedthingsnotification。在 SNS 角色中,选择 新建角色。点击 下一步。

在 定义指标行为 菜单中进行以下操作:
在 云端指标 下搜索并选择 断开连接持续时间。指标行为 选择 警报我。行为名称 Disconnectduration5m。在逻辑字段中,使用 Disconnectduration 大于等于 5 分钟,这意味着任何断开连接超过 5 分钟的设备将被视为异常。点击下一步。审查配置,然后点击 创建。下图是您指标行为配置的示例。
模拟异常设备
首先,您将创建一个 AWS IoT Core 事物,用于模拟一个已断开连接超过 5 分钟并被安全配置文件检测为异常的设备。访问 AWS IoT Core,在左侧菜单中选择 管理 所有设备 事物。现在点击 创建事物。选择 创建单个 事物并点击 下一步。将事物命名为 testthing,其他配置保持默认,然后点击 下一步。选择 自动生成新证书,然后点击 下一步。您将看到 策略 菜单,如果没有策略,则按照以下配置创建一个:{ Version 20121017 Statement [ { Effect Allow Action iotConnect Resource arnawsiotlt yourregiongtlt youraccountidgtclient/testthing } ] }
返回到菜单,刷新并附加刚创建的策略,然后 创建事物。下载并保存 私钥、公共密钥 和 设备证书,并点击 完成,您将在以下步骤中使用这些文件。
在此步骤中,您将使用 AWS CloudShell 安装并运行使用的 AWS IoT 设备 SDK v2 for Python 示例,当然也可以使用其他 AWS IoT 设备 SDK 和您喜欢的开发平台。
访问 AWS CloudShell,当 CLI 初始化完成后,执行以下命令:
python3 m pip install awsiotsdkgit clone https//githubcom/aws/awsiotdevicesdkpythonv2git
接下来,上传在创建 AWS IoT Core 事物时下载的 私钥 和 设备证书。
在右上角点击 操作 菜单,选择 上传文件,选择密钥文件并上传,然后对证书文件重复此操作。注意:文件将在 /home/cloudshelluser 目录中上传。
现在您将通过运行示例 Python 脚本开始模拟。在 /home/cloudshelluser 执行以下命令:
aws iot describeendpoint endpointtype iotDataATS注意下端点值,您在下一步中需要它。
python3 /awsiotdevicesdkpythonv2/samples/basicconnectpy endpoint ltyouriotcoreatsendpointgt cert ltdownloadedcertpathgt key ltdownloadedkeypathgt clientid testthing如果示例成功执行,您将看到以下输出:
Connecting to lt youriotenpointheregtatsiotltyourregiongtamazonawscom with client ID ‘testthing’ Connected! Disconnecting Disconnected!
确认违规
运行完模拟后,您可以检查是否已被安全配置文件检测到违规。请注意,AWS IoT 设备保护监控配置文件可能需要几分钟才能发布违规。
现在访问 SQS,选择 队列,然后选择您在前面步骤中创建的队列。导航至右上角菜单,选择 发送和接收消息,在接收消息菜单中,轮询消息。您将看到一个可用消息,正文将与下图类似,通过此方法,您可以将 AWS IoT 设备保护违规警报集成到多个 AWS 服务中。您还可以可视化异常设备断开连接的时长。访问 AWS IoT Core,然后在左侧菜单中选择 管理 所有设备 事物。选择在前面步骤中创建的事物 testthing。导航至 Defender 指标 选项,选择 断开连接持续时间。您将看到类似于下面的图表,指示设备何时及断开连接多长时间。您可以使用上面给出的命令再次连接和断开模拟设备,并观察报告的指标如何变化。请注意,断开连接指标以 5 分钟为增量报告,并不实时更新。
断开连接持续时间指标也可以通过 列出指标值 AWS CLI 命令获取。您可以使用以下命令查询指标:
STARTTIME=(date u YmdTHMSZ d 5 minutes ago)ENDTIME=(date u YmdTHMSZ)aws iot listmetricvalues thingname testthing starttime STARTTIME endtime ENDTIME metricname awsdisconnectduration
该命令将返回最新指标更新的输出,如下例所示:
{ metricDatumList [ { timestamp 20230719T1430000000 value { count 10 } } ]}
搜索违规设备并创建动态组
在搜索违规设备之前,您需要确保 AWS IoT 设备保护的设备索引已启用。要检查,请访问 AWS IoT Core,在左侧菜单中选择 设置,导航至 设备索引,点击 管理索引,在新菜单中搜索并选择 添加设备保护违规。设备索引服务将开始在后台索引所有值,可能需要几分钟。
访问 AWS IoT Core,在左侧菜单中选择 管理 所有设备 事物。点击 高级搜索。在查询搜索框中使用以下语句: deviceDefenderDisconnectduration5minViolationtrue该查询将返回所有在 Disconnectduration5m 配置文件下的违规设备。如果您遵循了操作步骤,您将在结果列表中看到 testthing,如下面的图示所示。点击 保存查询。前往 AWS IoT Core,在左侧菜单中选择 管理 所有设备 事物组,然后 创建事物组:选择 创建动态。事物组名称 Disconnectedthings。在 查询 下,点击 使用保存的查询,选择上一步保存的查询 deviceDefenderDisconnectduration5minViolationtrue。点击 创建事物组。几秒钟内,您将看到您的事物成为该组的一部分,如下图所示。通过应用动态分组,您可以解决多种用例,例如定义 持续任务 将更新强制应用于这些设备,如果它们重新上线,就能确保它们是合规和最新的。您还可以将动态组用于设备管理任务,例如,将断开连接超过 30 天的设备视为丢失或退役,并将其加入到不再接收更新或拒绝连接的事物组中。
清理
为避免产生费用,请执行以下操作: 删除安全配置文件 Disconnectduration5m。 删除 testthing 以及它的证书。 删除 Disconnectedthings 组。 关闭设备保护违规的设备索引。 删除在操作过程中创建的 SNS 主题和 SQS 队列。
结论
在这篇博文中,您学习了如何使用新的 AWS IoT 设备保护断开连接持续时间指标来监控具有异常断开行为的设备。您还了解了这如何应用于安全和设备管理用例,并通过 SNS 的安全配置文件原生集成,创造事件驱动的措施。最后,您使用设备索引进行搜索和动态分组,并学习了如何将其应用于自动设备管理任务和通过
搜索
最新内容
集中化还是分散化? 云企业战略博客
迁移到AWS Cloud WAN多区域检查使用服务插入 网络与内容交付
生成式 AI 问答评估的真实情况策展与指标解读最佳实践 机器学习博客
支持加拿大的 CCCS PBHVA 覆盖合规性与 AWS 的着陆区加速器 安全博客