使用 API 批量关闭提醒
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Google Security Operations REST API 以编程方式关闭大量提醒。Google 建议在以下情况下使用此方法:在平台中关闭提醒过于耗时。
前提条件
在开始之前,请确保您已执行以下操作:
- Python 环境:您需要安装 Python 才能运行示例脚本。
- API 示例:访问
api-samples-pythonGitHub 代码库。 - 凭据:有效的凭据文件(例如
.chronicle_credentials.json)。 - jq:用于解析 API 输出的命令行 JSON 处理器。
搜索检测项
首先,您必须确定要关闭的提醒(检测到的提醒)。您可以使用 list_detections.py 脚本查找与特定规则 ID 关联的检测结果。
- 找到您的规则 ID 和项目详情。
- 运行脚本,将检测结果输出到 JSON 文件。JSON 文件名可以是
detections.json或temp.json。
命令:
python -m detect.v1alpha.list_detections \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--rule_id=$RULE_ID \
> ip_in_abuseipdb_out.json
提取检测 ID
批量更新脚本需要一个纯文本文件,其中每行包含一个检测 ID。上一步创建了一个 JSON 文件,您现在必须将其转换为文本文件。
- 使用
jq从 JSON 数组中提取检测 ID(以de_开头)。 - 将输出保存到文本文件。
命令:
cat ip_in_abuseipdb_out.json | jq -r '.detections[].id' \
> ip_in_abuseipdb_out.txt
这会创建一个列出 ID 的文件,例如 de_ad9d2771-a567...。
配置反馈(“关闭”操作)
关闭提醒时,“反馈”状态会设置为 CLOSED。
- 默认行为:
bulk_update_alerts.py脚本使用硬编码的默认反馈载荷:- 状态:
CLOSED - 原因:
REASON_MAINTENANCE - 评论:
automated cleanup。
- 状态:
- 自定义:如果您需要更改判决结果(例如更改为
FALSE_POSITIVE)或注释,可以执行以下操作:- 直接在 Python 文件中修改
DEFAULT_FEEDBACK字典。 - 传递 CLI 参数(例如
--verdict="FALSE_POSITIVE")来替换特定值。
- 直接在 Python 文件中修改
执行批量关闭
使用您之前创建的文本文件运行批量更新脚本(请参阅提取检测 ID)。此脚本会针对列表中的每个 ID 调用 UpdateAlert 方法。
命令:
python -m detect.v1alpha.bulk_update_alerts \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--alert_ids_file="$(pwd)/ip_in_abuseipdb_out.txt"
验证关闭(可选)
如需验证提醒是否已成功关闭,您可以使用 get_alert.py 模块查看单个提醒的详细信息。
命令:
python -m detect.v1alpha.get_alert \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--alert_id=$ALERT_ID
预期结果:JSON 输出包含一个 feedbackSummary 对象,其中显示了 "status": "CLOSED" 和您指定的注释(例如“自动清理”)。
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。