一、安全告警:一次AK异常访问事件
"滴滴滴--"
凌晨三点,寂静的夜里,运维工程师小王的手机突然响起刺耳的告警声。一个本该在休假、早已被禁用的员工AccessKey(AK),竟然在生产环境中执行了一系列敏感操作。小王心里一沉,冷汗瞬间冒了出来。是黑客入侵?还是离职员工报复?这个AK是谁?它动了什么?删了什么?造成了多大的损失?
一连串的问题涌上心头。AK就像是访问宝贵数据资产的钥匙。钥匙一旦失控,后果不堪设想。
二、环境准备:操作审计日志与MCP的结合
幸运的是,小王的公司之前通过阿里云可观测云监控2.0控制台将操作审计日志投递到了阿里云日志服务,因此每一次云上资源操作会以日志形式进行存储。其中,身份认证相关的操作事件是操作审计的重要组成部分,包含AccessKey使用情况、用户身份信息、操作类型等关键数据。

MCP-Server-Aliyun-Observability:是阿里云可观测团队推出的MCP服务器,只需要用日常对话的方式向它提问,它就能立刻理解您的意图,并从海量的日志数据中,迅速找到您想要的答案。
(1)MCP服务器
MCP-Server-Aliyun-Observability当前版本主要涵盖日志服务SLS和应用实时监控服务ARMS的功能,支持用户通过自然语言查询SLS日志信息和ARMS的链路数据,以及获取一些元数据信息。
MCP服务器有两种工作模式:stdio模式和SSE模式。在stdio模式下,大模型客户端直接启动一个MCP服务器,通过标准输入输出进行进程间通信来交互。而在SSE模式中,MCP服务器独立启动,并通过暴露的端口供MCP客户端连接和交互。
(2)MCP客户端
常见的MCP客户端有Claude Desktop、Cursor、Cherry Studio,以及与Cline/Continue配合使用的VSCode,本文使用Cherry Studio进行排查。
1、如果要以stdio模式配置mcp-server-aliyun-observability,可以在Cherry Studio中通过“从JSON导入”功能完成。

JSON配置如下,记得替换具体的AK信息:
{
"mcpServers": {
"aliyun_observability": {
"command": "uvx",
"args": [
"mcp-server-aliyun-observability",
"--access-key-id", "阿里云AKId",
"--access-key-secret", "阿里云AKSecret"]
}
}
}

2、在对话框中选择已配置好的MCP服务器,并选择一个模型(推荐使用阿里云百炼)。这样,您就可以利用MCP服务器来分析SLS中的日志。如果向模型询问工具后列出了阿里云SLS工具,则说明MCP服务器配置已成功。

三、实战案例:四种AK审计场景
为了让模型能够更精准地理解查询需求,我们需要为它提供详细的"词典"。操作审计日志库以及字段信息如下:
日志库信息
- Region: cn-heyuan
- Project: aliyun-product-data-155xxxxx2981-cn-heyuan
- Logstore: actiontrail_security-actiontrail-1743562654649
字段信息
- __topic__: 日志主题,固定为actiontrail_event
- __time__: 事件发生时间
- owner_id: 阿里云账号ID
- event.eventId: 事件ID,每个事件的唯一身份证
- event.eventName: 事件名称,告诉我们具体发生了什么
- event.eventSource: 事件来源
- event.eventType: 事件类型
- event.serviceName: 事件服务名称,标识是哪个云服务
- event.resourceName: 相关资源的唯一标识
- event.resourceType: 相关资源类型
- event.userIdentity.accessKeyId: 使用的AccessKey ID
- event.userIdentity.accountId: 请求账号的ID
- event.userIdentity.principalId: 请求账号的凭证ID
- event.userIdentity.type: 请求账号的类型
- event.userIdentity.userName: 请求账号的名称
- event.errorCode: 事件失败时的错误码
- event.errorMessage: 事件失败的错误信息
- addionalEventData.isMFAChecked: 登录账号是否开启MFA
- addionalEventData.loginAccount: 登录账号

现在,一切准备就绪,小王打开了搭载MCP的工具,像聊天一样,开始了他的破案过程。
案例一:追踪可疑AK访问记录
小王问:"查一下AK 'LN......7',最近都干了些啥?把它的操作类型、时间都列出来!"
MCP迅速响应,几秒钟内就给出了答案。原来,这个AK在凌晨时分执行了SLS项目查询操作。虽然看起来是普通的查询,但在深夜时段的异常活动立即引起了小王的警觉。通过这条线索,安全团队迅速锁定了用户活动轨迹,为后续的深入调查奠定了基础。
原版查询:


案例二:识别高风险操作
小王继续问:"最近一周,有没有人干过删除、更新这种危险操作?把最可疑的用户找出来,告诉我他们的操作的服务和事件名!"
系统报告显示,某个开发人员的AK在过去几天内,频繁执行"Delete" 和"Remove"操作,远超正常范围。经过核查,发现是该员工的个人电脑中毒,AK被恶意软件利用。一场内部信息安全危机被扼杀在摇篮里。
原版查询:
统计最近一周疑似的高危操作(例如,资源的删除)频次top2,字段包括服务名、事件名、地域以及出现次数



案例三:监控Root账号使用情况
小王还不放心,继续排查:"过去一个月,有没有人用过Root账号的AK?它的每次使用都必须有记录。把使用者和具体操作都给我列出来!"
Root AK拥有最高权限,是安全审计的重中之重。通过MCP,小王可以轻松实现对Root AK使用的常态化监控,确保这把"万能钥匙"只在最必要、最合规的情况下被使用,杜绝了权限滥用的风险。
原版查询:
查询近30天root用户的AK使用情况,包括用户信息和事件名称,并统计次数



**案例四:系统活动概况分析**
最后,小王想了解整体的系统活动情况:"给我看看最近的云服务访问情况,列出10条近期的事件信息!"
通过查看近期的云服务访问事件,小王可以从宏观角度了解系统的整体活动状况,发现异常访问模式,为安全防护提供全面的数据支撑。这种定期的系统健康检查,让任何异常活动都难以逃脱监控的法眼。
原版查询:
列出10条近期云服务访问的事件信息



四、总结与展望
凌晨四点,警报解除,风险排除。小王终于松了一口气。借助操作审计Log和MCP,安全审计不再是事后翻阅天书般的日志,而是变成了与智能助手实时对话、主动出击的"探案"过程。