收集 Fivetran 日志
解析器版本:1.0
支持范围:
Google SecOps
SIEM
本文档介绍了如何配置 Fivetran,以使用网络钩子将日志推送到 Google Security Operations。
Fivetran 是一个数据集成平台,可自动执行从各种来源到数据仓库的数据流水线。Fivetran 会生成操作事件,包括连接器同步事件、转换事件和连接状态更改。这些事件可以通过出站 webhook 发送到外部端点,以便进行监控、提醒和安全分析。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 具有管理员或账号级权限的 Fivetran 账号。
- Google Cloud Console 的访问权限(用于创建 API 密钥)。
- 已启用 REST API 访问权限的 Fivetran 账号。
在 Google SecOps 中创建 webhook Feed
创建 Feed
- 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
- 点击 + 新增。
- 选择配置单个 Feed。
- 在 Feed 名称字段中,输入一个名称(例如
Fivetran Events)。 - 选择 Webhook 作为来源类型。
- 选择 Fivetran 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 拆分定界符(可选):留空。
- 资产命名空间:资产命名空间。
- 注入标签:要应用于此 Feed 中的事件的标签。
- 点击下一步。
- 检查新的新闻信息流配置,然后点击提交。
生成并保存密钥
- 在 Feed 详情页面上,点击生成密钥。
- 系统会显示一个对话框,其中包含密钥。
- 复制并妥善保存密钥。
获取 Feed 端点网址
- 前往该 Feed 的详细信息标签页。
- 在端点信息部分,复制 Feed 端点网址。
- 保存此网址,以便在后续步骤中使用。
- 点击完成。
创建 Google Cloud API 密钥
Google SecOps 需要使用 API 密钥进行身份验证。
创建 API 密钥
- 前往 Google Cloud 控制台凭据页面。
- 选择您的项目。
- 依次点击创建凭证 > API 密钥。
- 点击修改 API 密钥以限制密钥。
限制 API 密钥
- 在 API 密钥设置中:
- 名称:输入一个描述性名称(例如
SecOps Webhook API Key)。
- 名称:输入一个描述性名称(例如
- 在 API 限制下:
- 选择限制密钥。
- 在下拉菜单中,搜索并选择 Google SecOps API(或 Chronicle API)。
- 点击保存。
- 复制 API 密钥值并妥善保存。
配置 Fivetran webhook
构建网络钩子网址
将端点网址和 API 密钥组合在一起:
<ENDPOINT_URL>?key=<API_KEY>
使用 Fivetran REST API 创建 webhook
获取 Fivetran API 凭证
- 登录您的 Fivetran 账号。
- 依次前往账号设置 > API 配置。
- 如果您没有 API 密钥,请点击生成 API 密钥。
- 复制 API 密钥和 API 密钥。
创建账号级 webhook
使用此方法可接收账号中所有连接器的事件。
打开终端并运行以下命令:
curl -X POST https://api.fivetran.com/v1/webhooks/account \ -u "API_KEY:API_SECRET" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "url": "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_CHRONICLE_API_KEY", "events": [ "sync_start", "sync_end", "transformation_start", "transformation_succeeded", "transformation_failed", "connection_successful", "connection_failure", "create_connector", "pause_connector", "resume_connector", "edit_connector", "delete_connector", "force_update_connector", "resync_connector", "resync_table" ], "active": true, "secret": "YOUR_CHRONICLE_SECRET_KEY" }'- 其中,
{region}是 Google SecOps 实例所在的区域(例如us、europe或asia-southeast1),{parent}是资源路径,格式为projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>。
- 其中,
网络钩子详情
可用的 webhook 事件
| 事件 | 说明 |
|---|---|
sync_start |
连接器同步已开始 |
sync_end |
连接器同步已完成 |
transformation_start |
已开始转换 |
transformation_succeeded |
转换已成功完成 |
transformation_failed |
转换失败 |
connection_successful |
连接测试成功 |
connection_failure |
连接测试失败 |
create_connector |
已创建新连接器 |
网络钩子重试行为
Fivetran 会按照以下时间表自动重试失败的 webhook,最长持续 24 小时:
| 重试 | 首次尝试后的时间 |
|---|---|
| 第 1 次重试 | 6 分钟 |
| 第 2 次重试 | 27 分钟 |
| 第 3 次重试 | 1 小时 45 分钟 |
| 第 4 次重试 | 6 小时 25 分钟 |
| 第 5 次重试 | 23 小时 13 分钟 |
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
jsonPayload.connector_id |
additional.connector_id |
直接复制的值。 |
jsonPayload.connector_type |
additional.connector_type |
直接复制的值。 |
jsonPayload.data.query |
additional.query |
直接复制的值。 |
| 不适用 | metadata.event_type |
根据主账号和目标的存在情况进行设置。 |
jsonPayload.event |
metadata.product_event_type |
直接复制的值。 |
jsonPayload.sync_id |
metadata.product_log_id |
直接复制的值。 |
jsonPayload.connector_name |
principal.hostname |
直接复制的值。 |
resource.labels.email_id |
principal.user.email_addresses |
如果格式为有效的电子邮件地址,则会进行映射。 |
resource.labels.unique_id |
principal.user.userid |
直接复制的值。 |
severity |
security_result.severity |
“INFO”映射到 INFORMATIONAL。 |
logName |
target.resource.name |
直接复制的值。 |
| 不适用 | target.resource.type |
设置为 DATABASE。 |
| 不适用 | metadata.product_name |
设置为 FIVETRAN。 |
| 不适用 | metadata.vendor_name |
设置为 FIVETRAN。 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。