首页 > 其他分享 >MSE Nacos 配置变更审计平台使用指南

MSE Nacos 配置变更审计平台使用指南

时间:2024-01-29 17:12:44浏览次数:22  
标签:审计 配置 Nacos 操作 MSE 使用指南 变更

作者:孙立(涌月)、邢学超(于怀)、李艳林(彦林)

配置审计平台简介

Nacos [ 1] 作为一款业界主流的微服务注册中心和配置中心,管理着企业核心的配置资产,由于配置变更的安全和稳定诉求越来越高,因此我们提供了安全和可追溯性保障机制。

配置变更的途径主要包括控制台手动发布和使用 Nacos SDK 客户端等方式,为了配置变更的安全性,我们需要对这两种变更进行变更操作的通知和追溯;其中既包括这些变更操作的变更责任人、责任机器的追踪,也包括变更操作对于相关方的通知和告警。

配置变更审计平台核心目标

从变更内容方面,配置变更动作可分为配置的发布、删除、导入、修改等;从变更渠道划分,Nacos 配置变更可分为 在控制台进行的手动操作、使用 Nacos SDK 进行的操作。配置变更发生之后,我们需要进行变更的详细审计,其中主要包括呈现配置的变更细节、变更之后的消息通知。

由此可见,配置变更的目标主要是在配置变更后进行相应的附加处理,来提升配置的可靠性、精准性,从而提升系统整体的安全性、可用性。为了提供给用户一个完善的配置变更审计平台,我们在审计平台中提出了以下几个配置变更的审计点:

  • 配置变更操作责任人审计:

    在 MSE 中添加配置变更的操作责任人的信息,方便客户追溯配置变更的具体执行者;而对于未开启鉴权,未留下用户信息的用户,MSE Nacos 会将配置变更的来源 IP 记录下来,并且将其暴露给用户,从而保证整个审计链路的完整性和可追溯性;

  • 配置变更影响面审计:

    当有多个微服务应用监听该配置时,我们需要记录下有哪些应用和机器监听了该配置,当配置内容发生变化,我们需要将其推送行为、推送成功与否、是否影响业务等信息在变更审计平台上呈现给用户;

  • 配置变更内容审计:

    对所发布配置的内容进行记录,便于用户追溯配置历史的版本,以及每个历史版本的更新日期、所属应用、变更内容;

  • 配置变更通知和告警:

    在配置变更(含发布、修改、导入、删除操作)之后,配置使用水位的实时监控以及配置使用水位超过阈值之后的告警,能够保证用户的及时感知配置的变化情况。

配置变更审计平台原理

如下图所示,配置变更审计平台会将用户的变更操作完整记录,并且通过配置操作人追溯、推送轨迹、配置历史版本审查、变更通知及告警等功能向用户透出。

例如,当用户组织内,某变更操作执行人 A 发起“配置变更 1”操作时,MSE 会将其操作内容和影响面做完整的记录,如“A 执行了配置变更1操作,变更内容为 XXX,该配置监听者及可能的受影响者为 C”。这些信息会通过配置操作人追溯大盘、配置操作影响面追溯大盘等,统一汇总到变更的审计人 E;同时,审计人 E 也可以通过配置使用水位监控观测到配置中心当前的整体使用情况,当配置的使用量超出既定阈值时,MSE 会通过告警信息等方式将风险透出给配置变更审计者。

由此,当用户组织内部的变更审计人需要对该变更进行审计和追溯时,便可以通过 MSE 配置变更审计平台,完整地看到该变更发行时间点、操作人、操作内容、影响面等各种信息,便于其进行团队和研发进度管理,界定风险责任。

配置操作人追溯

MSE Nacos 配置变更操作人追溯作为配置变更平台最主要的功能,用户可以在该追溯界面查看看到历次配置变更的详情和变更操作的责任人信息。

如下图所示,该功能在记录和呈现配置的操作细节时,对于展示内容设置了多个优先级:

  • 当变更的操作来源为用户手动在 MSE 控制台进行发布变更时,配置变更责任人的内容为用户的账号信息,其中:
    • 若用户使用阿里云主账号登录,则记录并呈现主账号的 UID;
    • 若用户使用其所属的子账号登录,则记录并呈现登录使用的子账号的 UID。
  • 当变更的操作来源为用户使用 Nacos 的 Client 来进行配置的增删改查等操作时,MSE 会判断操作源是否携带身份信息:
    • 如果该操作源携带了身份信息,则将其识别并展示出来;
    • 否则,MSE 会自动识别该操作源的来源 IP 并展示在配置操作人追溯列表中,便于配置审计人更加准确和全面地履行审计职责。

配置变更推送轨迹

同时,MSE Nacos 配置变更审计平台也呈现了配置中心的推送轨迹。如下图所示,在推送轨迹页面,用户可以通过推送轨迹查询某配置相关的变更事件,也可以根据 IP 查询所有和该 IP 地址相关的推送轨迹。其中配置中心配置变更和发布的各种详细问题都在推送轨迹界面有所展示,例如:

  • 配置发布异常;
  • 配置修改完发现某台机器不生效;
  • 需要查看配置中心变更及推送事件。

其中,变更事件、DataId、Group 分别表示分别表示本次配置变更事件类型、该配置变更事件的配置、该配置变更事件的配置所属分组。在“详情”列可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到配置维度查询的入口查询当前配置在该时间点的推送事件。

配置监控大盘及告警

同时,MSE Nacos 也提供了变更之后的配置监控页面,主要监测指标包括:

  • 配置中心主要业务指标:配置数、配置监听者数;
  • 配置中心访问量指标:配置中心 TPS、QPS、写 RT、读 RT;
  • MSE 引擎整体的节点数、配置数、每秒查询数、每秒操作数和连接数等信息。

在这个监控大盘下,用户可以在配置变更之后,进行各项配置管理核心指标的校验,例如当配置管理业务上出现推送配置不及时时,可以通过读写 RT 指标快速定位当前配置中心的相应时间;

另外,在压测场景下,用户也可以通过该大盘进行配置数、配置监听者数、TPS 等指标的实时观测;

当配置数或配置使用水位超过既设阈值时,也会给配置变更的审计者发送报警信息。

配置变更审计最佳实践

下面介绍如何使用 MSE Nacos 提供的配置变更审计能力,并使用该能力增强配置变更的安全性和可追溯性。

整个最佳实践可以归纳为如下几个步骤:

1.开通微服务引擎 MSE

2.登录 MSE 控制台,并创建 Nacos 引擎实例

3.在 MSE Nacos 创建相关配置、修改相关配置并删除

4.在配置中心控制台查看配置操作人及配置变更历史

5.使用 Nacos Client SDK 进行配置创建和删除

6.在配置中心控制台查看配置操作人及配置变更来源 IP

7.对配置中心使用情况配置告警,当配置使用水位超过某一阈值的时候,对用户发送通知

1. 开通微服务引擎 MSE

您可登录微服务引擎 MSE [ 1] ,查看并开通 MSE。

2. 登录 MSE 控制台,并创建 Nacos 引擎实例

登录微服务引擎 MSE 产品控制台,在左侧选项框中选择“注册配置中心”,点击“实例列表”,确定 region 后,选择“创建实例”。

3. 在 MSE Nacos 创建相关配置、修改相关配置并删除重建

您可在 MSE Nacos 控制台界面手动创建配置,并做多次修改、删除及重新创建等操作。

4. 在配置中心控制台查看配置操作人及配置变更历史

由下图可见,配置变更的操作人已经呈现,点击“查看”也可以看到历次配置变更的详情和变更之前的历史版本内容。

5. 使用 Nacos Client SDK 进行配置创建和删除

可参考 Nacos Client SDK 使用指南 [ 2] 进行 Nacos Client SDK 的依赖安装,并进行配置创建、修改、删除等操作。

6. 在配置中心控制台查看配置操作人及配置变更来源 IP

可以看到,使用 Nacos Client SDK 进行操作,即使在未开启鉴权的情况下,也留下了发布来源 IP。MSE Nacos 用户可以通过该 IP 追溯到配置变更的来源信息。

7. 添加配置用量告警

此处我们添加配置水位大于 90% 时的告警,当配置使用水位超过该阈值时,会通过短信、电话等方式通知到配置变更的审计人。

标签:审计,配置,Nacos,操作,MSE,使用指南,变更
From: https://www.cnblogs.com/alisystemsoftware/p/17994904

相关文章

  • B. A Balanced Problemset
    原题链接忠告1:要学会计算时间复杂度!!忠告2:要学会抓事实,不要掉进题目直观模拟的陷阱里事实1.任意k个数的\(gcd\)一定可以是这k个数的最小值,这里以\(k=3\)举例假设\(gcd(a_1,a_2,a_3)=m\),则\(a_1=k_1m,a_2=k_2m,a_3=k_3m\),其中\(k_1,k_2,k_3\)都是整数那么可以通过......
  • MSE/Istio 全链路灰度的挑战、实现思路与解决方案
    微服务架构下的灰度发布挑战在传统的单体应用架构中,灰度发布相对简单。只需要在服务的流量入口处进行分流,通过使用K8sService或各种类型的网关即可实现。然而,微服务架构引入了新的复杂性,服务之间的依赖关系错综复杂。有时候,某个功能的发布可能依赖于多个服务,要求灰度流量在整......
  • Nacos 管理后台 import 配置的踩坑
    前言nacos后台页面提供了批量导入配置文件的功能,但官方文档中没有说明具体怎么使用。具体使用需要zip文件,文件夹名称为group名称。导入成功页面提示为注意:此功能很危险,没有二次确认的机会,一定要先在测试环境验证好。mac系统下压缩文件中会多一个.DS_Store文件......
  • 解决 fatal: unable to access 'https://github.com/alibaba/nacos.git/': Failed to
    直接打开这个网站:https://sites.ipaddress.com/github.com/。找到网站中的IP地址复制出里面的IPAddress并粘贴到hosts里面。以下是macos上使用命令行打开方式,也可以直接在硬盘上找到这个文件打开sudovim/private/etc/hosts在最后一行添加如下代码140.82.113.4githu......
  • Docker启动Nacos报错:Nacos Server did not start because dumpservice bean construct
    一、表象重启服务器之后Docker运行Nacos容器,启动成功,但是外网无法访问。查看了一下Nacos启动日志(dockerlogsnacos容器名)二、分析很明显是数据库配``置问题。。如果是数据库配置的问题,可以着重检查以下信息尤其是MySQL内网Host,查询方式见Docker安装Nacos三、解决我已......
  • Nacos启动:[NACOS HTTP-POST] The maximum number of tolerable server reconnection e
    一、表象二、分析源码:publicHttpRestResult<String>httpPost(Stringpath,Map<String,String>headers,Map<String,String>paramValues,Stringencode,longreadTimeoutMs)throwsException{finallongendTime=System.currentTi......
  • Nacos源码下载与运行
    早先在linux环境下搭建过nacos环境即Centos安装部署nacos实战,本次是从官网上下载源码,本地运行看看,记录过程,方便备查。第一步、Nacos源码下载推荐到nacos官网下载Github地址,本次选择最新版,1.4.7版本,可下载Sourcecode源码,解压即可,如下图所示。解压后的目标结构如下所示,关注conf......
  • 二、SpringCloud Alibaba之nacos
    2.1、环境搭建SpringCloudAlibaba的帮助文档地址:https://github.com/alibaba/spring-cloud-alibaba中的wiki在spring的官网中也有springcloudalibaba:https://spring.io/projects/spring-cloud-alibaba2.1.1、分支版本SpringCloudAlibabaVersionSpringCloudVers......
  • Nacos 2.3.0 正式版发布,Nacos Controller 项目开源
    作者:杨翊新版本发布Nacos2.3.0-BETA版本经过1个多月的社区测试,修复了部分的问题并对部分新功能的使用进行了少量优化后,于2023年12月7日正式发布。Nacos2.3.0版本基于 2.3.0-BETA 版本为基础,主要进行了如下更新:基于能力协商机制,支持通过Grpc的方式进行持久化服务实......
  • 恭喜 Apache Dubbo 和 Nacos 荣获开放原子“2023年度生态开源项目”
    12月16日,以“一切为了开发者”为主题的开放原子开发者大会在江苏省无锡市开幕。江苏省工业和信息化厅厅长朱爱勋、中国开源软件推进联盟主席陆首群等领导和专家参加开幕式,工业和信息化部信息技术发展司副司长王威伟、江苏省工业和信息化厅副厅长池宇、无锡市人民政府副市长周文......