配置审计平台简介
Nacos[1]作为一款业界主流的微服务注册中心和配置中心,管理着企业核心的配置资产,由于配置变更的安全和稳定诉求越来越高,因此我们提供了安全和可追溯性保障机制。
配置变更的途径主要包括控制台手动发布和使用 Nacos SDK 客户端等方式,为了配置变更的安全性,我们需要对这两种变更进行变更操作的通知和追溯;其中既包括这些变更操作的变更责任人、责任机器的追踪,也包括变更操作对于相关方的通知和告警。
配置变更审计平台核心目标
从变更内容方面,配置变更动作可分为配置的发布、删除、导入、修改等;从变更渠道划分,Nacos 配置变更可分为 在控制台进行的手动操作、使用 Nacos SDK 进行的操作。配置变更发生之后,我们需要进行变更的详细审计,其中主要包括呈现配置的变更细节、变更之后的消息通知。
由此可见,配置变更的目标主要是在配置变更后进行相应的附加处理,来提升配置的可靠性、精准性,从而提升系统整体的安全性、可用性。
为了提供给用户一个完善的配置变更审计平台,我们在审计平台中提出了以下几个配置变更的审计点:
- 配置变更操作责任人审计:在 MSE 中添加配置变更的操作责任人的信息,方便客户追溯配置变更的具体执行者;而对于未开启鉴权,未留下用户信息的用户,MSE Nacos 会将配置变更的来源 IP 记录下来,并且将其暴露给用户,从而保证整个审计链路的完整性和可追溯性;
- 配置变更影响面审计:当有多个微服务应用监听该配置时,我们需要记录下有哪些应用和机器监听了该配置,当配置内容发生变化,我们需要将其推送行为、推送成功与否、是否影响业务等信息在变更审计平台上呈现给用户;
- 配置变更内容审计:对所发布配置的内容进行记录,便于用户追溯配置历史的版本,以及每个历史版本的更新日期、所属应用、变更内容;
- 配置变更通知和告警:在配置变更(含发布、修改、导入、删除操作)之后,配置使用水位的实时监控以及配置使用水位超过阈值之后的告警,能够保证用户的及时感知配置的变化情况。
配置变更审计平台原理
如下图所示,配置变更审计平台会将用户的变更操作完整记录,并且通过配置操作人追溯、推送轨迹、配置历史版本审查、变更通知及告警等功能向用户透出。
例如,当用户组织内,某变更操作执行人 A 发起“配置变更 1”操作时,MSE 会将其操作内容和影响面做完整的记录,如“A 执行了配置变更1操作,变更内容为 XXX,该配置监听者及可能的受影响者为 C”。这些信息会通过配置操作人追溯大盘、配置操作影响面追溯大盘等,统一汇总到变更的审计人 E;同时,审计人 E 也可以通过配置使用水位监控观测到配置中心当前的整体使用情况,当配置的使用量超出既定阈值时,MSE 会通过告警信息等方式将风险透出给配置变更审计者。
由此,当用户组织内部的变更审计人需要对该变更进行审计和追溯时,便可以通过 MSE 配置变更审计平台,完整地看到该变更发行时间点、操作人、操作内容、影响面等各种信息,便于其进