什么是适用于 Linux 设备的 OSConfig?

IoT/Edge 解决方案生成器和操作员通常需要配置和观察设备设置。 常见示例包括网络设置、主机名、时区、安全基准、防火墙规则、ssh 用户等。

适用于 Linux 的 OSConfig 是一个精简 (≈5MB) 设备端组件,可将这些配置管理功能直接引入 Azure IoT 工作流。 与 IoT/Edge 空间中的替代做法相比,将 OSConfig 与 Azure IoT 或 GitOps 做法结合使用可以:

  • 通过在部署时允许大规模动态配置,减少需要维护的设备映像数
  • 通过允许在字段中大规模地为特定设备重新配置,减少完整映像更新的频率
  • 通过允许直接从 Azure IoT 进行配置管理,从 IoT/Edge 解决方案中消除繁重的数据中心服务器管理工具

显示设备管理基础知识作为支持差异的示意图注意:OSConfig 是 Microsoft 针对边缘+云解决方案的安全和管理功能套件的一部分。该套件涵盖 威胁管理工作负载管理配置管理和 更新管理。有关详细信息,请参阅: 适用于 Linux 设备的 Microsoft 安全和管理套件

它如何与 Azure IoT 配合使用

适用于 Linux 的精简高效的 OSConfig 代理在每个设备上运行。 它将设备的可配置和可观察属性投影到Azure IoT 中心。 这使基于孪生的工作流 (例如 IoT 资源管理器、Azure IoT 设备管理配置和 Azure IoT 设备管理查询) 来观察和配置设备。

显示通过 OSConfig 客户端和孪生链接到IoT 中心 设备管理功能的设备的概述图

可以预配和管理哪些内容?

OSConfig 包括内置功能的标准库。 它还具有插件模型,因此你可以为独特的设备添加或修改功能。

下面是可以使用内置功能完成的方案示例。

网络适配器和 IP 信息

有关参考信息和动手示例,请参阅:使用 OSConfig 和 Azure IoT 处理网络适配器状态、IP 地址等

  • 清点所有设备的 IP 地址
  • 获取设备的 IP 地址,以便进行故障排除、连接和 IP 摄像头等。
  • 获取设备用于调查名称解析问题的 DNS 服务器
  • 审核所有设备是否都使用批准的网络基础结构,以捕获意外与测试网络连接的设备,或从意外的咖啡店进行连接
  • 在部署过程中将设备从静态 IP 转换为 DHCP
  • 适应网络基础结构更改

包管理器配置

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 管理 OS 包管理器

  • 确保设备将专用包存储库用于已批准版本的库等。
  • 将设备动态指向特定程序包的供应商/合作伙伴包存储库
  • 确保已安装某些包
  • 比较设备群中已安装的包状态,并检测偏移

主机名

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 处理主机名

  • 设置 OS 级别主机名以符合标准或确保可以在上下文中评估来自设备的数据和日志
  • 获取用于清单和审核的 OS 级主机名

Hosts 文件

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 处理 /etc/hosts 文件

  • 添加 hosts 文件条目以启用与本地基础结构的通信
  • 根据设备角色或位置动态预配特定条目
  • 审核设备是否存在所需的条目

防火墙

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 管理主机防火墙

  • 审核跨设备启用基于主机的防火墙
  • 审核跨设备的累积规则集是否与已知良好的指纹匹配
  • 确保环境特定的规则(例如“拒绝除管理子网以外的所有 ssh 入站”)
  • 进行临时更改以允许开发人员和诊断访问
  • 适应安全环境的变化,例如基于新报告的漏洞阻止某些流量
  • 适应应用/工作负载要求和网络基础结构的变化,例如启用对新 HTTP 终结点的访问

设备信息,包括 CPU、OS、TPM、设备供应商等

有关参考信息和动手示例,请参阅: 使用 Azure IoT 和 OSConfig 报告硬件 和 OS 信息

  • 报告整个机群的 OS 发行版和版本
  • 按 CPU 体系结构、OS 等的报告属性的目标IoT 中心配置。
  • 对于异质机群,请发现哪些设备具有 TPM 功能
  • 对于具有 TPM 的设备,请审核 TPM 是否处于活动状态,并按预期与 OS 交互

重新启动和关闭

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 重新启动或关闭设备

  • 重新启动或关闭行为不端的设备
  • 跨多个设备协调维护重启

Azure 设备运行状况服务 (ADHS) 治理

  • 设置和审核 ADHS 诊断数据服务的选择加入级别

传递优化治理

  • 设置和审核传递优化参数,例如 Microsoft 连接缓存 URL、限制等

大规模自定义配置

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 进行自定义配置和报告,以及如何与 OSConfig 和 Azure IoT 的 CommandRunner 功能交互

  • 运行自定义脚本以配置工作负载、OS 组件、文件等。
  • 跨所有设备配置 OS 时区,例如,确保来自设备的数据和日志标有组织标准时间戳
  • 跨所有设备配置网络时间源,以确保设备与组织标准计时保持同步,并且不使用恶意时间源
  • 配置包管理器设置,例如将受信任的包存储库添加为源
  • 你的想象力是极限;自定义配置基于 shell 命令

大规模自定义报告和远程诊断

有关参考信息和动手示例,请参阅:使用 Azure IoT 和 OSConfig 进行自定义配置和报告,以及如何与 OSConfig 和 Azure IoT 的 CommandRunner 功能交互

  • 运行自定义命令,从设备获取任何信息
  • 审核某个守护程序是否在所有设备上运行
  • 审核设备是否可以定期 ping 对解决方案非常重要的特定终结点
  • 你的想象力是极限;自定义报告基于 shell 命令
  • 验证设备是否处于活动状态
  • 在设备上运行诊断和开发人员命令

后续步骤