# huaweicloud-solution-building-an-om-auditing-environment-with-eventgrid **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-an-om-auditing-environment-with-eventgrid ## Basic Information - **Project Name**: huaweicloud-solution-building-an-om-auditing-environment-with-eventgrid - **Description**: 该解决方案基于华为云事件网格 EG服务,帮助用户快速构建运维审计环境。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-20 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于华为云函数工作流 FunctionGraph无服务器架构,将云服务(如:弹性云服务器 ECS、对象存储服务 OBS、统一身份认证服务 IAM等)产生的事件发送到事件网格 EG中,事件网格对事件进行校验、过滤、路由和转化,然后推送给已经订阅事件的函数。在函数中执行业务处理逻辑,并将关键的事件信息通过消息通知服务 SMN推送给运维人员。从而对云服务的访问和操作行为进行审计,防止恶意行为,保障云服务和数据的安全。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/building-an-om-auditing-environment-with-eventgrid.html **架构图** --------------- ![方案架构](./document/quickly-constructing-an-eventgrid-based-om-audit-environment.png) **架构描述** --------------- 该解决方案会部署如下资源: 1. 在事件网格 EG中创建两个事件订阅,用于将事件源(弹性云服务器 ECS、统一身份认证服务 IAM)、事件通道和事件目标绑定在一起,通过事件规则将事件源发出的事件路由到事件目标。 2. 创建一个或多个对象存储服务 OBS触发器,用于由指定的桶内对象触发函数。 3. 在函数工作流 FunctionGraph中创建两个函数,一个用于接收来自事件网格路由的特定事件,另一个用于接收来自对象存储服务产生的事件。并将消息格式化后调用消息通知服务推送给订阅终端。 4. 使用消息通知服务 SMN,用于将指定的事件发送给消息订阅终端。 5. 在统一身份认证服务 IAM创建两个委托,一个用于将SMN的操作权限委托给函数工作流,另一个用于授权EG投递事件给函数工作流。 **组织结构** --------------- ``` lua huaweicloud-solution-subtitle-translation ├── quickly-constructing-an-eventgrid-based-om-audit-environment.tf.json -- 资源编排模板 ├── functiongraph ├── eg-based-om-audit-environment.py -- EG事件源函数处理文件 ├── obs-based-om-audit-environment.py -- OBS事件源函数处理文件 ``` **开始使用** --------------- 该解决方案默认捕获配置示例监控事件如下(事件源过滤规则): `对象存储服务 OBS: "put": "使用Put方法上传对象" "post": "使用Post方法上传对象" "CompleteMultipartUpload": "表示合并分段任务" "ObjectRemoved": "表示删除对象" 统一身份认证服务 IAM: "fpwdResetSuccess": "通过忘记密码重置密码" "createUser": "创建用户" "deleteUser": "删除用户" 弹性云服务器 ECS: 弹性云服务器所提供的接口分为ECS接口与OpenStack原生接口。推荐您使用ECS接口,具体请参考API版本选择建议。在弹性云服务器控制台操作云服务器及RFS一键部署删除服务器都使用的是ECS接口,本解决方案默认监控ECS接口产生的事件。 "deleteServer": "删除云服务器" "stopServer": "关闭云服务器" "rebootServer": "重启云服务器"` 1、解决方案部署成功后,用户会收到来自华为云消息通知服务 SMN发送的订阅邀请(本文以短信作为示例),请仔细阅读并确认订阅。 图1 消息订阅短信 ![消息订阅短信](./document/readme-image-001.png) 图2 订阅消息通知 ![订阅消息通知](./document/readme-image-002.png) 2、登录华为云控制台,选择以上三种任一云服务,对其进行受监控的操作,触发特殊事件行为捕获。 3、手机终端会收到短信通知,记录上述行为。同时函数工作流也会打印相关日志。 图3 短信通知 ![短信通知](./document/readme-image-003.png) 4、(可选)进入函数工作流选择方案创建的函数,单击函数名称进入。单击“监控>日志”按下图所示,可以查看日志信息。 图4 函数工作流 ![函数工作流](./document/readme-image-004.png) 图5 监控日志 ![监控日志](./document/readme-image-005.png) 5、如需定制化运维审计环境,请参考部署指南。