许可证 API · 99.98%
+995 574 856 856 [email protected] 格鲁吉亚,库塔伊西
Revit Server security

Revit Server Guard

为 Autodesk Revit Server 基础设施提供访问控制、审计、管理与受保护运行。

版本 1.1.4 Flagship solution
What’s new

版本历史

此页面目前尚未发布版本历史。

说明

RSG · 深入说明

RSG 是什么,为什么需要它。

Revit Server Guard 是安装在 Autodesk Revit Server 同一主机上的软件网关。它拦截 RS 端口的 TCP 和 HTTP 流量,读取元数据(哪个用户、哪个项目、哪个分区、哪个操作),并应用 Revit Server 本身不存在的访问规则。

概览此页面用于管理概览:数据、筛选、操作和导出都集中在 RSG 管理面板中。 项目此页面用于管理项目:数据、筛选、操作和导出都集中在 RSG 管理面板中。 角色此页面用于管理角色:数据、筛选、操作和导出都集中在 RSG 管理面板中。 审计日志此页面用于管理审计日志:数据、筛选、操作和导出都集中在 RSG 管理面板中。

01 — 概览

RSG 是什么,为什么需要它。

Revit Server Guard 是安装在 Autodesk Revit Server 同一主机上的软件网关。它拦截 RS 端口的 TCP 和 HTTP 流量,读取元数据(哪个用户、哪个项目、哪个分区、哪个操作),并应用 Revit Server 本身不存在的访问规则。

默认情况下,Revit Server 不提供按用户、项目、分区和操作类型划分的透明访问权限。如果参与者可以访问服务器,RS 内置机制无法可靠地把该参与者限制在其责任范围内。对于小型团队,这可能尚可接受;但在包含多家公司、临时参与者和不同责任层级的项目中,仅靠培训和内部规程并不够。RSG 正是用来消除这一技术限制。

谁需要它

  • 设计公司同时服务多个客户,不希望客户 A 的团队看到客户 B 的工作内容。
  • BIM 协调员需要在分区层面拆分权限 — 结构工程师查看和编辑结构,机电工程师只看自己的专业,依此类推。
  • 承包商和自由职业者获得某个项目和某个分区的临时访问权,合同结束后需要一键锁定。
  • 有监管要求的团队(政府合同、限制访问设施),必须保留“谁在何时打开了什么”的日志。

01 概览此页面用于管理概览:数据、筛选、操作和导出都集中在 RSG 管理面板中。

02 — 架构

四个组件,一台 Windows 主机。

RSG 是一个整体式系统,但由四个一起安装的独立模块组成。这是有意设计的:每个组件负责自己的范围,并且在需要时可以独立重启。

每个组件做什么

  1. RSG.Proxy — TCP/HTTP 代理,监听 8086 端口而不是默认 RS 端口。它解析 Revit Server SOAP 信封,提取请求元数据,询问 RSG.Server “是否允许?” — 然后要么放行,要么向客户端返回 403
  2. RSG.Server — 基于.NET 8 的 Windows 服务,在本地 SQLite/SQL Server 中保存访问规则,运行审计日志,验证许可证,并与 License API 通信。它是解决方案的“大脑”。
  3. RSG.AdminPanel — React SPA,可在 localhost:5080 打开(或在企业网络内通过 HTTPS 访问)。管理员用它创建用户、项目、规则并查看审计日志。
  4. RSG.LicenseTool — 用于离线激活的独立 CLI 工具。仅在隔离网络中使用;普通在线安装不需要。

重要

Revit Server 保持原样。RSG 不修改二进制文件,不重写数据库,不替换配置。它在旁路协同工作,并通过标准网络接口运行。关闭 RSG 后,Revit Server 会像安装 RSG 前一样继续工作。

02 RS 网关此页面用于管理RS 网关:数据、筛选、操作和导出都集中在 RSG 管理面板中。

03 — 访问控制

三层权限:项目、分区、操作。

RSG 授权不是“全有或全无”,而是细粒度的。您不是发放“服务器访问权”,而是发放“项目 X、Architecture 分区、只读访问权”。底层发生在 Revit Server 的 SOAP 请求层面,RSG 检查操作类型并作出决定。

用户和 AD 组绑定到角色。角色是某个项目及其分区的权限集合。同一用户可以在不同项目中拥有不同角色:一个项目是“协调员”,另一个是“观察者”,第三个项目“无访问权”。

层级

  • 项目。 基础单元是服务器上的项目根文件夹。用户可以在列表中看到项目,但不能打开它。
  • 模型分区。 建筑、结构、工程、协调 — 每个分区都可以拥有自己的权限。承包方工程师只能打开自己的分区,其余内容甚至不会加载到 Revit 客户端。
  • 操作。readedit。只查看不编辑,是独立于不发布编辑的单独权限。

03 项目此页面用于管理项目:数据、筛选、操作和导出都集中在 RSG 管理面板中。

角色与组

下面是管理面板中的样子。矩阵:项目为行,角色为列,单元格中显示权限状态。

图例: 完全访问 · 只读 · 按分区混合 · 无

规则配置示例

每条规则都表示为 JSON 文档,可通过 UI 编辑,也可在从内部工具迁移时从 CSV/JSON 批量导入。

04 角色此页面用于管理角色:数据、筛选、操作和导出都集中在 RSG 管理面板中。

04 — 管理面板

用 Web 管理面板替代 CLI 和注册表。

所有管理都通过 RSG 主机本地可用的 React SPA 完成。不需要 regeditgpedit 或手工编辑 XML。管理员在浏览器中即可看到仪表板、许可证、审计和权限矩阵。如需远程访问,可放到带 TLS 的反向代理后面。

首页是仪表板。顶部显示当天四个数字,下方是事件流和许可证面板。

05 用户此页面用于管理用户:数据、筛选、操作和导出都集中在 RSG 管理面板中。

06 专业分区此页面用于管理专业分区:数据、筛选、操作和导出都集中在 RSG 管理面板中。

05 — 审计

每个操作都会进入日志。

审计不是可选功能,而是主流程的一部分。每个经过 RSG.Proxy 的请求都会留下记录:谁、对哪个项目/分区、执行哪个操作、结果是什么、来自哪个 IP、哪个 Revit 版本。日志保存在本地,并可导出为 CSV/JSON/SIEM。

管理面板有一张每个字段都可筛选的表。点击某一行会打开完整事件 JSON。

记录哪些内容

  • 身份:AD 登录名、IP、Revit 客户端版本、用户机器名。
  • 目标:项目 ID、文件名、分区/workset、元素 ID(适用时)。
  • 操作:open、sync_to_central、reload_latest、create_local、publish、delete_local、borrow_workset 等。
  • 结果:allow / deny / warn(warn — 不阻止,但标记为需要复查)。
  • 上下文:哪条规则作出决定、带时区的时间戳、操作耗时。

保留期

默认日志保留 18 个月。该项可配置。日志可通过 webhook(JSON payload)流式发送到 SIEM,也可写入公司 SQL Server,或通过 CLI 批量导出。

07 审计日志此页面用于管理审计日志:数据、筛选、操作和导出都集中在 RSG 管理面板中。

08 备份此页面用于管理备份:数据、筛选、操作和导出都集中在 RSG 管理面板中。

06 — 许可

绑定到机器的签名许可证。

RSG 许可证是一个签名信封(LicenseEnvelope),其中包含权限 payload 和签名。签名由我们一侧的 ECDSA P-256 私钥生成,并在客户端使用嵌入 RSG 二进制文件的公钥验证。

这意味着:没有私钥,就不可能伪造许可证或在相同 URL 上运行“自己的 License API”。Keygen 在物理上不存在 — 要么必须破解 ECDSA P-256(理论上不现实),要么从我们的 HSM 窃取私钥。

机器指纹

许可证通过指纹绑定到机器 — 对由机器名和网络接口 MAC 地址组装的确定性字符串计算 SHA-256。

网络接口会排序 — 这很重要。如果系统有多个 MAC,OS 可能以不同顺序枚举它们,排序可消除这种不稳定性。机器名也会转为大写,原因相同。

在线与离线激活

当主机可以通过出站 HTTPS 访问我们的域名时,可在管理面板一键激活。RSG.Server 发送包含指纹和元数据的 JSON,License API 返回签名信封,并立即应用。

无网络时(封闭边界、政府网段、隔离测试场),激活通过文件完成:

  1. 在管理面板 → “生成许可证请求” → 将 request.rsgreq 保存到 U 盘。
  2. 在网站个人中心 → “离线激活” → 上传 .rsgreq → 接收 license.rsglic
  3. .rsglic 上传回管理面板。完成。

到期后会怎样

试用 期限许可证到期后,RSG 会切换到 bypass 模式 — 保护关闭,Revit Server 按安装 RSG 前的方式工作。这是有意设计:我们不希望客户在周五 23:50 遇到生产中断。许可证恢复后,RSG 会自动回到 full

09 配置此页面用于管理配置:数据、筛选、操作和导出都集中在 RSG 管理面板中。

07 — 安装

一个晚上:从安装程序到第一个角色。

RSG 通过 Windows 安装程序(MSI 或 EXE)安装。无需 docker、kubernetes,也无需外部依赖,除了.NET 8 LTS Runtime — 它通常已在 Windows Server 2022/2025 上安装,或由安装程序拉取。

安装前需要什么

  • 与 Revit Server 同一主机上的 Windows Server 2019 / 2022 / 2025。
  • 该主机上的管理员权限账户。
  • 对 RS 数据库的只读访问权限(RSG 不写入,只读取项目元数据)。
  • 一个空闲 TCP 端口(默认 8086)— RSG.Proxy 将绑定到它。
  • 安装约需 250 MB 磁盘;6 个月审计日志约需 5 GB。

步骤

  1. 从个人中心下载 RSG-Setup-1.0.0.exe
  2. 以管理员身份运行安装程序。指定代理端口和 RS 数据库路径。
  3. 打开 http://localhost:5080 — 首次运行向导会要求创建管理面板超级用户。
  4. 从 AD 导入用户(一键)或手动添加。
  5. 在测试项目上创建第一条访问规则。
  6. 将 Revit 客户端重定向到新的代理端口(通过 DNS 或组策略)。

配置

大多数设置位于 RSG.Server 的 appsettings.json。多数管理员永远不需要碰它 — 一切都可通过 UI 配置 — 但有时会需要。

08 — 兼容性

与您已有的环境协同工作。

RSG 是为现有安装设计的,而不是只适合全新环境。无需新的 Windows 版本、新的 Revit Server 版本或干净基础设施。它适配现有环境。

性能

在典型负载下,代理每个请求增加约 3–8 ms 延迟(在 Xeon E-2336、Windows Server 2022、100 个并发 Revit 客户端上测量)。用户几乎感受不到 — Revit 通过网络本来也不是以极速著称。

  • RAM:100 个活跃用户时常驻 200–400 MB。
  • CPU:峰值负载下低于一个核心的 5%。
  • 磁盘 I/O:100 个用户约 15 MB/小时审计日志。
  • 网络:几乎没有开销 — RSG 不缓冲,而是流式转发代理流量。

10 统计此页面用于管理统计:数据、筛选、操作和导出都集中在 RSG 管理面板中。

09 — 安全

RSG 保护什么 — 不做什么。

坦率地说:RSG 不是万能药。它解决一类特定问题 — Revit Server 访问授权。下面说明哪些属于其威胁模型,哪些不属于。

RSG 威胁模型内

  • 拥有合法 AD 访问权的内部人员试图读取他人项目。已覆盖:每个请求都检查项目 + 分区 + 操作。
  • 合同已结束的承包商,但其 AD 账户尚未停用。已覆盖:带 validUntil denyOnExpired: true 的规则。
  • 通过假网站或假 License API 泄露。已覆盖:许可证使用 ECDSA P-256 签名,密钥嵌入客户端。没有私钥无法替换网站。
  • 把许可证移动到他人机器。已覆盖:payload 中包含机器指纹,并在每次服务启动时验证。

RSG 威胁模型外

  • AD 服务器被攻破。如果攻击者获得 DA 权限,也会获得 RSG.AdminPanel 访问权。这是 AD 安全问题,不是 RSG 的问题。
  • 对 RSG 主机的物理访问。拥有本地管理员权限即可停止服务。需要基础设施级保护 — BitLocker、物理控制。
  • 屏幕截图和拍照。如果用户合法访问项目,他就能看到并拍摄它。RSG 不是 DLP 解决方案。
  • 通过本地 Revit 文件泄露。当 Revit 客户端下载项目本地副本时,文件实际存在于用户磁盘上。这需要磁盘加密和 DLP。

密码学

  • 许可证签名:ECDSA P-256 + SHA-256,格式 IEEE P1363,长度 64 字节。
  • 与 License API 通信:TLS 1.2+,证书验证。
  • 内部 AdminPanel ↔ RSG.Server 流量:默认使用自签名证书的 HTTPS(可替换为企业证书)。
  • 我方签名私钥存储:带轮换策略的托管 key vault。

10 — 常见问题

关于 RSG 的常见问题。

如果 RSG.Server 夜间崩溃会怎样?

这种情况下,RSG.Proxy 会切换到 fail_open fail_closed 模式 — 可配置。默认是 fail_open:当“大脑”不可达时,代理会不检查地把流量传给 Revit Server(就像没有 RSG 一样)。这样在 RSG 故障时业务能继续运行。如果贵公司要求相反 — 宁可全部阻断也不冒泄露风险 — 则设置 fail_closed

如果网卡 MAC 改变会怎样?

指纹会改变,许可证会被拒绝。两种解决方式:购买时设置 quantity = 2(许可证对两个指纹有效,可多一次激活),或在个人中心请求重新签发 — 免费且即时。

RSG 可以以 HA 配置运行(两个节点)吗?

目前(v2.4.x)还不支持,只有单实例。HA 配置在 v3.0 路线图中。临时方案通常是保留一个带相同配置的“冷”第二节点,故障时切换 DNS。

RSG 会读取 .rvt 文件吗?

不会。RSG 工作在 Revit Server 网络协议层 — 它看到 SOAP 请求、项目元数据、分区名称。它不会解析或存储模型内容。若需要基于模型内容的控制(DLP),需要其他解决方案。

两个 Revit Server 需要多少许可证?

两个 — 每个许可证绑定到一个指纹,两台主机的指纹不同。多服务器配置折扣单独报价,请联系 info@。

可以从内部自研方案迁移吗?

如果您有任何“用户 × 项目 × 权限”矩阵(Excel/CSV/SQL),可通过 rsg-import CLI 导入到 RSG。如果自研方案有更复杂逻辑(例如基于模型内几何属性的权限),RSG 不覆盖该部分,需要保留原方案。

准备试用?

今天就把 RSG 安装在 Revit Server 旁边。90 天试用,无需银行卡。

从个人中心下载安装程序,放到与 RS 相同的主机上,给它半小时。到晚上您就能看到 RSG 做到了 Revit Server 默认做不到的事。

社区

用户评价

为该解决方案点赞或分享您的使用体验。无需注册即可提交评价。

0 条评价

评价

暂无已审核通过的评价。

留下评价

评价发布前会经过审核。无需注册。 Privacy

您的评分