mcpField
D
dt-obs-compliance-assistant

dt-obs-compliance-assistant

github.com/dynatrace安全169917 次安装今天更新
代码仓库

关于 dt-obs-compliance-assistant

dt-obs-compliance-assistant 是用于分析 Dynatrace Compliance Assistant 中 EU DORA 合规态势的技能,适合负责运营风险和事件调查的团队。它涵盖 CIF 健康、事件生命周期及安全风险输入,并强调评分仅为运营指标,不代表法律结论。

主要功能

  1. 01解读 EU DORA 合规快照与评分层级
  2. 02监控关键或重要功能(CIF)健康状况
  3. 03调查未分类问题及潜在重大事件
  4. 04查询漏洞、检测发现和配置结果
  5. 05查询已分类事件及 DQL 数据

适用场景

  1. 01查看合规态势及其风险输入
  2. 02分析影响 CIF 的问题和 KPI
  3. 03调查 DORA 重大事件阈值
  4. 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.incident bizevents、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:readIstio 发现结果规则所需
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.namesstring受事件影响、配置为 CIF 的业务流实体的名称列表(去重)(例如:Account opening; Deposit and trade flow)
compliance.cifs_impacted.idsstring受事件影响、配置为 CIF 的业务流实体的唯一标识符列表(去重)
compliance.frameworkstring合规框架的显示名称(例如:DORA)
compliance.incident.classifiedboolean当事件已按照 DORA 要求被手动归类为重大事件时为 true
compliance.incident.commentstring用户将事件归类为重大事件时添加的评论(例如:"The incident was classified as major due to insights on reputational damage and user impact.")
compliance.incident.durationduration事件持续时间,单位为纳秒,用于评估 DORA 的 24h 持续时间重要性阈值
compliance.incident.duration_criteriaboolean若超过 DORA 的 24h 事件持续时间重要性阈值,则为 true
compliance.incident.economic_impactdouble以欧元计的预估经济影响,按受影响 CIF 的每分钟预估成本 × 事件持续时间计算
compliance.incident.economic_impact_criteriaboolean若超过 DORA 的 €100,000 经济影响重要性阈值,则为 true
compliance.incident.namestring事件的显示名称,与底层 dt.davis.problem 的 event.name 一致(例如:CPU saturation)
compliance.incident.time.classifiedtimestamp将事件归类为重大事件时的 Unix 纪元时间戳(纳秒)
event.providerstringCompliance Assistant 事件业务事件始终为 dynatrace.compliance.assistant
event.typestringCompliance Assistant 事件业务事件始终为 compliance.incident
problem.categorystring底层 Davis 问题的类别:AVAILABILITY、ERROR、SLOWDOWN、RESOURCE_CONTENTION、CUSTOM_ALERT、MONITORING_UNAVAILABLE
problem.event.idstring底层 dt.davis.problem 的唯一标识符——使用此字段与问题查询进行关联
problem.statusstring底层 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 的监控频率和评估时间范围(参见 常见问题)

常见工作流

检查合规性评分
  1. 确认用户询问的是 DORA——目前唯一支持的框架
  2. 使用核心概念中的评分等级表说明当前等级
  3. 提醒用户,该评分是运营指标,并非法律合规性判定
  4. 如果评分下降,请确定导致评分下降的信号类型(事件、安全检测发现、漏洞、错误配置)
  5. 参考提高合规性评分指导修复
调查事件
  1. 确认用户询问的是已分类事件(包含 compliance.incident bizevent),还是未分类/潜在重大问题
  2. 对于已分类事件:运行已分类事件 DQL 查询;如果提及了特定事件,则按 problem.event.id 筛选
  3. 对于未分类/潜在重大问题:运行限定到相关 CIF ID 的未分类问题查询
  4. 显示重大性阈值是否超标:compliance.incident.duration_criteria、compliance.incident.economic_impact_criteria、compliance.cifs_impacted.*
  5. 不要代替用户对事件进行分类——分类是由 Compliance Assistant 应用手动执行的步骤
查看 CIF 健康状况
  1. 从 Compliance Assistant 中的 DORA 框架设置获取 CIF 的 Business Flow ID
  2. 使用相关的 bizflow.id 值运行 CIF 健康状况查询
  3. 显示每个 CIF 的 fulfillment、errors 和 analysisLabel
  4. 如果数据缺失或过时,请检查 Business Flow 的监控频率——参见常见问题

提高合规性评分

Dynatrace 评分实时反映当前 ICT 风险状况。若要提高评分:

  1. 及时处理事件——解决影响 CIF 的潜在重大事件和未分类问题
  2. 修复安全检测发现和漏洞——参见获取洞察和如何修复检测到的漏洞?
  3. 修复 ICT 资产错误配置——参见通过 Security Posture Management 保持合规
  4. 确保监控覆盖范围——确认已在所有 CIF 上启用实时保护和监控

提高评分可降低可观测到的 ICT 风险,但不代表正式合规或具备法律层面的合规准备状态。


常见问题

Compliance Assistant 中的 CIF 洞察多久更新一次?

CIF KPI 洞察(履约情况和错误)会根据 Business Flow 中配置的 KPI 监控生成频率更新。评估时间范围也由各业务流配置定义。

为确保 KPI 评估可靠,并避免长时间运行的流程导致数据缺失,请将评估时间范围设为流程平均耗时的至少 3–4 倍。例如,如果某个 CIF 的平均耗时为 5 分钟,请将评估窗口设为至少 15–20 分钟。

为什么已配置的 CIF 未更新?

如果您最近编辑或添加了配置为实体的业务流程,并在 Compliance Assistant 中将其选为 CIF,这些业务流程可能需要等到最长监控频率所定义的时间后才会更新。请在业务流配置中调整监控频率,以缩短延迟。


参考资料

评论

支持 Markdown