关于 dd-audit
dd-audit 是使用 pup audit-logs 调查 Datadog 用户活动、配置变更、访问模式和合规记录的技能,适合安全、成本与合规审查。它提供按用户、操作、资源和网络字段检索审计事件的指引。
主要功能
- 01列出近期审计事件
- 02按查询条件搜索事件
- 03调查用户与 API key 活动
- 04检查配置变更和资源操作
- 05生成合规审查证据
适用场景
- 01追查近期删除或配置修改
- 02调查可疑 API key 活动
- 03分析 LLM 成本或用量上升
- 04整理 SOC 2 或 PCI 审计记录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ datadog-labs/ agent-skills --skill dd-audit安装后在 Claude Code 中输入/dd-audit确认已加载。
附带文件compliance-report/references/control-mapping.md
详细介绍
Datadog Audit Trail
使用 pup audit-logs 调查用户活动、配置更改、访问模式和合规性证据。
子技能
| 子技能 | 适用场景 |
|---|---|
| security-investigation | “谁更改了 X?”、“这个用户做了什么?”、“显示过去 24 小时内的删除操作” |
| key-compromise | “这个 API 密钥是否遭到泄露?”、“密钥 XYZ 做了什么?”、“调查可疑的密钥活动” |
| cost-spike-investigation | “为什么我的账单变高了?”、“是什么导致了这次用量激增?”、“调查大模型成本上涨” |
| compliance-report | “生成 SOC 2 证据”、“PCI 审计日志”、“提供给审计员的用户配置报告” |
| ai-activity-audit | “AI 助手做了什么?”、“审计 MCP 工具调用”、“AI 治理报告” |
前置条件
pup auth login # OAuth2 (recommended)
# or set DD_API_KEY + DD_APP_KEY with audit_logs_read scope
命令
# List recent events
pup audit-logs list --from 1h --limit 100
# Search with a query
pup audit-logs search --query "@action:deleted" --from 24h
# JSON output for piping to jq
pup audit-logs search --query "@usr.email:[email protected]" --from 7d -o json | jq '.data[].attributes'
事件架构速查
| 字段 | 描述 | 示例值 |
|---|---|---|
@usr.email | 操作者邮箱 | [email protected] |
@evt.actor.type | 操作执行方式 | USER、API_KEY、SUPPORT_USER |
@action | 动词 | created、modified、deleted、accessed、login |
@evt.name | 事件类别 | Dashboard、Monitor、Authentication、Access Management |
@asset.type | 资源类型 | dashboard、monitor、api_key、role、user |
@asset.id | 资源标识符 | abc-123 |
@metadata.api_key.id | 使用的 API 密钥(如适用) | key_abc123 |
@metadata.app_key.id | 使用的 App 密钥(如适用) | app_abc123 |
@network.client.ip | 客户端 IP 地址 | 1.2.3.4 |
@network.client.geoip.country.name | 国家/地区 | United States |
@network.client.geoip.as.name | ASN 名称 | Amazon.com |
@http.url_details.path | API 端点路径 | /api/v1/dashboard/xyz |
搜索语法
与 Log Explorer 使用相同的 Lucene 风格语法:
| 查询 | 含义 |
|---|---|
@evt.name:Dashboard | 精确匹配字段 |
@action:deleted | 操作筛选条件 |
@usr.email:[email protected] | 特定用户 |
@evt.name:Monitor AND @action:modified | 组合查询 |
-@action:deleted | 否定条件 |
@usr.email:* | 字段存在 |
@network.client.ip:1.2.3.4 | IP 筛选条件 |
保留期限
默认保留期限为 90 天。如果查询时间超过 90 天,必须配置归档到 S3/GCS/Azure Blob。运行查询前,务必确认请求的时间范围是否在保留期限内。
故障排除
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 403 Forbidden | 缺少 audit_logs_read 范围 | 在 Datadog UI 中为 App 密钥添加该范围 |
| 结果为空 | 时间范围超出保留期限 | 检查归档配置;默认最长为 90 天 |
| 超时 | 查询范围过广 | 缩短时间范围或添加更多筛选条件 |
| 没有 IP 数据 | 内部操作或预先增强的事件 | 并非所有事件都包含地理位置数据 |
参考资料
评论
支持 Markdown