AWS IoT Device Defender 库 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS IoT Device Defender 库

概述

AWS IoT Device Defender 是 AWS IoT 服务,使您可以监控互联设备以检测异常行为,并降低安全风险。使用 AWS IoT Device Defender,您可以在整个 AWS IoT 设备机群中实施一致的 IoT 配置,并能够在设备遭到破坏时快速响应。

FreeRTOS 提供了库,允许基于 FreeRTOS 的设备使用 AWS IoT Device Defender。可以使用 FreeRTOS 控制台,将 Device Defender 库添加到软件配置中,从而下载带有 Device Defender 库的 FreeRTOS。您也可以克隆 FreeRTOS GitHub 存储库,其中包括所有 FreeRTOS 库。有关说明,请参阅 README.md 文件。

注意

FreeRTOS AWS IoT Device Defender 库仅支持设备端 AWS IoT Device Defender 指标与连接指标相关的子集。有关更多信息,请参阅使用限制

依赖项和要求

Device Defender 库具有以下依赖项:

故障排除

FreeRTOS Device Defender 错误代码

Device Defender 库返回正数值的错误代码。有关每个错误代码的更多信息,请参阅 Device Defender C 开发工具包 API 参考中的 AwsIotDefenderError_t

FreeRTOS Device Defender 事件

Device Defender 库包括 AwsIotDefenderCallback_t 回调函数,该函数返回称为“事件”的正枚举值,指示成功或失败。有关事件类型的更多信息,请参阅 Device Defender C 开发工具包 API 参考中的 AwsIotDefenderEventType_t

调试 FreeRTOS Device Defender

要为 Device Defender 库启用调试,请在全局配置文件中将 Device Defender 的日志级别设置为调试模式:

#define AWS_IOT_LOG_LEVEL_DEFENDER IOT_LOG_DEBUG

有关更多信息,请参阅全局配置文件参考

开发人员支持

Device Defender 库包含 AwsIotDefender_strerror 帮助程序函数,该函数返回一个字符串,用于描述您提供给函数的错误:

const char * AwsIotDefender_strerror( AwsIotDefenderError_t error );

使用限制

尽管该 AWS IoT Device Defender 服务同时支持 JSON 和 CBOR 格式的数据序列化,但 FreeRTOS Device Defender 库目前仅支持 CBOR,这由配置选项 AWS_IOT_DEFENDER_FORMAT 控制。

此外,FreeRTOS AWS IoT Device Defender 库仅支持设备端 AWS IoT Device Defender 指标的子集:

长名称 短名称 父元素 描述
remote_addr rad connections 列出 TCP 连接的远程地址。
total t established_connections 列出已建立的 TCP 连接数。

例如:

{ "tcp_connections": { "established_connections": { "connections": [ { "remote_addr": "192.168.0.1:8000" }, { "remote_addr": "192.168.0.2:8000" } ], "total": 2 } } }

此 JSON 文档仅用作示例用途,因为 FreeRTOS Device Defender 库不支持 JSON 格式的指标。

初始化

必须定义宏 AWS_IOT_SECURE_SOCKETS_METRICS_ENABLED 以启用安全套接字指标。不定义此宏大可能会导致无法预测的行为。

FreeRTOS Device Defender API

有关完整 API 参考,请参阅 Device Defender C 开发工具包 API 参考

示例用法

有关所用 Device Defender 库的完整示例,请参阅 AWS IoT Device Defender 演示