# DIB 锚点 Agent 部署与安全说明 ## 1. 定位 DIB 锚点 Agent 是机构内网资源与 DIB 底座之间的安全连接器。它不是普通页面插件,也不是业务专区各自建设的独立采集程序。一个机构原则上部署一套统一 Agent Runtime,不同业务通过 Agent Profile 扩展任务能力。 ## 2. 基本部署形态 | 组成 | 建议形态 | 说明 | | --- | --- | --- | | Agent Runtime | 后台服务或同等级守护进程 | 长期运行,负责心跳、任务领取、执行、重试和日志 | | Agent Profile | 受控任务定义 | 描述任务类型、输入输出、资源需求和失败摘要 | | 资源绑定 | 通过资源中心授权和站点绑定获得 | Agent 不直接持有全局资源清单 | | 云端通信 | 主动出站 HTTPS | 云端不反向访问医院内网 | | 本地日志 | 运行日志、任务日志、失败摘要 | 不记录敏感明文和完整患者隐私 | ## 3. 安全红线 1. 不开放医院内网数据库公网入站端口。 2. 不把数据库连接串、密码、令牌写入前端页面、文档或公开仓库。 3. 不允许云端下发任意 SQL。 4. 不允许业务专区绕过统一 Agent Runtime 自建长期同步 Agent。 5. 不上传患者隐私明细,除非场景经过明确授权、脱敏和审计设计。 6. 不绕过资源中心授权和站点绑定直接读取资源。 ## 4. 任务执行原则 | 原则 | 要求 | | --- | --- | | 白名单任务 | 只执行已注册 Profile 中允许的 taskType | | 最小权限 | 数据库账号优先只读,回写能力单独授权 | | 最小数据 | 上传汇总、状态、规则命中和必要业务结果 | | 可审计 | 记录任务领取、开始、完成、失败、重试和上传摘要 | | 可撤销 | 资源授权撤销后,Agent 缓存必须过期或刷新 | | 可诊断 | 失败摘要能说明连接、权限、SQL、网络或数据问题类别 | ## 5. 典型接入步骤 1. 建立单位、站点和 Agent 标识。 2. 在资源中心登记资源,并按单位授权。 3. 为站点绑定 Profile 所需的 usageKey。 4. 部署 Agent Runtime,配置云端地址、站点标识和安全凭据。 5. 启动 Agent,确认心跳上报。 6. 下发 DryRun 或只读测试任务,确认资源解析和任务执行。 7. 开启业务 Profile,观察任务成功率、失败摘要和数据时效。 ## 6. 验收清单 | 检查项 | 通过标准 | | --- | --- | | 出站访问 | Agent 能主动访问云端 API | | 入站暴露 | 医院内网不需要开放公网入站端口 | | 资源授权 | Agent 只能看到已授权且已绑定的资源 | | 白名单任务 | 非 Profile 允许任务会被拒绝 | | 审计记录 | 心跳、任务、失败、上传均可追溯 | | 撤销生效 | 资源授权撤销后任务无法继续使用该资源 | | 敏感数据 | 日志和上传结果不包含未授权敏感明文 | ## 7. 运维建议 1. 为 Agent 设置独立运行账号,避免使用管理员账号长期运行。 2. 对云端地址、证书、代理和 DNS 进行部署前检查。 3. 将任务失败按连接失败、权限失败、数据异常、超时和业务校验失败分类。 4. 关键升级保留回滚包和升级证据。 5. 新增 Profile 前先补齐任务说明、资源需求、失败摘要和验收用例。