亚马逊:S3via Lambda
AWS Lambda允许您独立于服务器运行代码和运行应用程序。当连接到AWS S3时,来自S3存储桶的事件可以触发Lambda函数。
您可以将AWS S3存储桶连接到InsightOps,以便跟踪来自AWS Lambda的事件和功能。
要连接它们,您必须:
您还可以使用工作代码示例.
在你开始之前
确保您使用的是Python的Certifi。您可以在此处阅读有关certifi的更多信息:https://github.com/certifi/python-certifi和https://certifi.io/en/latest/.
用例
您可以在几种不同的情况下利用AWS Lambda的InsightOps:
- 转发AWS ELB和CloudFront日志。
- 转发OpenDNS日志
- 转发CloudTrail日志(如果您已经配置了CloudTrail S3集成)
获取日志Token
下载包后,必须至少获得一个日志令牌。基于令牌的输入是单个TCP连接,其中每个日志行包含唯一标识目标日志的令牌。
要获取日志令牌,请执行以下操作:
- 登录您的InsightOps帐户。
- 按照下面的说明获取日志令牌:TCP日志令牌.
或者,您可以使用现有的令牌来聚合日志。
将脚本部署到AWS Lambda
现在,您必须在AWS Lambda中创建一个函数,该函数将调用脚本来运行并触发AWS S3跟踪的事件。
您必须完成以下操作:
配置功能
按照下面的说明在AWS Lambda中创建一个新函数:https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html
配置新功能。
- 登录到AWS控制台。
- 从“服务”下拉菜单中选择兰姆达从“计算”部分。
- 从左侧导航菜单中,选择功能然后单击橙色创建新函数右边的按钮。
- 在“蓝图”部分,搜索并选择s3获取对象python蓝图
- 单击下一个按钮
- 在“触发器”部分,搜索并选择S3作为触发器。
- 在“Bucket”中,选择存储要使用的日志数据的S3 Bucket。
- 对于“事件类型”,选择事件类型对象创建(全部)。
- 检查启用触发器复选框。
- 单击下一个按钮
上传功能代码
- 你的函数名称。
- 可选地提供描述。
- 从“运行时”下拉列表中将python运行时版本设置为python 3.6。
- 在您的资产上,创建一个.ZIP文件,其中包含
r7insight_lambdas3.py
和文件夹认证
您可以在此处下载:https://github.com/rapid7/r7insight_lambdaS3- 确保文件和证书文件夹位于ZIP归档文件的根目录中
- 在“代码输入类型”下,单击上传ZIP文件单选按钮。
- 选择在前面步骤中创建的存档zip文件。
- 在“处理程序”字段中,将处理程序名称设置为
r7insight_lambdas3.lambda_handler
.
- 在“角色”字段中,分配或创建一个允许的新角色
getobject
在您选择的S3桶上。在AWS Lambda中创建角色会自动授予所需的权限。 - 在“Memory”下,将内存限制设置为足够高的值,以便于日志解析和发送。
- 在“Timeout”下,将Timeout设置为足够高的值,以便于日志解析和发送。
- 将VPC值保留为“无VPC”。如果您选择使用VPC,请参阅以下亚马逊文档:https://docs.aws.amazon.com/vpc/index.html#lang/en_us
- 在“环境变量”中,将以下内容设置为键值对:
- 区域-您的洞察区域(如欧盟、美国等)
- Token -之前配置的Token UUID
- 单击下一个按钮
- 查看功能配置后,单击创建函数按钮
- 您可以在下一个屏幕中测试功能配置。
- 单击关闭并保存保存功能配置。
一旦S3桶吸收了日志文件,Lambda函数就会触发。
示例代码
下面是一个工作代码示例:
1.(根)-当前AWS自动将根目录名设置为lambda函数名2.├── 认证/3.│├──4.│ ├── __初始值5.│ ├── __主管道6.│ ├── 卡塞特·佩姆7.│├──core.py8.│ ├── 老根9│└──weak.pem10├── r7insight_lambdas3.py`11``1213注意:通过github下载的Zip文件将所有文件放在一个子目录下;因此,将下载的zip直接上传到AWS将不起作用。
在insight中配置数据
通过S3桶完成AWS Lambda的配置:
- 1 .登录insight tops。
- 选择数据收集左边菜单上的第页。
- 选择AWS Lambda S3“系统数据”部分的图标。
- 在“日志名称”字段中,输入您希望在日志搜索中看到的该数据的名称。
- 选择要将此日志添加到的现有日志集,或键入名称以创建新的日志集。
- 单击完成按钮
一旦AWS S3桶开始接收日志文件数据,Lambda函数就会启动,您将看到log Search页面上反映的日志。日志以JSON的形式出现,大约需要30秒。
这个页面对你有帮助吗?