lzf_0626
|
39c7ab51f4
|
feat(risk): 发布风控配置并补齐缺失的 RBAC 权限
修 docs/25 里的 P0:风控的意图配置与工具白名单一条都没发布,而白名单是失败关闭的,
导致任何工具调用都被拒。按组员交付的《20-Agent工具白名单与意图配置》补齐。
1. tools/publish_risk_agent_config.py:导入 4 条 risk 意图配置(id=61-64,active)与
4 条 agent_tools 白名单(risk_overview / risk_search / risk_evidence / general)。
发布版本 id=188 active,并且**继承了现有 5 条配置项**——config_release 是整版本替换
语义,不继承会把客服的 4 条白名单和示例 Agent 的 fund_query_demo:fund_quote 静默清空。
2. tools/grant_risk_alert_read_permission.py:补齐 risk:alert:read 权限。
实测发现这条权限在 sys_permission 里**根本不存在**,连 risk_operator 角色也没有,
所以任何身份调用风控工具都会拿到"缺少工具权限"。交付文档第 116 行正把这一项列为
接入前置条件。权限匹配实际用 permission_code 全串(identity_repository.py:25-37),
resource/action 只是元数据(照 fund:quote:read 的拆法);data_scope 取 all,因为
risk_query_service.py:194、risk_analysis_service.py:126 等按 context.data_scope == "all"
决定是否放行全量数据。只授权 risk_operator,不动 admin(交付文档只要求前者)。
验证(以 9002 risk_operator 身份实测):
- "查看当前风险概览" → status=succeeded、意图 risk_overview、工具真实返回数据
- "查询高风险预警" → status=succeeded、意图 risk_search
修复前两者均为 failed + ForbiddenAgentError: 缺少工具权限。
|
2026-09-11 12:18:34 +08:00 |
|