检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用FunctionGraph函数和CTS识别非法IP的登录登出操作 案例概述 准备 构建程序 添加事件源 处理结果 父主题: 功能应用类实践
是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。 父主题: 产品咨询
说明 SMN_Topic SMN主题名称。 RegionName Region域 IP 白名单 环境变量的设置过程请参考使用环境变量。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
FunctionGraph是否支持对上传的zip文件进行反编译? 函数不支持反编译,需要用户反编译后上传上来。 父主题: 产品咨询
CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
执行时,函数中过滤白名单告警日志,产生的告警消息推送至SMN主题的订阅终端。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
前提条件 (1)函数中的IP地址为LTS的接入点,获取接入点IP方法如下: 登录云日志服务 LTS控制台,在左侧导航栏选择“主机管理 > 主机”; 在页面右上方,单击“安装ICAgent”; 在弹出的“安装ICAgent”窗口中获取接入点IP。 图1 接入点IP (2)函数中的log
插件(软件包校验文件:Eclipse插件.sha256)。 将获取的Eclipse插件jar/zip包,放入Eclipse安装目录下的plugins文件夹中,重启Eclipse,即可开始使用Eclipse插件。如图1所示。 图1 安装插件 打开Eclipse,单击“File”,选择“New > Other”,如图2所示。
通过CTS云审计服务,快速完成日志分析,对指定IP进行过滤。 基于serverless无服务架构的函数计算提供数据加工、分析,事件触发,弹性伸缩,无需运维,按需付费。 结合SMN消息通知服务提供日志、告警功能。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
getRequestId() 获取此次API请求的requestId。 getStage() 获取发布环境名称。 getSourceIp() 获取APIG自定义认证信息中的源IP。 APIGTriggerResponse相关方法说明 表3 APIGTriggerResponse构造方法说明 方法名
1、函数服务不支持华为云解析服务上的自定义域名。 2、如果要配置华为云解析上注册域名的话,需要在自己的函数内部简单实现下域名转IP的操作。 3、调用DNS的API来解析域名对应的IP,然后函数通过调用IP访问对应的服务。 FunctionGraph的事件函数解析DNS内网域名 当前FunctionGrap
本例提供了日志实时过滤功能的程序包及依赖包,用户可以下载 lts_cleanse.zip(包含函数A代码文件write_log.py、函数B代码文件lts_cleanse.py及依赖包huaweicloudsdklts) 、lts_cleanse.zip.sha256 学习使用。 日志采集和存储 在云日志服务
方件和函数jar包打成ZIP包。 将工程打成ZIP包,上传到OBS存储桶。 Go 1.x 不支持该方式 必须在编译之后打zip包,编译后的二进制文件必须与执行函数入口保持一致,例如二进制名称为Handler,则执行入口为Handler。 将工程打成ZIP包,上传到OBS存储桶。 C#
inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 Custom-Image-Swr: 函数代码来源于SWR自定义镜像。 枚举值: inline zip obs jar Custom-Image-Swr
准备一个zip包,zip包中用于扩展进程的编写,可以拉起一个扩展进程,zip包中限制如下: zip包中必须含有extension命名的文件夹,extension的文件夹中必须包含以extension为前缀,.sh文件类型的脚本文件,用于后续扩展启动扩展进程,例如zip包的文件结构如下:
6.0.zip.sha256)版本。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。 输入您自定义的依赖包名称,此处以“redis-py-4.6.0”为例,代码上传方式为上传zip文件,单击“添加文件”添加redis-4
本地代码地址,当CodeType为zip时,必填 concurrency False Number 单函数最大实例数,取值-1到1000。 -1代表该函数实例数无限制;0代表该函数被禁用 concurrentNum False Number 单实例最大并发数,取值-1到1000 description False
若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。 可以通过函数指标查看函数的调用情况,如图2所示。
使用FunctionGraph开发程序之后是否需要部署? 用户在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。 制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
通过ecs控制台页面登录ecs机器(确保gcc、make工具安装完成),执行如下命令下载相关源码包。 wget 源码路径 若下载包为zip文件,执行如下命令进行解压: unzip xxx/xx.zip 若下载包为tar.gz文件,执行如下命令进行解压: tar -zxvf xxx/xx.tar.gz 执行如