收集 Aware Signals 日志
解析器版本:1.0
本文档介绍了如何配置 Aware 以使用 Webhook 将 Signal 事件日志推送到 Google Security Operations。
Aware (by Mimecast) 是一款协作安全和内部风险平台,可监控 Slack、Microsoft Teams、Zoom、Cisco Webex 和 Workvivo 等企业通信工具中的内容。Aware Signal 应用使用 AI 模型、关键字匹配、正则表达式和情感分析来检测违规行为并生成事件。这些信号事件可以转发到 SIEM 目标位置,以便进行集中式安全监控和关联。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 已启用 Signal 模块的 Aware 平台订阅
- 有权访问系统设置的 Aware 管理员账号
- 至少有一个协作平台(Slack、Microsoft Teams、Zoom、Webex 或 Workvivo)已连接到 Aware 并正在提取内容
- 至少配置了一项会生成事件的信号政策和规则
- 对 Google Cloud Console 的访问权限(用于创建 API 密钥)
在 Google SecOps 中创建 Webhook Feed
创建 Feed
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Aware Signal Events)。 - 选择 Webhook 作为来源类型。
- 选择 Aware Signals 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 拆分定界符:输入
\n(NDJSON 载荷的换行符分隔符) - 资产命名空间:资产命名空间
- 注入标签:要应用于此 Feed 中事件的标签
- 拆分定界符:输入
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
生成并保存密钥
创建 Feed 后,您必须生成用于身份验证的密钥:
- 在 Feed 详情页面上,点击生成密钥。
- 系统会显示一个对话框,其中包含密钥。
- 复制并妥善保存此密钥。
获取 Feed 端点网址
- 前往相应 Feed 的详细信息标签页。
- 在端点信息部分,复制 Feed 端点网址。
网址格式为:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate保存此网址以供后续步骤使用。
点击完成。
创建 Google Cloud API 密钥
Google SecOps 需要使用 API 密钥进行身份验证。在 Google Cloud Console 中创建受限 API 密钥。
创建 API 密钥
- 前往 Google Cloud 控制台的“凭据”页面。
- 选择您的项目(与您的 Google SecOps 实例关联的项目)。
- 依次点击创建凭据> API 密钥。
- 系统会创建一个 API 密钥,并在对话框中显示该密钥。
- 点击修改 API 密钥以限制密钥。
限制 API 密钥
- 在 API 密钥设置页面中:
- 名称:输入一个描述性名称(例如
Chronicle Webhook API Key)
- 名称:输入一个描述性名称(例如
- 在 API 限制下:
- 选择限制密钥。
- 在选择 API 下拉菜单中,搜索并选择 Google SecOps API(或 Chronicle API)。
- 点击保存。
- 从页面顶部的 API 密钥字段复制 API 密钥值。
安全地保存 API 密钥。
获取 Aware API 密钥
Aware 使用 API 密钥对外部集成进行身份验证。如需获取密钥,请执行以下操作:
- 使用管理员账号登录 https://aware.work 中的 Aware。
- 点击左下角的系统设置。
- 前往集成标签页。
复制页面上显示的 API 密钥。
请妥善保存 API 密钥,以便在后续步骤中使用。
配置 Aware Signal 网络钩子转发
构建网络钩子网址
将 Google SecOps 端点网址、API 密钥和密钥合并:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>示例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
在 Aware 中配置事件转发
将 Aware 配置为将 Signal 事件转发到 Google SecOps 网络钩子端点。具体步骤可能会因 Aware 平台版本而异。
- 使用管理员账号登录 https://aware.work 中的 Aware。
- 点击左下角的系统设置。
- 前往集成标签页。
使用以下详细信息配置新的 Webhook 目标:
目标网址:粘贴完整的网络钩子网址,并在末尾附加 API 密钥和密钥作为查询参数:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY内容类型:选择
application/json身份验证标头(如果您的 Aware 版本支持):将标头名称设置为
X-Aware-Api-Key,并将值设置为您的 Aware API 密钥
选择要转发的事件类型。如需进行全面的安全监控,请启用所有信号事件的转发功能:
- 政策违规事件
- 关键字匹配事件
- AI/情绪检测事件
- 恶意行为检测事件
点击保存以激活 webhook 目标网址。
替代方案:使用 Cloud Run 函数转发事件
如果您的 Aware 版本不支持针对 Signal 事件的原生 webhook 推送,您可以使用 Cloud Run 函数轮询 Aware API 并将事件转发到 Google SecOps webhook 端点。
- 创建具有 Pub/Sub 触发器的 Cloud Run 函数(Python 3.12 或更高版本)。
- 将函数配置为:
- 使用
X-Aware-Api-Key标头向 Aware API 进行身份验证。 - 从 Aware API 端点查询 Signal 事件。
- 将每个事件作为 JSON 载荷转发到 Google SecOps Webhook 端点网址。
- 使用
使用 Cloud Scheduler 定期(例如每 5 分钟)调用该函数。
转发事件的请求示例:
curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"signal_id":"12345","event_type":"policy_violation","timestamp":"2026-01-15T10:30:00Z","user":"user@example.com","platform":"slack","policy":"Data Loss Prevention","rule":"Credit Card Numbers","message_snippet":"detected content"}'
验证事件传送
- 在 Google SecOps 中,依次前往 SIEM 设置 > Feed。
- 点击 Aware Signal Events Feed。
- 前往状态标签页。
- 验证是否正在接收事件。
或者,在 Aware 中触发测试 Signal 事件:
- 在 Aware 中,依次前往信号 > 事件。
- 验证政策是否正在生成新事件。
- 等待几分钟,让事件显示在 Google SecOps 中。
感知信号事件类型
Aware Signal 通过将 AI 模型、关键字匹配、正则表达式和情感分析相结合,检测关联的协作平台中的事件。以下是常见的事件类别:
| 类别 | 说明 | 示例 |
|---|---|---|
| 违反政策 | 由已定义的政策规则触发的事件 | 关键字检测、正则表达式模式匹配、敏感数据 |
| AI/情绪 | AI 和情感模型检测到的事件 | 恶意语言、负面情绪、骚扰 |
| 数据丢失 | 与潜在数据渗漏相关的事件 | 文件共享违规行为、外部共享、凭据泄露 |
| 内部人员风险 | 表明存在潜在内部威胁的事件 | 异常行为模式、访问异常、离职员工风险 |
| 合规性 | 与监管合规相关的活动 | PII 暴露、财务数据共享、违反 HIPAA 规定 |
身份验证方法参考
Google SecOps Webhook Feed 支持多种身份验证方法。选择供应商支持的方法。
方法 1:查询参数
将凭据附加到网络钩子网址。
网址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>示例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
方法 2:自定义标头
如果您的配置支持自定义 HTTP 标头,请使用此方法来提高安全性。
标头:
x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY>
优点:
- API 密钥和密文在网址中不可见
- 更安全(标头不会记录在 Web 服务器访问日志中)
Webhook 限制和最佳实践
请求限制
| 限制 | 值 |
|---|---|
| 最大请求大小 | 4 MB |
| 最大 QPS(每秒查询次数) | 15000 |
| 请求超时 | 30 秒 |
| 重试行为 | 自动(使用指数退避算法) |
最佳做法
- 为所有 Signal 事件类型启用转发,以确保全面的安全覆盖
- 定期监控 webhook 传送状态,查看是否存在失败或延迟情况
- 在 Google SecOps Feed 配置中使用
\n分隔符来处理 NDJSON 载荷 - 在部署到生产环境之前,先测试集成是否会违反已知政策
- 定期查看“感知信号”政策,确保系统能够捕获相关事件
问题排查
事件未显示在 Google SecOps 中
原因:Aware 中正在生成事件,但未注入事件
解决方案:
- 在 Google SecOps 中,依次前往 SIEM 设置> Feed。
- 点击“Aware Signal Events”Feed。
- 前往状态标签页。
- 检查是否存在提取错误。
- 验证日志类型是否设置为 Aware Signals。
- 验证网络钩子网址中的 API 密钥和密钥是否正确。
身份验证错误
原因:API 密钥或密钥无效
解决方案:
- 验证 Google SecOps API 密钥是否有效且具有正确的 API 限制。
- 验证密钥是否与在创建 Feed 时生成的密钥一致。
手动测试端点:
curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"test": "event"}'如果测试失败,请重新生成 API 密钥或密钥,并更新 Aware 中的 webhook 配置。
载荷超出最大大小
原因:事件载荷超过 4 MB 的限制
解决方案:
- 减少转发的事件类型数量。
- 请与 Aware 支持团队联系,以配置载荷大小限制。
- 如果使用 Cloud Run 函数方法,请实现批处理,将大型载荷拆分为多个请求。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
has_principal |
metadata.event_type |
已映射:true → NETWORK_CONNECTION、true → STATUS_UPDATE |
has_user |
metadata.event_type |
已映射:true → USER_UNCATEGORIZED |
signalEventDetails.eventStatus |
security_result.action_details |
直接映射 |
contentObjectDetails_contentObjectIsChat_label |
security_result.detection_fields |
已合并 |
contentObjectDetails_contentObjectIsThread_label |
security_result.detection_fields |
已合并 |
detectionLength_label |
security_result.detection_fields |
已合并 |
detectionStart_label |
security_result.detection_fields |
已合并 |
ruleConditionMatches_label |
security_result.detection_fields |
已合并 |
search_label |
security_result.detection_fields |
已合并 |
signalEventDetails_createdTime_label |
security_result.detection_fields |
已合并 |
signalEventDetails_deletedTime_label |
security_result.detection_fields |
已合并 |
signalEventDetails_inspectionRequestId_label |
security_result.detection_fields |
已合并 |
signalEventDetails_isQuarantined_label |
security_result.detection_fields |
已合并 |
signalEventDetails_policyDetails_createdTime_label |
security_result.detection_fields |
已合并 |
signalEventDetails_policyDetails_policyId_label |
security_result.detection_fields |
已合并 |
signalEventDetails_policyDetails_policyName_label |
security_result.detection_fields |
已合并 |
signalEventDetails_ruleBehavior_label |
security_result.detection_fields |
已合并 |
signalEventDetails_ruleFamilyId_label |
security_result.detection_fields |
已合并 |
signalEventDetails_tenantId_label |
security_result.detection_fields |
已合并 |
signalEventId_label |
security_result.detection_fields |
已合并 |
signal_EventDetails_policyDetails_deletedTime_label |
security_result.detection_fields |
已合并 |
snippetContent_label |
security_result.detection_fields |
已合并 |
snippetLength_label |
security_result.detection_fields |
已合并 |
snippetStart_label |
security_result.detection_fields |
已合并 |
signalEventDetails_ruleId |
security_result.rule_id |
直接映射 |
signalEventDetails_ruleName |
security_result.rule_name |
直接映射 |
contentGroupDetails.contentGroupScope_label |
target.group.attribute.labels |
已合并 |
contentObjectDetails_contentGroupDetails_contentGroupTag_label |
target.group.attribute.labels |
已合并 |
contentGroupDetails_contentGroupName |
target.group.group_display_name |
直接映射 |
contentObjectDetails_contentPlatformId_label |
target.resource.attribute.labels |
已合并 |
contentObjectDetails_contentTime_label |
target.resource.attribute.labels |
已合并 |
contentObjectDetails_contentObjectId |
target.resource.product_object_id |
直接映射 |
contentObjectDetails_contentObjectType |
target.resource.resource_subtype |
直接映射 |
contentAuthorDetails_contentAuthorEmail |
target.user.email_addresses |
已合并 |
contentAuthorDetails_contentAuthorName |
target.user.user_display_name |
直接映射 |
contentAuthorDetails_contentAuthorId |
target.user.userid |
直接映射 |
| 不适用 | metadata.event_type |
常量:NETWORK_CONNECTION |
| 不适用 | metadata.product_name |
常量:AWARE SIGNALS |
| 不适用 | metadata.vendor_name |
常量:AWARE SIGNALS |