关于 dt-obs-compliance-assistant
dt-obs-compliance-assistant 是用于分析 Dynatrace Compliance Assistant 中 EU DORA 合规态势的技能,适合负责运营风险和事件调查的团队。它涵盖 CIF 健康、事件生命周期及安全风险输入,并强调评分仅为运营指标,不代表法律结论。
主要功能
- 01解读 EU DORA 合规快照与评分层级
- 02监控关键或重要功能(CIF)健康状况
- 03调查未分类问题及潜在重大事件
- 04查询漏洞、检测发现和配置结果
- 05查询已分类事件及 DQL 数据
适用场景
- 01查看合规态势及其风险输入
- 02分析影响 CIF 的问题和 KPI
- 03调查 DORA 重大事件阈值
- 04检索已分类重大事件记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dynatrace/ dynatrace-for-ai --skill dt-obs-compliance-assistant安装后在 Claude Code 中输入/dt-obs-compliance-assistant确认已加载。
详细介绍
合规助手
借助 Dynatrace Compliance Assistant 应用提供的实时可观测性和安全洞察,跟踪、管理并调查 EU DORA 合规状况。
重要免责声明
Dynatrace 合规评分以及 Compliance Assistant 的所有输出,都是基于实时可观测性数据和自动化系统得出的参考指标。它们不能替代全面或正式的合规评估,也不构成对公司是否符合 EU DORA 或任何其他法规的法律认定。
绝不可声称某个评分、等级或 Compliance Assistant 输出意味着某个组织在法律上符合或不符合 EU DORA。 始终应将结果表述为支持整改决策的运营指标,而非法律或监管裁定。
何时使用此技能
✅ 适用场景:
- EU DORA 合规状况、合规评分、合规快照、评分等级
- 关键或重要职能(CIF):健康状况、KPI 监控、影响分析、设置问题
- DORA 下的事件生命周期:未分类问题、潜在重大事件、已分类重大事件
- ICT 风险输入:漏洞、安全检测发现、错误配置(ICT 资产配置结果)
- EU DORA 下的事件分类:重要性阈值、持续时间标准、经济影响
- 针对
compliance.incidentbizevents、CIF 健康状况或 CIF 上未分类问题的 DQL 查询 - Compliance Assistant 的入门设置、权限和设置
❌ 不适用场景:
- EU DORA 以外的监管框架 — 此应用不支持 SOC2、PCI-DSS、HIPAA、ISO 27001
- 不涉及 DORA、CIF 或合规的通用 Davis 问题 → 使用
dt-obs-problems - 未限定于合规或 DORA 的通用漏洞或安全发现查询 → 使用应用安全技能
- 未包含“compliance”或“DORA”的通用“score”查询 — Dynatrace 中有许多评分
- 配置 Business Flow 或定义业务流程步骤 → 请参阅 Business Flow 文档
- 配置 Security Posture Management 规则 → 请参阅 SPM 文档
- 通用 DQL 语法帮助 → 使用
dt-dql-essentials
先决条件
安装
从 Dynatrace Hub 安装 Compliance Assistant。
所需权限
| 权限 | 用途 |
|---|---|
storage:buckets:read | 读取存储桶 |
storage:events:read | 读取事件 |
storage:entities:read | 读取实体表 |
storage:metrics:read | Istio 发现结果规则所需 |
storage:filter-segments:read | 读取筛选器分段 |
settings:objects:read | 读取日志摄取设置 |
settings:schemas:read | 读取设置架构 |
state:app-states:read | 读取应用状态 |
hub:catalog:read | 读取应用版本 |
storage:security.events:read | 获取安全事件 |
所需数据源
| 来源 | 用途 |
|---|---|
| Business Flow | 监控 CIF 并检测业务流程中的事件 — 事件分类所必需 |
| 漏洞事件 | 持续评估漏洞(DORA 要求) |
| 检测发现事件 | 持续评估网络威胁(DORA 要求) |
| 合规事件 | 验证 ICT 资产安全配置基线(DORA 要求)— 由 Security Posture Management 提供支持 |
核心概念
合规框架
Compliance Assistant 目前仅支持 EU DORA(《数字运营韧性法案》)。它会将可观测性和安全洞察整合到该框架的统一合规态势视图中。未来计划支持更多框架。
Dynatrace 评分(合规快照)
实时分级评分,用于汇总当前的 ICT 风险态势,涵盖潜在事件、安全检测发现、漏洞和错误配置。评分等级由最严重的活跃状况决定;在同一等级内,每满足一项条件,评分都会相应扣减。
评分等级:
| 等级 | 最高分 | 触发条件…… |
|---|---|---|
| 正常 | 100 | 事件、安全检测发现、漏洞和错误配置均未满足任何条件 |
| 低 | 99 | 安全检测发现、漏洞或错误配置中存在任何低严重性发现 |
| 中 | 79 | 存在任何中严重性发现,或 ≥1 个未分类事件 |
| 高 | 59 | 存在任何高严重性发现,或 ≥5 个未分类事件 |
| 严重 | 34 | 存在任何严重级别的安全检测发现、漏洞或错误配置,或 ≥1 个潜在重大事件 |
| 重大 | 5(固定) | ≥1 个已确认并分类的重大事件 — 直接采用固定评分 5 |
扣分机制: 在同一等级内,评分 = 等级最高分 −(6 × 该等级满足的条件数)。例如,中等级满足 2 项条件:79 − 12 = 67。
此评分是高层级的运营指标,不代表已确认符合法规要求或具有特定法律地位。
关键或重要职能(CIF)
根据 EU DORA,金融实体必须识别并监控业务职能:如果这些职能受到干扰,可能会对财务表现或服务连续性造成重大影响。在 Compliance Assistant 中,可通过将 Business Flow 业务流程关联到 DORA 框架来配置 CIF。Grail 上的 Smartscape 可将每个 CIF 与其底层 IT 组件关联起来,提供端到端可见性。
事件生命周期
影响 CIF 业务流程的 Davis 检测问题会经历以下三个状态:
| 状态 | 定义 |
|---|---|
| 未分类问题 | Davis 问题影响某个 CIF,但触发的 DORA 重要性阈值少于 2 项 |
| 潜在重大事件 | ≥2 项受监控的 DORA 重要性阈值被触发 |
| 已分类重大事件 | 在 Compliance Assistant 中手动确认为重大事件;会生成 compliance.incident bizevent 快照 |
受监控的 EU DORA 重要性阈值:
| 阈值 | 标准 |
|---|---|
| 受影响的 CIF | 关键或重要职能的影响范围 |
| 事件持续时间 | 24 小时阈值 |
| 经济影响 | €100,000 阈值,根据受影响 CIF 每分钟的预估成本 × 事件持续时间计算 |
分类始终是由用户在 Compliance Assistant 应用中手动执行的步骤。请勿代替用户对事件进行分类。
分类后,生成的 compliance.incident bizevent 可通过 Dynatrace Workflows 触发自动化操作(例如,创建附有合规影响详情的 ServiceNow 事件或 Jira 工单)。
ICT 风险输入
| 信号类型 | 来源 | DORA 要求 |
|---|---|---|
| 漏洞 | 漏洞发现 | 持续漏洞评估 |
| 安全检测发现 | 检测发现事件 | 持续网络威胁评估 |
| ICT 资产配置结果 | 通过 Security Posture Management 获取的合规事件 | 安全配置基线验证 |
DQL 参考
已归类的重大事件
获取事件被归类为重大事件时生成的 compliance.incident 业务事件。若要检索特定事件,请按 problem.event.id 筛选。
fetch bizevents
| filter event.provider == "dynatrace.compliance.assistant"
| filter event.type == "compliance.incident"
| filter problem.event.id == {{.incident_id:string}}
若要获取所有已归类的事件:
fetch bizevents
| filter event.provider == "dynatrace.compliance.assistant"
| filter event.type == "compliance.incident"
关键字段(完整架构请参阅语义词典):
| 字段 | 类型 | 描述 |
|---|---|---|
compliance.cifs_impacted.names | string | 受事件影响、配置为 CIF 的业务流实体的名称列表(去重)(例如:Account opening; Deposit and trade flow) |
compliance.cifs_impacted.ids | string | 受事件影响、配置为 CIF 的业务流实体的唯一标识符列表(去重) |
compliance.framework | string | 合规框架的显示名称(例如:DORA) |
compliance.incident.classified | boolean | 当事件已按照 DORA 要求被手动归类为重大事件时为 true |
compliance.incident.comment | string | 用户将事件归类为重大事件时添加的评论(例如:"The incident was classified as major due to insights on reputational damage and user impact.") |
compliance.incident.duration | duration | 事件持续时间,单位为纳秒,用于评估 DORA 的 24h 持续时间重要性阈值 |
compliance.incident.duration_criteria | boolean | 若超过 DORA 的 24h 事件持续时间重要性阈值,则为 true |
compliance.incident.economic_impact | double | 以欧元计的预估经济影响,按受影响 CIF 的每分钟预估成本 × 事件持续时间计算 |
compliance.incident.economic_impact_criteria | boolean | 若超过 DORA 的 €100,000 经济影响重要性阈值,则为 true |
compliance.incident.name | string | 事件的显示名称,与底层 dt.davis.problem 的 event.name 一致(例如:CPU saturation) |
compliance.incident.time.classified | timestamp | 将事件归类为重大事件时的 Unix 纪元时间戳(纳秒) |
event.provider | string | Compliance Assistant 事件业务事件始终为 dynatrace.compliance.assistant |
event.type | string | Compliance Assistant 事件业务事件始终为 compliance.incident |
problem.category | string | 底层 Davis 问题的类别:AVAILABILITY、ERROR、SLOWDOWN、RESOURCE_CONTENTION、CUSTOM_ALERT、MONITORING_UNAVAILABLE |
problem.event.id | string | 底层 dt.davis.problem 的唯一标识符——使用此字段与问题查询进行关联 |
problem.status | string | 底层 Davis 问题的状态:ACTIVE 或 CLOSED |
CIF 上未分类的问题和潜在重大事件
查找影响 CIF、且没有匹配 compliance.incident 业务事件的 Davis 问题——也就是说,尚未手动归类的问题。isNull(lookup.event.id) 反连接是关键模式。
fetch dt.davis.problems, from: {{.from}}, to: {{.to}}
| expand affected_entity_ids
| join [
smartscapeNodes "*"
], on: {left[affected_entity_ids] == right[id_classic]}, prefix: "entities."
| join [
smartscapeEdges "*"
], on: {left[entities.id] == right[target_id]}, prefix: "edges."
| join [
smartscapeNodes "BIZ_FLOW"
], on: {left[edges.source_id] == right[id]}, prefix: "nodes."
| lookup [
fetch bizevents
| filter event.provider == "dynatrace.compliance.assistant"
and event.type == "compliance.incident"
], sourceField: `event.id`, lookupField: `problem.event.id`, executionOrder: auto
| filter isNull(lookup.event.id)
| fields display_id,
name = event.name,
status = event.status,
cif = nodes.name,
affectedEntity = entities.name,
event.start,
event.end,
nodes.bizflow.id,
category = event.category
| filter in(nodes.bizflow.id, {"{{.cif_id_1}}", "{{.cif_id_2}}"})
| summarize {
status = takeFirst(status),
cifIds = collectDistinct(nodes.bizflow.id),
cifs = collectDistinct(cif),
start = min(event.start),
end = max(event.end),
duration = max(coalesce(event.end, now()) - event.start),
category = takeFirst(category)
}, by: { display_id, name }
| limit {{.max_entries:long}}
注意:
- 数据源为
dt.davis.problems,而非bizevents filter isNull(lookup.event.id)用于识别没有已归类事件业务事件的问题in(nodes.bizflow.id, {...})将结果限制为 Smartscape 图中关联到已配置 CIF(BIZ_FLOW节点)的问题- 将
{{.cif_id_1}}、{{.cif_id_2}}替换为 Compliance Assistant 中 DORA 框架设置里的实际业务流实体 ID - 对于单个 CIF,使用
| filter nodes.bizflow.id == "{{.cif_id}}"
CIF 健康状况(业务流 KPI)
获取每个 CIF 的最新 KPI 快照。KPI 数据由 Business Flow 发出(event.type == "bizflow.kpis"),而非由 Compliance Assistant 直接发出。
fetch bizevents, from: now()-24h, to: now()
| filter event.type == "bizflow.kpis"
| filter bizflow.id == "{{.cif_id_1}}" or bizflow.id == "{{.cif_id_2}}"
| fieldsAdd timestamp, bizflowId = bizflow.id, bizflowName = bizflow.name
| sort timestamp asc
| summarize {
fulfillment = takeLast(bizflow.analysis.value),
errors = takeLast(bizflow.errors.value),
timestamp = takeLast(timestamp),
timeframe = takeLast(bizflow.query_timeframe.hours),
frequency = takeLast(bizflow.query_frequency.hours),
bizflowName = takeLast(bizflowName),
analysisLabel = takeLast(bizflow.analysis.label)
}, by: { bizflowId }
注意:
- 每个 CIF 返回一行;
fulfillment和errors是最新采样的 KPI 值 analysisLabel描述了该业务流中fulfillment的含义(例如“成功登录”)timeframe和frequency反映 Business Flow 自行配置的查询时间窗口- 对于单个 CIF,使用
| filter bizflow.id == "<id>";对于多个 CIF,添加更多or bizflow.id == "<id>"子句 - 如果缺少数据,请检查 Business Flow 的监控频率和评估时间范围(参见 常见问题)
常见工作流
检查合规性评分
- 确认用户询问的是 DORA——目前唯一支持的框架
- 使用核心概念中的评分等级表说明当前等级
- 提醒用户,该评分是运营指标,并非法律合规性判定
- 如果评分下降,请确定导致评分下降的信号类型(事件、安全检测发现、漏洞、错误配置)
- 参考提高合规性评分指导修复
调查事件
- 确认用户询问的是已分类事件(包含
compliance.incidentbizevent),还是未分类/潜在重大问题 - 对于已分类事件:运行已分类事件 DQL 查询;如果提及了特定事件,则按
problem.event.id筛选 - 对于未分类/潜在重大问题:运行限定到相关 CIF ID 的未分类问题查询
- 显示重大性阈值是否超标:
compliance.incident.duration_criteria、compliance.incident.economic_impact_criteria、compliance.cifs_impacted.* - 不要代替用户对事件进行分类——分类是由 Compliance Assistant 应用手动执行的步骤
查看 CIF 健康状况
- 从 Compliance Assistant 中的 DORA 框架设置获取 CIF 的 Business Flow ID
- 使用相关的
bizflow.id值运行 CIF 健康状况查询 - 显示每个 CIF 的
fulfillment、errors和analysisLabel - 如果数据缺失或过时,请检查 Business Flow 的监控频率——参见常见问题
提高合规性评分
Dynatrace 评分实时反映当前 ICT 风险状况。若要提高评分:
- 及时处理事件——解决影响 CIF 的潜在重大事件和未分类问题
- 修复安全检测发现和漏洞——参见获取洞察和如何修复检测到的漏洞?
- 修复 ICT 资产错误配置——参见通过 Security Posture Management 保持合规
- 确保监控覆盖范围——确认已在所有 CIF 上启用实时保护和监控
提高评分可降低可观测到的 ICT 风险,但不代表正式合规或具备法律层面的合规准备状态。
常见问题
Compliance Assistant 中的 CIF 洞察多久更新一次?
CIF KPI 洞察(履约情况和错误)会根据 Business Flow 中配置的 KPI 监控生成频率更新。评估时间范围也由各业务流配置定义。
为确保 KPI 评估可靠,并避免长时间运行的流程导致数据缺失,请将评估时间范围设为流程平均耗时的至少 3–4 倍。例如,如果某个 CIF 的平均耗时为 5 分钟,请将评估窗口设为至少 15–20 分钟。
为什么已配置的 CIF 未更新?
如果您最近编辑或添加了配置为实体的业务流程,并在 Compliance Assistant 中将其选为 CIF,这些业务流程可能需要等到最长监控频率所定义的时间后才会更新。请在业务流配置中调整监控频率,以缩短延迟。