应用方案

SQL Server 外网访问

实施或运维在外网打开 SSMS,连的是云端 Gateway 上的受控端口;流量经出站隧道回到现场 SQL。客户防火墙不开 1433 入站,账套数据仍在机房。

平面 服务访问(受控 TCP) 读者 客户 IT、DBA、实施顾问 典型用户 用 SSMS 等工具连现场账套库的人
SQL Server 外网访问

适用 / 不适用

适用不适用
临时巡检、改账套、协助实施把 SQL 当无认证的互联网数据库
固定几个来源 IP 的长期顾问接入(须开通持久发布套餐)在客户光猫上映射 1433 / 1434
已核实实例名、监听端口、TLS 证书未核实就写死「公网 1433 一定能连」
运维工具走 TCP原版 U8 客户端里的 Data Source=内网IP(应走 01

U8 客户端依赖 SQL 地址时,不能用「只把 1433 挂公网」来冒充客户端兼容。那是虚拟内网的职责。

两种发布方式,优先限时

方式什么时候用公网入口要求
JIT 限时 TCP(默认优先)临时运维、一次性实施Gateway 临时端口(平台池 50000–50999MFA、审批、到期自动回收
持久公网 TCP(可选套餐)明确需要长期用 SSMSGateway 端口池 32000–32999,或知名端口 1433已购买 SKU;源 IP 白名单;责任人与有效期

两种方式的共同点:监听在 Gateway,不是客户路由器。现场 Edge 仍然只出站。

禁止:客户防火墙 / 光猫 1433 入站、无认证裸奔、把 SQL 浏览器 UDP 1444 等未核实能力写成已交付。

访问路径

访问路径
运维电脑(SSMS)
        →  云端 Gateway(JIT 或 1433;加密、白名单、限流、审计)
        →  加密出站隧道
        →  现场 Edge
        →  已登记的 SQL 实例(端口以现场核查为准)

连接时,SSMS 的「服务器名称」填 Gateway 主机名,端口为平台分配的端口,而不是现场内网 IP。现场连接串不必改;那是 Edge 回源用的。

建议:SQL 连接强制加密并校验证书。不要为了「先连上」关闭加密。

现场要准备什么

核查项说明
实例类型默认实例 / 命名实例;是否有多个实例
实际 TCP 端口配置管理器或监听记录;1433 只是常见起点
监听地址是否只绑内网网卡;应用服务器用机器名还是 IP 连库
身份验证混合模式时,运维账号与权限最小化,不用把 sa 发给所有人
证书强制加密时的服务器证书与主机名是否匹配 Gateway 侧策略
谁允许连人员名单、来源 IP、时间窗、是否必须双人审批
Edge与 SQL 同网或可路由;保持开机;只登记这一实例这一端口

分离部署时:应用服务器连库仍走内网,不必为 U8 应用再绕一圈公网 SQL。本方案服务的是人从外网连库

交付步骤(客户视角)

  1. 确认是「人用 SSMS 连库」,还是「U8 客户端自己连库」。后者改走方案 01。
  2. 现场核实实例与端口,登记 Service / Endpoint,写明目标主机、端口、责任人。
  3. 默认开通 JIT:申请人在运维门户提交,审批后获得连接说明(主机、端口、有效期)。
  4. 若业务坚持长期 1433:开通公网发布套餐,在 Gateway 监听,配置源 IP 白名单,启停走审批。
  5. 运维按连接说明用 SSMS 连接;失败不关闭加密、不改客户入站。
  6. 到期或撤销后,临时端口释放;持久发布可停用 Endpoint。

用户怎么用(JIT 示例)

  1. 在运维门户登录,完成 MFA。
  2. 选择「现场 SQL」申请限时访问,等待审批(或按租户策略自动通过)。
  3. 打开连接说明,复制服务器和端口到 SSMS。
  4. 用被授权的 SQL 登录名连接,完成工作。
  5. 到期后无需再改现场防火墙,入口自行失效。

持久发布时,连接说明长期有效,但仍受白名单、证书、租户订阅和 Endpoint 启停约束。订阅到期会拒连。

怎么验收

通过标准
正向授权用户能在有效期内用 SSMS 执行约定范围内的查询
加密未加密或证书校验失败时拒绝
拒绝未授权账号、过期 Grant、未知目标端口、白名单外 IP 均失败并留痕
现场客户侧无 1433 入站;Edge 只出站
回收JIT 到期后原端口不可连
不冒充不宣称「因此原版 U8 客户端已外网可用」

边界与注意

  • 最小权限。 外网 SQL 账号不要用 sa 日常登录;按库、按人授权。
  • 限流。 Gateway 对认证失败和新连接限流,防止扫端口。
  • 不要把 SQL 浏览器、调试端口一并发布。 未启用、未核实的端口不登记。
  • U8 出站许可(用友云许可等)是现场服务器自己的出网,与本方案的「人连 SQL」不是同一件事。
  • 需要登录 Windows 再在本地开 SSMS 时,用 03 RDP,而不是把 SQL 端口扩得更大。

相关方案