产品操作手册

从部署、账号与签名设备、连接器接入,到发布、签约、计算与交付的完整操作路径,含命令与错误排查。

快速上手 1.9 万字 ·约 50 分钟读完 ·更新于 2026-11-01

1.0.0-rc.3 更新:工作台新增“我的工作台”角色任务首页和“原件交付”;业务菜单与管理入口分组。公开角色与五条多格式演示见 在线导览。原件包需独立审核、明确许可和短期领取,参见 受控原件包交付。下方既有截图用于对应操作,最新界面以在线演示为准。

1.0发行补充:客户离线包以《1.0交付说明》、顶层README和《企业连接器安装与运维》为准;候选schema61,所选模块使用显式组合。下文旧版本阶段步骤不构成客户自动升级指令。

适用版本:0.5.2-dev 本地候选源码,编写日期:2026-10-28。适用对象:企业管理员、业务人员、连接器运维。本文说明已实现的操作与边界;集中验收结论见末章,不以文档完成代替产品验收。

原运行实例与候选版本分开管理。 原 8090 服务没有因本手册而升级;本文中的候选端口、路径均为示例。操作前核对实际二进制、前端、数据库迁移版本及实例地址,不能把候选源码能力当作原实例已有功能。当前支持范围以支持矩阵与依赖清单为准。

培训入口: 新学员先阅读角色培训快速指南(图文版),或打开可离线转发的单文件HTML版。包含六种内置角色、运维岗位、实际界面截图、成功标准和55分钟课堂练习。本文保留完整配置与操作细节。

产品组合操作: 候选版本新增实例级产品组合。先用 datanous-package resolve/validate 核对依赖及服务声明,再由平台和连接器共同使用各自的 -product-config / -product-catalog 参数。声明检查不探测实际服务,也不授予用户角色。未指定组合时保留原兼容模式;指定后门户、平台API/后台与连接器的入口分别受控。原8090二进制尚未升级,不可直接拿这些新参数操作原实例。

配置与命令详见产品包声明预检、平台及门户组合、连接器组合。采集隔离见SQL worker、CDC worker。新增的隐私执行契约、外部节点契约和锚定outbox是后端适配接入材料,尚无真实供应商默认值或“已接入成功”门户。

持久组件与独立核验: 互联持久协调SDK、隐私任务持久控制SDK供后端接入;真实平台身份/当前ACL和HTTP/门户工作流仍需开发。独立证据核验服务提供单独的loopback只读HTTP核验入口,不能替代独立信任登记或监管投递。可选SCQL编译组件目前只生成受限计划,不执行引擎。准确验证数、残留本地桥接和环境条件见本轮验证记录。

统一启动入口: 新增 ./run.sh start/restart/stop/status/logs,本地私有构建与Docker正式部署分开管理;首次配置、已有实例交接、空库初始化及新安装数据库角色说明见快速启动与Docker部署。

目录

  1. 角色与操作约定
  2. 首次部署与启动
  3. 账号、权限与签名设备
  4. 连接器接入与企业数据源
  5. 企业侧文件上传与抽取复核
  6. 加工质量、分类分级与独立审批
  7. 产品发布、合约与计算交付
  8. 周期调度与追加型增量
  9. 独立 PostgreSQL CDC 运维
  10. 监控、值班与升级通知
  11. 审计投递与机器采集凭据
  12. 企业 OIDC 登录
  13. 备份、恢复与升级
  14. 常见错误与排查
  15. 验收与交付记录

角色与操作约定

读者主要工作建议阅读
企业管理员人员、角色、资源范围、审批、监控和审计授权账号权限、分类审批、监控、审计、OIDC
业务人员数据源目录、固定数据集、加工、产品、合约、结果数据源至计算交付各章
连接器运维企业白名单、进程与密钥、上传网关、增量/CDC、备份首次部署、连接器、调度、CDC、恢复

内置角色为平台运营管理员operator、企业管理员admin、数据管理员steward、合约与发布审核员reviewer、数据使用人员consumer及只读审计员auditor。提供方/使用方是业务身份,运维是岗位。consumer默认没有签约权;人工分类分级的独立审批要求另一位合格管理员,不能把reviewer理解为所有审批的通用身份。具体看按角色培训图解。

门户导航包含“数据目录”“企业资产”“合约协作”“计算任务”“企业连接器”“运行监控”“审计投递”“空间与机构”“企业治理”“履约证据”“接入状态”。入口和写按钮按当前身份与权限显示;看不到按钮时先核对权限,不直接修改数据库绕过。

操作常需当前密码、理由和独立确认。保存成功后重新读取,核对修订、对象编号及状态。发生网络超时或“结果待核对”时,先读取已保存结果;不要因页面未返回就反复提交。运行记录中的“已创建”“已暂存”“已发送”“已确认”是不同阶段。

示例只含虚构域名、邮箱和路径。实际密码、DSN、客户端秘密、机器令牌及私钥存入企业秘密管理;不要粘贴到工单、截图、Git 或本手册。命令中的 /srv/datanous-candidate 等路径须由运维准备,不是项目内已有路径。

首次部署与启动

准备隔离候选环境

  1. 准备独立 PostgreSQL 数据库、受限数据库账号、平台状态密钥目录和候选前端目录。升级现有数据库前先执行备份章;平台启动会执行版本迁移。
  2. 使用同一候选版本的平台、连接器及核验 CLI;核对构建摘要和 SBOM。当前 schema 上界为 60,交付时以 internal/platform/store.go 与实际迁移记录一致为准。
  3. 通过秘密管理器注入 DATABASE_URL,或设置 DATABASE_URL_FILE 指向受保护文件。避免使用命令行 -db 携带密码;若二者都设置,非空 DATABASE_URL 优先。
  4. 生产入口配置准确 HTTPS origin 和可信 TLS 反向代理;回环 HTTP 仅用于本地验证。不要把本地测试配置原样暴露公网。

首次初始化示例(会写入专用候选数据库并创建初始运营账号):

/srv/datanous-candidate/bin/platform init \
  -key /secure/datanous-candidate/platform.key \
  -name '示例空间运营方' -email 'operator@example.invalid' \
  -password-file /secure/datanous-candidate/bootstrap-password

密码文件由秘密管理流程创建并限制属主访问;不在终端命令中填写密码。平台状态密钥同时关联签名与结果解密,创建后立即纳入受保护备份。

本地候选启动示例:

/srv/datanous-candidate/bin/platform serve \
  -key /secure/datanous-candidate/platform.key \
  -listen 127.0.0.1:18090 -origin http://127.0.0.1:18090 \
  -web /srv/datanous-candidate/web-dist

此例故意使用独立端口、密钥和前端目录,不替换原 8090 的二进制或 web/dist。生产环境应由服务管理器管理进程与秘密,不能依赖交互终端长期运行。需要固定平台公钥时,用同一数据库和密钥配置运行 platform public-key;输出为公钥,可信分发渠道仍由部署方建立。

默认关闭的能力

启动开关或配置启用条件及效果
-ingestion-scheduler准备自动调度循环;还须管理员对当前计划、对象和启动代次授权
-escalation-dispatch准备升级投递循环;还须策略、有效接收端及当前代次执行确认
-escalation-maintenance仅清理过期升级暂存状态,不发送通知;会更新确认代次
-duty-renewal准备有界续排/值班自动化;规则与具体告警交接须分别确认
-audit-push准备审计后台投递;上线后需管理员重新确认,旧意愿不直接授权
-oidc-config / DATANOUS_OIDC_CONFIG加载显式企业身份配置;未提供时企业 SSO 关闭
-scim-config / DATANOUS_SCIM_CONFIG默认关闭;绑定当前OIDC快照和单企业映射,接受受限人员查询/单向停用
DATANOUS_CHAIN_CONFIG可选链模块,涉及真实广播时需另行部署授权与验收
DATANOUS_RECOVERY_CONFIG独立身份核验信任配置;缺少可信核验条件时不能完成遗失密钥恢复

开关打开与业务执行授权是两层控制。重启、改权、对象或配置修订变化后,读取当前状态并按页面要求重新授权;不要恢复旧授权记录绕过检查。

账号权限与签名设备

  1. 初始运营方在“空间与机构”“企业治理”建立机构、空间与人员关系。此处的机构审核为平台本地审核,不是权威实名认证。
  2. 新人员按页面要求完成“设置您的正式密码”。修改密码使用“修改登录密码”→“确认改密并重新登录”;忘记密码由有权管理员在“重置人员登录凭据”签发一次性重置凭据,交给本人安全接收。
  3. 在“角色与人员授权”核对主角色和附加角色;按岗位需要“创建业务角色”“调整附加角色”。归档角色会影响绑定人员,不是删除历史。
  4. 在“人员可访问范围”分别设置空间和企业数据源范围。“全部”和“选择范围”含义不同,选择范围为空不是全部。角色决定可做什么,范围决定对哪些资源可做;派生数据的固定血缘仍限制访问,不能只授权输出就绕开源范围。
  5. 人员停用、改密和授权修订会使相关旧会话/挑战失效。执行前应使用重新登录后的当前身份;不要转交管理员会话给采集程序。

合约签名设备与恢复

“我的签名设备”管理浏览器内 Ed25519 签名私钥;私钥保存在该浏览器的 IndexedDB,不上传平台。首次签署按“登记本设备签名公钥”登记,已有钥轮换按页面挑战与确认流程进行,完成后可导出轮换证明。登录密码与合约签名私钥用途不同。

遗失设备时进入“遗失密钥恢复”,核对申请账号、原/候选公钥、到期时间与核验方。流程要求已配置且固定信任的独立核验签名、符合条件的独立审批,再“完成恢复并重新登录”。不能把管理员改公钥或本地测试核验方当作真实身份核验。缺少独立核验环境时保持待处理,不删除旧签名证据。

连接器接入与企业数据源

登记连接器

  1. 在企业信任域准备已有的私有目录;使用 connector -init -key /secure/enterprise/connector.key 显式初始化,保存输出的公钥。普通运行缺钥不会自动创建替代身份。
  2. 在门户“企业连接器”登记该公钥,将登记编号保存到受保护的编号文件。核对企业和平台 origin。
  3. 运维维护企业本地 sources 白名单;门户只能选择配置引用,不能让远端提交任意路径、SQL 或程序。
  4. 启动连接器并检查门户最近联系时间、协议能力及任务状态:
/srv/datanous-candidate/bin/connector \
  -key /secure/enterprise/connector.key \
  -id-file /secure/enterprise/connector.id \
  -platform http://127.0.0.1:18090 \
  -sources /secure/enterprise/sources.json

仅本机试运行使用上述回环地址;跨主机改为批准的 HTTPS 平台地址。配置变更后受控重启连接器,不依赖热加载。

最小 CSV 白名单示例(示例文件须事先存在):

{
  "root": "/srv/enterprise-data",
  "enableUploadedObjects": false,
  "enableIncrementalPostgres": false,
  "files": {},
  "connections": {
    "orders_csv": {"kind": "csv", "path": "samples/orders.csv"}
  }
}

数据库源使用 connections 中的 kind、dsnEnv、精确 tables 白名单和 readOnlyConfirmed;DSN 从指定环境变量读取。readOnlyConfirmed 是操作声明,不会把高权限账号变成只读账号。API 来源同样使用本地受控配置与秘密引用。

从来源到固定版本

  1. 打开“企业资产”→“数据源”,登记“数据源名称”“来源类型”“企业连接器”“企业配置引用”“数据分类”和业务说明;例如配置引用 orders_csv。
  2. 提交资源发现,在“运行记录”确认任务完成,再到“内部资产”核对来源、字段、结构与资产版本。
  3. 对目标资产生成快照,在“数据集版本”检查固定版本、行列信息、质量与血缘。平台保存元数据和证明,原始数据及快照留在企业侧。
  4. 源结构或配置变化时重新发现、生成新版本;已发布产品和签署合约不自动追随最新数据。停用来源前核对其历史产品/合约引用,不删除内容寻址快照。

支持 PostgreSQL、CSV、JSON、无公式 XLSX、受控 API 及文件元数据;MySQL/SQL Server 已有驱动和有界读取,但真实环境的类型、最小权限和故障恢复需要联调。文件元数据接入不等于已接入 OCR。

固定聚合的可选进程隔离

企业Linux部署可在既有sources.json显式设置aggregateIsolation,固定同版datanous-aggregate-worker及可信摘要,提供专属cgroup v2委派目录。缺省关闭,启用后隔离条件缺失会拒绝启动或执行,不退回原执行方式。完整限额、自检、取消清理和Linux环境验收见固定聚合隔离执行操作。此模式约束可信固定聚合程序,不自动隔离来源SQL/CDC,也不提供网络/文件安全域或硬件证明。

连接器换钥与撤销

换钥前停止所有使用该钥的连接器进程。-rotation prepare 生成并保留候选,管理员创建挑战后用 -rotation complete -rotation-id <挑战编号>;结果未知用 -rotation recover 核对持久证明。离线安装必须使用 -rotation install -rotation-proof <单份完成证明JSON> 及独立固定的平台公钥。abort 用于受控取消恢复,不能以删除本地轮换目录代替。

轮换命令共用 -key、-id-file、-platform、-party、-platform-key 精确绑定;参数按 connector -help 核对。本地轮换事务记录/历史包含私钥材料,按密钥备份,不上传到普通诊断日志。门户撤销连接器会拒绝续租和结果交付;重新接入须登记新连接器,不将撤销作为重试按钮。详见连接器本地换钥说明,其中历史阶段缺口以当前源码与身份连接器核对记录后续证据为准。

企业侧文件上传与抽取复核

运维准备

上传监听默认关闭。连接器须显式提供 -upload-listen、-upload-party、-upload-issuer-key、-upload-origin;需要直接 TLS 时配置 -upload-cert、-upload-tls-key。固定企业、签发公钥与浏览器 origin;企业同源网关将指定路径路由到该连接器。文件直接进入企业域,不经过平台文件存储。启用上传对象接入还需白名单 enableUploadedObjects: true。

业务操作

  1. 打开“企业侧文件上传”,核对“企业同源上传路径”,选择 CSV、JSON 或无公式 XLSX。
  2. 首次上传“已有会话编号”留空;续传使用原会话编号并选择同一文件。输入当前密码、上传理由,确认最多 5 分钟短期授权后点“授权并上传或续传”。
  3. 检查字节进度和 SHA-256。上传字节完成后,还需独立确认并点“确认生成正式对象”;“中止并删除暂存分块”会清理该会话暂存内容,不能当作暂停。
  4. 正式对象完成后,在“登记到资产目录”核对固定 upload:<摘要>.<扩展名> 引用,填数据源名称与分类,点“确认登记数据源”→“提交资源发现任务”。随后按数据源章生成固定数据集版本。
  5. 用“授权并读取我的上传历史”查询本人记录;“历史范围”可切换近期/已归档。“归档我的已结束会话”每批最多 64 条,仅归档已完成/中止且无暂存分块的会话,正式对象保留,不是删除文件功能。

页面关闭会清除当前授权。授权过期或身份变化后重新读取并授权,不延长或伪造旧令牌。网络结果未知先查历史/进度,不能反复创建新会话规避配额。

固定输出人工复核

在数据集版本的“抽取人工复核”读取冻结来源,核对只读“原文件 SHA-256”。填写实际抽取引擎标识、版本、配置 SHA-256、复核结论、密码、理由和确认,再“保存人工复核”并重新读取修订。

这记录人工核对原文件与固定输出的声明。没有执行真实 OCR 时不能填成 OCR 执行证明;也不能编辑原文件摘要来让不匹配输出通过。真实 OCR 引擎或外部对象存储只有选定并完成接入后才能另行使用。

加工质量分类分级与独立审批

建立加工和业务质量规则

  1. “企业资产”→“加工任务”,选择固定主输入版本;需要时选择第二个数据集、关联键与关联方式,按顺序设置清洗步骤。
  2. 在“输出质量门禁”配置必填字段、唯一键字段和最少有效记录数。
  3. 在“业务质量规则”点“添加业务规则”,填写加工后输出字段,并选择“数值范围”“格式匹配”“允许值”或“字段一致性”。范围包含上下界;格式采用服务端 Go 正则完整匹配;允许值每行一项、最多 100 项;最多 64 条规则。
  4. “保存规则并运行”,在运行记录检查结果,再在版本详情查看“业务规则检查”和规则摘要。不同规则的失败行数可能重复,不能直接相加为失败记录总数。
  5. 质量失败输出保持隔离,不能发布。修改源或规则后形成新版本重新运行;不要直接修改状态为 ready。固定值遮盖与 SHA-256 替代标记的敏感标记行为不同,哈希不自动消除敏感性。

人工分类与独立审批

  1. 管理员先读取“企业发布分类审批策略”。选择“必须分类并独立批准”时,后续发布必须有合格声明与独立审批;“兼容无声明版本”仅兼容未声明版本,已有声明仍须批准。变更不自动下架已有产品。
  2. 在固定数据集版本打开“分类分级复核”→“记录分类声明”,为每个字段填写分类和 1–4 级;疑似敏感字段不能选低于 2 级。
  3. 保存并重新读取当前声明修订。声明人不能审批自己的声明;另一位有资格管理员登录后选择“独立审批当前声明”,核对全部字段后批准或拒绝。
  4. 新声明须重新审批。分类审批不替代质量门禁、抽取复核、产品发布审核或真实业务合规判断。

典型处理:金额 101 不符合 0–100 的规则时,先保留隔离报告并修正来源/规则,再生成新版本;不能让分类审批覆盖质量失败。

产品发布合约与计算交付

  1. 从可发布固定数据集版本创建产品,选择空间、名称及使用口径;空间成员关系与数据源权限仍需满足。
  2. 在“数据目录”对草稿“申请发布”,由另一位有权限人员查看发布审核并处理。质量、分类与敏感性等检查均通过后才能发布;不要把保存草稿当作已向空间公开。
  3. 使用方选择其他机构已发布产品申请使用,填写计算操作、字段、最小分组、结果行数、使用次数、有效期和是否允许导出,创建待签合约。
  4. 双方在“合约协作”→“查看合约”核对“查看完整签署文档”、版本及摘要后“确认条款并签署”。修订条款后应核对新版本并重新完成所需签署;不能复用旧签名表示同意新条款。
  5. 有效合约的使用方点击“提交计算”。当前固定操作为 count、sum、group_count;不接受任意代码,也不提供已验收的 MPC/TEE 等隐私计算运行环境。
  6. 到“计算任务”查看状态。完成后提供方选择“审核并准许交付”或“拒绝交付”;使用方只有获得批准且合约仍有效时才能查看结果。导出还要求合约 allowExport 和当前导出权限。
  7. “查验履约证据”进入“履约证据”,按企业/合约范围读取和导出签名证据。已存本地签名或开发链锚定不等于独立机构存证认证。

“取消任务”针对在途工作;“紧急终止”会撤销合约后续访问,操作前确认业务影响。需要双方解除时使用现有解除申请流程,不以修改数据库代替双方确认。结果未知先查任务和证据,避免重复计算或重复使用额度。

周期调度与追加型增量

计划配置、手动触发和自动执行

数据源有“发现调度”,相应快照/加工对象也有调度入口。进入后:

  1. “新建调度计划”,填写首次时段(北京时间)、结束时间(不含该时刻)、间隔分钟和补跑策略。“只处理最近到期时段”与“按最早时段逐次补跑”按业务选择。
  2. 保存“启用计划配置”仅保存计划,不启动自动执行。每企业最多 32 条计划,暂停计划也计数。
  3. “预览时段”检查计划修订、对象版本、到期时段,再按密码/理由/确认“确认手动触发”。精确时段用于幂等处理,不用更改时间制造重复任务。
  4. 自动运行需运维启用 -ingestion-scheduler,管理员再点“自动执行授权”,选择“确认当前范围的自动执行”,设置截止时间并“保存执行控制”。授权绑定当前计划、对象及启动代次。
  5. 暂停计划或停用授权后重新读取;停用自动执行不自动取消已经创建的任务,必要时另查运行记录取消。

PostgreSQL 追加型增量

该模式要求企业连接器白名单显式 enableIncrementalPostgres: true、只读 PostgreSQL 来源及满足追加约定的字段。它不是 CDC:不负责反映旧行更新和删除,也不能宣称跨批次全局 MVCC 快照。

  1. 在目标资产打开“追加型增量配置”,重新读取来源绑定、当前水位与活动任务。
  2. 选择“保存并启用当前字段配置”,指定“整数游标字段”和“唯一文本键字段”,确认来源满足追加约定。检查字段/结构冻结信息,不凭名称猜测唯一性。
  3. 选择“采集下一批(最多64行)”→“创建单批采集任务”。只有有效结果和固定版本成功落库后才推进水位;空窗口、失败、取消和过期回执按状态核对。
  4. 连续采集可通过“管理当前增量修订的调度计划”建立计划,再单独授予自动执行。计划绑定配置修订,改配置后重新核对。
  5. “停用并保留水位”保留恢复证据;活动任务通过“取消增量任务”单独处理。取消不推进水位,企业侧已生成缓存可能仍保留。
  6. 来源变化后需要新基线时,先确认无活动任务,再“重新开始基线(保留旧证据)”。该操作从空水位开始新修订,不表示基线已经采完,也不删除旧版本。

连接器使用有界分页、固定窗口和源端事务预算;锁等待或预算失败不产生可提交水位。业务需要更新/删除捕获时采用下一章的独立 CDC CLI,不切换追加游标伪装完整同步。

独立 PostgreSQL CDC 运维

当前 CDC 交付为显式运行的 datanous-cdc CLI,没有平台 CDC 管理门户、HTTP 配置入口或托管 worker。现有追加型增量按钮不能启动 CDC。来源和目标均须为授权环境;不得为测试修改原业务库 WAL 配置。

配置与执行顺序

  1. 准备支持 logical WAL 的专属来源、复制权限、固定完整 publication 和专属槽,核对真实 system identifier、database、relation OID、列类型及主键/identity;准备独立可写目标 schema。
  2. 建立私有配置 JSON。字段包括 source(kind、dsnEnv、tables、readOnlyConfirmed)、destinationDSNEnv、destinationSchema、stream 和 binding。完整合成模板见PDT016 收尾记录的 synthetic_cli_config_example。其中 SystemID、关系 OID 和 generation 是占位值,不能直接用于真实源。
  3. 源和目标 DSN 由配置所指定的环境变量提供;配置与环境交由秘密管理。先核对配置及支持类型,再执行明确模式。
# 读取已经建立的目标状态;尚未 bootstrap 时不能把失败当作零水位
/srv/datanous-candidate/bin/datanous-cdc -config /secure/cdc/stream.json -mode status

# 写操作:显式创建所配置的专属复制槽并建立一致性初始基线
/srv/datanous-candidate/bin/datanous-cdc -config /secure/cdc/stream.json -mode bootstrap -create-slot

# 写操作:读取一批完整事务并原子持久化目标;默认不确认源 LSN
/srv/datanous-candidate/bin/datanous-cdc -config /secure/cdc/stream.json -mode run-once

# 另行确认消费策略后才使用:目标持久提交之后确认源 LSN
/srv/datanous-candidate/bin/datanous-cdc -config /secure/cdc/stream.json -mode run-once -ack-source
  1. 每次读取状态并保留操作结果。目标物化行、LSN 和摘要收据原子提交,重复批按持久收据幂等;不能因 CLI 超时猜测数据库没有提交。
  2. 若由外部调度器周期调用,仍保持有界单次运行和专属流配置,设置失败告警,监视复制槽 WAL 保留量及磁盘容量。

支持范围与失败处置

当前支持 bool/int2/int4/int8/text/varchar/numeric/uuid、普通表、非空主键或 replica identity index、完整无过滤发布及 pgoutput v1 完整提交事务。暂不支持时间/浮点/数组/自定义类型、分区根、FULL identity、TRUNCATE、流式大事务和 DDL 演进。

当前初始/目标最多 5 万行、16 MiB 状态;单行初始快照最多 1 MiB、CDC 单批 8 MiB、单事务 1024 变更。超限或漂移拒绝并保留恢复边界;不是大规模 HA 消费产品。

建槽失败或结果未知时不会自动删除槽。 先核对真实槽与目标持久状态;未知 COMMIT/ACK 按收据恢复,不能删槽、伪造检查点或跳过 LSN。恢复较旧目标且源 WAL 已回收时不能继续假装连续,需要批准的新 generation/新槽和新基线。真实源权限、长时间恢复及吞吐需环境验收。

监控值班与升级通知

日常查看和责任处理

“运行监控”用于查看本企业指标、告警与队列状态。先“刷新监控”,区分连接器离线、业务失败、等待审核和投递状态。确认告警或交接责任应根据页面要求核对事件/发生轮次,保留处理理由;历史通知不是当前已有人处理的证明。

值班排班

  1. 打开“值班与路由”,建立值班组,添加当前有效的本企业管理员或运营人员。
  2. 添加班次,按北京时间填写起止时间;起点包含、终点不包含,同组不可重叠,每班最长 31 天。
  3. 设置告警类型到组的路由,精确类型优先于默认规则。保存“启用后续告警的值班路由”及“保存排班与路由”,按当前页面预览检查具体时刻匹配。
  4. 持续排班使用“续排规则与执行确认”,先保存排班,再配置规则和执行确认;运维需准备 -duty-renewal。单班不会自行延长,不能只保存一班后假设永久有人值班。

缺班或成员失效仍保留企业告警;路由附带组、班次和人员标识,实际通知由接收端完成。历史事件重试保留原路由,不因修改当前排班重算旧事件。自动续排与具体告警交接的授权分别处理。

接收端、升级策略和执行授权

  1. “通知接收端”→“登记新接收端”,填写名称、批准的 HTTPS 接收地址、登记状态及确认。新建默认停用,每企业最多 32 个;URL 中不得含令牌。
  2. 启用接收端只允许策略引用。到“升级策略”配置事件类型、阶段和当前接收端修订;变更地址/状态后重新核对旧策略绑定。
  3. 运维准备 -escalation-dispatch 后,在“升级执行授权”重新读取当前节点和策略,选择本次操作、授权到期时间、密码与理由,确认“当前节点执行授权”。授权最长 24 小时且不超过策略期限。
  4. 需要自动创建升级任务时,另勾选“额外包含按当前策略自动创建升级任务(不勾选则仅处理已有任务)”;不能把已有任务执行授权理解为允许自动暂存新任务。
  5. 在“查看升级历史”按“发生轮次”读取,检查阶段、暂存/领取/发送结果及复核状态。网络结果未知时先检查当前记录和远端持久去重结果,不重新构造通知键强发。

本地接收登记、策略、执行循环与 HTTPS 合成接收端验收,不证明邮件、短信、企业微信等任意通道已接入,也不证明真实人员收到。只有确认实际接收端契约、网络与持久确认机制后才能启用真实外发。

审计投递与机器采集凭据

管理审计订阅

  1. “审计投递”选择当前有权访问的企业/合约范围,创建对应订阅;订阅目录支持分页,状态变化后刷新。
  2. “查看状态与记录”核对订阅修订、待确认批次、重试与运行状态。新建订阅不等于已经配置目标或自动外发。
  3. “设置推送目标”填写批准的接收目标,按当前密码、理由与确认提交。存在待确认批次时不能切换目标,须先按协议确认,或撤销订阅后另建。
  4. 运维准备 -audit-push 后,“调整自动投递”绑定当前目标与节点代次;上线或重启后重新核对页面要求的确认状态。
  5. 到投递记录检查失败/已记录确认。死信时查原因后“恢复死信批次”;该动作重置本轮尝试预算,不代表已发送或接收成功。“撤销此订阅”停止该订阅后续使用并保留历史。

远端必须按签名批次、固定标识和确认协议处理,重复收到要持久去重。HTTP 成功、本地已存确认和第三方独立证据的含义不同;结果未知先对账,不换新幂等键重复发送。

机器指标采集

监控和审计凭据分开管理、不能互换:

用途入口机器读取地址
企业监控“运行监控”→“机器采集凭据”GET /api/monitoring/scrape
审计投递指标“审计投递”→“审计指标机器凭据”GET /api/audit/scrape
  1. 在对应入口“创建采集凭据”,填写名称、有效期(1 小时至 90 天)、当前账号密码及理由,确认后“创建并显示一次性密钥”。每企业各类受其当前凭据上限约束,审计凭据最多 32 个有效项。
  2. 密钥默认遮盖,可“显示密钥”/“隐藏密钥”;安全保存到采集系统后勾选已保存,再“清除页面密钥”。丢失则撤销重建,不从数据库恢复明文。
  3. 采集端在 HTTPS 请求头发送 Authorization: Bearer <专用令牌>,不放查询参数。令牌只允许对应 scrape 接口,不允许 /api/me、订阅管理或另一类指标接口;会话保护的 /api/audit/metrics 也不是机器令牌地址。
  4. 分企业隔离凭据和采集配置,采集系统自行配置实例标签;页面列出凭据不证明 Prometheus 正在抓取。对 401/403 等错误报警,不能当作成功的全零指标。
  5. 轮换顺序为创建新凭据→配置采集端→确认真实抓取正常→撤销旧凭据。凭据有独立到期/撤销状态,也绑定签发人的当前身份与授权修订;人员改密/改权/停用后需重新核对。

企业 OIDC 登录

配置

该能力默认关闭。先在 DataNous 建立已批准企业和已有本地账号,再由可信管理员从 IdP 核实精确 sub,显式绑定到本地 partyId/userId。禁止按邮箱自动合并、自动开户或使用上游角色声明自动赋权。

运维准备私有 JSON,文件 0600、父目录建议 0700。以下是 public client 的结构示例,仅当 IdP 注册明确允许 none 时使用;不是可直接运行的身份配置:

{
  "issuer": "https://idp.example.invalid",
  "clientId": "replace-with-registered-client-id",
  "tokenAuthMethod": "none",
  "authorizationEndpoint": "https://idp.example.invalid/authorize",
  "tokenEndpoint": "https://idp.example.invalid/token",
  "jwksUrl": "https://idp.example.invalid/jwks",
  "redirectUri": "https://rp.example.invalid/api/oidc/callback",
  "bindings": [
    {"subject": "replace-with-exact-sub", "partyId": "replace-with-local-party", "userId": "replace-with-local-user"}
  ]
}

机密客户端使用 tokenAuthMethod: "client_secret_basic",并在私有文件填写 clientSecret;none 时不得设置秘密。固定 issuer、端点及 JWKS;不支持动态 issuer/开放跳转。redirectUri 必须精确等于平台 -origin 加 /api/oidc/callback。正常部署全用 HTTPS,只有数字回环地址允许本地测试 HTTP。

启动时增加 -oidc-config /secure/datanous/oidc.json,或设置 DATANOUS_OIDC_CONFIG;更改配置需受控重启。映射/配置变化使旧 OIDC 会话失效。不要把真实配置提交到代码仓库。

登录、退出和上游信号

  1. 配置有效后登录页显示“企业 SSO 登录”,点击跳转到固定 IdP,完成身份认证后返回固定 callback。仍须满足本地账号/企业状态与授权,首次改密要求不会被 SSO 绕过。
  2. 登录使用一次性 state、nonce 和 S256 PKCE;验证签名、issuer、audience、到期等。回调失败重新发起登录,不反复打开旧 callback 链接。会话最长 8 小时且不超过 ID token 到期时间。
  3. 页面退出调用本地 /api/logout,只注销 DataNous 会话;不会自动退出 IdP。共享设备还应按 IdP 自身流程退出上游。
  4. 在 IdP 注册 POST https://rp.example.invalid/api/oidc/backchannel-logout,按 OIDC back-channel logout 发送表单 logout_token。服务校验签名、固定 issuer/audience、新鲜时间、标准事件及 jti,并撤销匹配的本地 OIDC 会话、阻断短期在途登录复活。
  5. 标准 logout 信号不是完整人员停用同步。它不自动停用本地账号,也不注销独立密码登录会话;要彻底撤销人员访问,仍须本地停用/撤权,并为真实 IdP 另行约定人员生命周期同步。当前另有须独立配置的受限SCIM停用接口,见下一节;标准logout本身不提供人员停用、任意供应商同步或RP发起的上游注销。

本地 mock IdP 的成功只证明协议实现。真实 IdP 注册、证书/JWKS 更新、logout 信号交付、生产网络与人员同步契约需要环境联调。详见OIDC 本地实现与验收。

上游人员停用同步(受限SCIM)

由身份平台运维和企业管理员共同配置;这是机器接入,不新增普通人员的管理权限。先完成已有人员与OIDC精确主体绑定,再为单个企业准备私有SCIM配置、到期机器Bearer摘要及当前OIDC原文件摘要,显式增加-scim-config。完整配置与HTTP示例见SCIM人员生命周期实施。

  1. 上游仅查询明确映射的既有人,读取本地id、active和ETag;不按邮箱猜测合并。
  2. 对已确认离职/停用人员发送单操作PATCH active=false,推荐携带刚读取的If-Match;核对响应active=false。
  3. 本地事务停用该人并撤销密码及OIDC会话、重置凭据、签署/换钥/恢复挑战和附加角色绑定;重复停用不重复新增同代事件。
  4. 如果返回409,说明会锁死最后一位有效管理员,先由责任人确保独立管理入口;返回412时重读版本,不直接覆盖新状态。
  5. 本轮不接受开户、组/角色写入或active=true。人员复职由另一位本地管理员独立审核并显式启用,旧会话和附加角色不会自动恢复;这也不证明上游已激活。
  6. Token或映射变更须协调所有副本重启;未重新配置的旧进程仍持有其固定快照,不能只改磁盘文件当作撤销完成。

此接口默认关闭,当前完成的是受限标准适配与本地并发测试。真实IdP投递、TLS、时延/失败升级与多副本凭据切换仍须联调;不是完整SCIM供应系统。

备份恢复与升级

使用同一静止检查点备份数据库、密钥、企业固定数据和配置。只备份平台库不能恢复企业原始文件,也不能替代密钥备份。

形成完整恢复集

  1. 阻止新任务/写入,确认在途任务完成或明确未知结果。停止相关平台自动循环、连接器上传/执行和 CDC 消费;不能只关闭网页。
  2. 用与 PostgreSQL 主版本匹配的工具备份完整业务 schema;记录版本、配置摘要和各文件 SHA-256。凭据用受保护 PGPASSFILE 或秘密管理器,不写进命令行。
  3. 独立保存平台状态私钥、连接器私钥与轮换历史、固定信任公钥、源/API秘密引用、OIDC配置、链配置与签名钥。
  4. 企业域保留 .datanous/datasets、.datanous/uploads、.datanous/upload-sessions 全部会话/分块/归档、.datanous/upload-audit.jsonl 与 .datanous/upload-audit-archive 前驱链。勿按文件年龄删除历史引用对象。
  5. CDC 另备份目标状态、收据/检查点,并配套记录源槽、publication、system identifier、generation 和 LSN,按前章核对可连续恢复性。

备份与隔离恢复命令示例:

pg_dump --format=custom --file=/secure/backups/datanous.dump --dbname=datanous_candidate
# 以下会清理目标对象:仅可指向新建、专用、允许销毁的恢复库
pg_restore --clean --if-exists --exit-on-error --single-transaction \
  --dbname=datanous_restore /secure/backups/datanous.dump

隔离恢复与回滚

恢复到新数据库、目录和端口,保持外发、链广播、自动调度关闭。核验全表、固定对象摘要、产品/合约历史版本、结果解密及签名证据;缺钥、缺前驱段、摘要不符、schema 不一致或水位不连续就停止。

上传审计历史核验使用独立固定公钥和备份前可信链头:

verify-upload -enterprise-root /isolated/restored-enterprise \
  -trusted-keys /secure/pinned-connector-public-keys.json \
  -history -expected-head <backup-time-verified-chain-head>

该命令不使用 -rotate;轮换/归档维护是另外的显式写操作。仅保存在同一信任域的链头不构成独立锚定。

升级时同步匹配的平台、连接器和 CLI;旧程序拒绝更高 schema 时不得删除迁移记录绕过。回滚需要旧二进制及其配套的完整旧恢复集,不能只换二进制连接新库。切换后发生过外部确认或新业务写入时,先冻结并对账,不能静默覆盖或重新发送。

当前隔离恢复演练不涵盖异地灾备、真实源 CDC 连续性、生产 TLS、所有新增业务表非空场景或真实回滚。完整清单与证据见运行与备份的“0.5.2-dev 候选版本”章节及隔离恢复记录。旧 check-local-restore.py 依赖旧演示实例,不能当作当前候选隔离恢复工具直接运行。

常见错误与排查

现象先检查正确处理
页面没有某管理按钮当前主角色、附加权限、企业状态、空间/数据源范围、是否候选前端管理员核对当前权限,重新登录;不强改前端绕过
401 / 旧会话失效改密、停用、授权修订、OIDC配置变化、令牌过期用当前身份重新登录/重新签发专用凭据
403 / 操作不允许权限、来源范围、独立审批人员资格核对精确对象与审批分离,不借用他人账号
修订冲突或结果待核对页面草稿版本是否过期、请求是否可能已提交重新读取保存结果,清除旧草稿后再决定
上传 5 分钟授权过期当前身份、文件摘要、原会话和企业网关路径重新授权并查进度,勿更改摘要绕过续传
上传完成但目录无资产是否确认正式对象、登记数据源、提交发现完成三步并查运行记录;字节到齐不等于资产发布
质量隔离 / 无法发布业务规则明细、必填唯一性、分类声明审批、敏感标记修正后生成新版本;不改 ready 状态掩盖
自动调度不启动计划有效期、对象修订、CLI开关、当前代次执行授权逐层核对并重新授权;保存配置不代表授权
增量锁等待/来源漂移源只读权限、实际表结构、活动任务、冻结上下界解除源阻塞后核对重试;漂移需明确新基线,勿手改水位
CDC bootstrap_not_confirmed_inspect_slot_and_destination槽是否已创建、目标是否已持久提交保留槽与收据,人工核对恢复;不自动删除
CDC run_not_confirmed_inspect_durable_receipts_and_source目标收据、源确认位置、完整事务沿持久状态恢复;不因网络错误跳过批次
任务排队/连接器离线进程、origin、登记编号/公钥、协议能力、白名单、配额与时间同步修复连接后查任务,不替用户签署或跳过合约
结果不可见或导出不可用提供方审核、合约有效期/终止、allowExport、当前权限按授权流程处理,不直接读取数据库结果
已有告警但无人收到缺班、路由、接收端状态/修订、策略、节点授权、真实远端确认区分本地暂存与真正通知;未知结果先对账
审计死信/不能改目标待确认批次、目标变更、资格和重试预算查原因;明确恢复死信或撤销另建,不能跳过确认
SSO 按钮消失/oidc_config_failed私有文件权限、固定端点、client方式、origin/callback精确匹配修改受控配置并重启;错误日志不应输出秘密
oidc_login_failed精确issuer/sub映射、本地账号状态、时钟、JWKS、一次性回调新发起登录;不改成邮箱匹配或关闭验签
密钥损坏/轮换结果未知备份、持久轮换记录、固定信任公钥保留文件按恢复流程处理;不生成替代钥覆盖历史
/api/interop/* 返回 external_profile_not_configured外部协议适配是否已明确交付当前不能仅填写URL宣称互联;需目标契约与适配开发/联调

验收与交付记录

统一结果、通过范围和剩余条件见并行收尾与集中验收,精确测试统计和候选构建摘要见机器记录。本手册对应候选源码,不代表已部署到原8090,也不代表正式测评通过。

目前可查的分范围证据:

  • 业务质量与分类审批集中验收
  • 企业侧文件与人工复核收尾
  • 调度增量与独立 CDC 收尾及5万行边界容量验证
  • 监控、升级与审计凭据收尾
  • OIDC 本地协议与撤销验收
  • 隔离备份恢复
  • 外部环境剩余范围

交付现场至少核对:版本/实例一致、两名独立审批账号、受限来源与固定版本、质量拒绝路径、合约双方签署与结果审核、调度独立授权、未知结果恢复、机器凭据撤销以及备份可恢复性。真实身份、外部节点、隐私计算硬件、独立锚定、生产网络/文件系统和正式测评按各自环境条件单独验收,不由合成测试替代。

这一步卡住了?请通过首页客服微信沟通。 ← 返回文档中心