作者:熊芸
一、安全告警:一次 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 信息:
json
{
"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 审计场景
为了让模型能够更精准地理解查询需求,我们需要为它提供详细的"词典"。操作审计日志库以及字段信息如下:
yaml
# 日志库信息
- 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,安全审计不再是事后翻阅天书般的日志,而是变成了与智能助手实时对话、主动出击的"探案"过程。
点击此处,查看云监控 2.0 产品详情