引言:外包人员排查问题,能看到什么?
某城商行核心系统出现性能抖动,外包运维团队需要登录数据库排查。
这是常规操作。问题在于:外包人员登录数据库后,随手一个SELECT * FROM customer,几百万条客户的手机号、身份证号、银行卡号就全部暴露在查询结果里。
有人会说:对外包人员的查询做动态脱敏不就完了?手机号显示138****1234,身份证显示110101********1234。
但现实情况是:外包人员做性能排查,经常需要看完整的SQL语句、执行计划、索引命中情况。如果查询结果被脱敏了,他可能会说"数据脱敏了没法排查,给我开个白名单"。
于是就出现了一个两难:开了白名单,脱敏形同虚设;不开白名单,外包说没法干活。
这不是个别现象。有些金融机构的外包人员占比普遍超过50%,他们“需要访问生产数据干活”和“不应该看到敏感数据”之间的矛盾,是外包访问场景脱敏最难解决的点。
外包访问场景,和普通内部员工有什么不同?
外包人员访问脱敏,不是在内部员工方案上"调一下权限"就行的。有本质区别:
|
差异点 |
内部员工访问 |
外包人员访问 |
|
访问目的 |
日常业务操作 |
开发、测试、运维、排查问题 |
|
访问方式 |
通过业务系统,权限边界清晰 |
直接连数据库,权限往往过大 |
|
数据需求量 |
逐条查询,单次量小 |
批量操作,可能全表扫描 |
|
账号管理 |
一人一账号,离职即回收 |
团队共享账号,人员流动性大 |
|
脱敏策略 |
固定策略即可 |
需要按角色、按任务场景灵活调整 |
|
绕过的动机 |
低 |
高——"数据脱敏了没法排查"是常见理由 |
一句话总结:内部员工是用业务系统"查",外包人员是直连数据库"操作"。访问深度不同,管控难度不同。
外包访问场景的三个核心难点
难点1:共享账号问题——人和访问记录对不上
金融机构的外包人员管理有个普遍现状:一个外包团队共用几个数据库账号。
原因很现实——外包人员流动性大,每个人的入职、离职都去创建/回收数据库账号,运维成本太高。所以常见的做法是:给A外包公司一个账号叫outsource_a,整个团队的人共用。
但这带来了一个问题:出事了查不到具体是谁。审计日志里记录的是outsource_a在凌晨3点执行了一条高危SQL,但不知道是张三还是李四干的,连问责都对应不到人。
要做脱敏,首先得知道"是谁在访问"——人和账号对不上,脱敏策略就没法跟人绑定。
难点2:脱敏和排查的冲突——"数据遮住了没法干活"
外包人员排查性能问题时的典型操作:
-
看慢查询的完整SQL(如果SQL里包含客户手机号,要不要脱敏?)
-
对比脱敏前后的执行计划差异(脱敏改写后的SQL,执行计划可能和原始SQL不一样)
-
查某个字段的具体值来判断数据异常(脱敏后看不到真实值,怎么判断?)
这些操作,如果一律套用"客服查客户信息"那种脱敏策略(看到的内容一律脱敏),确实会影响排查效率。
所以外包场景的脱敏,不能一刀切,需要能按任务场景灵活区分:日常查询脱敏,特定排障任务在审批通过后临时开放。
难点3:脱敏策略与访问控制要能联动
外包人员访问生产数据,涉及两层管控:
-
访问控制:能看到哪些表、哪些字段(这是权限问题)
-
动态脱敏:能看到的值是什么形态(明文还是脱敏)
理想状态下,这两层应该是联动的:"没有某张表查询权限的人,访问时直接拒绝";"有查询权限但属于外包角色的人,访问时自动脱敏"。
但传统架构下,访问控制和动态脱敏是两套独立的系统——IAM管权限,脱敏网关管脱敏,各自配置、各自维护。容易出现"访问控制说不让看某张表,但脱敏策略还没更新,数据还是能查到"这种漏洞。
传统方式怎么解决?权限加脱敏各自管
把外包访问场景做扎实,传统方式需要拼凑以下手段:
|
需要解决的问题 |
传统方式 |
实际面临的问题 |
|
共享账号治理 |
应用层改造,传递真实用户身份 |
需要改造业务代码,涉及多方协调 |
|
脱敏与排障平衡 |
给外包人员开白名单 |
白名单一开,脱敏形同虚设;白名单忘记关,长期暴露 |
|
脱敏与权限联动 |
IAM管权限 + 脱敏网关管脱敏,人工对齐策略 |
两套系统独立,策略不一致是常态 |
|
外包人员流动管理 |
人工创建/回收数据库账号 |
人员流动性大,账号管理滞后(人走了账号还在) |
算一下账:
-
共享账号治理:需要应用改造,项目立项到上线至少3个月
-
脱敏与权限联动:两套系统对接,集成工作量不小
-
白名单管理:靠人工审批和定期检查,容易遗漏
不是说做不了,而是每一件事都牵涉多方协调,整体推动周期长。
一体化思路:把身份、权限、脱敏做在同一个平台里
如果在一个统一平台里同时解决"共享账号治理""访问控制""动态脱敏"三件事,外包访问场景的管控就完整了:
① 代理账号代替真实账号
外包人员不再直接使用数据库真实账号,而是每人分配一个代理账号。代理账号和真实账号之间建立映射。审计日志里记录的是"张三通过代理账号zhang_san访问了数据库",清清楚楚,谁都赖不掉。
② 访问控制与脱敏联动
代理账号关联了角色标签("外包人员"),平台根据角色自动判断:外包角色的人,访问敏感数据时强制脱敏。不需要在IAM和脱敏网关两套系统之间人工对齐策略,平台内置了这个联动逻辑。
③ 按任务场景灵活调整脱敏策略
日常查询自动脱敏。遇到需要排查的特定任务,走审批流程,审批通过后在指定时间窗口内临时开放。任务结束后自动恢复脱敏——不用靠"开白名单忘记关"来维持。
④ 外包人员离职自动回收
外包人员离职时,在平台内禁用代理账号,所有权限和访问能力即时失效。不依赖数据库管理员手工操作。
传统方式 vs 一体化平台:外包访问脱敏对比
|
对比维度 |
传统多套工具方式 |
一体化数据安全平台 |
|
共享账号治理 |
需要应用改造传递真实用户身份 |
代理账号体系,免改造,天然绑定真实身份 |
|
访问控制与脱敏联动 |
IAM + 脱敏网关两套系统,人工对齐 |
平台内置联动,角色标签自动匹配脱敏策略 |
|
白名单管理 |
人工审批、手工开关、容易遗漏 |
审批+定时自动回收,任务结束自动恢复脱敏 |
|
人员流动管理 |
DBA手工创建/回收账号,容易滞后 |
平台内禁用代理账号,即时生效 |
|
审计追溯 |
数据库审计日志只能看到共享账号 |
代理账号→真实用户→SQL操作,全链路可追溯 |
|
运维复杂度 |
需要维护IAM、脱敏网关、数据库账号等多套系统 |
单平台统一管理 |
原点安全uDSP的外包访问管控方案
一体化数据安全平台 uDSP通过DAC(数据访问控制器)的代理账号体系,将外包访问场景的身份治理、权限控制和动态脱敏统一解决。
核心能力
|
能力 |
说明 |
对外包场景的价值 |
|
用户认证代理 |
以代理账号代替数据库真实账号 |
共享账号问题根治,真实用户身份全链路可见 |
|
基于属性的访问控制 |
按角色、数据级别、时间等多维度控制权限 |
外包角色自动匹配更严格的权限和脱敏策略 |
|
动态脱敏 |
访问敏感数据时实时脱敏 |
外包人员查询时强制脱敏,无需人工干预 |
|
临时提权审批 |
特定排障任务走审批,临时开放,到期自动回收 |
解决"脱敏了没法排查"的矛盾 |
|
全链路审计 |
记录 真实用户→代理账号→SQL操作→敏感数据 完整链路 |
谁在什么时间做了什么事,清清楚楚 |
代理账号体系的实际效果
这是原点安全uDSP在外包访问场景的核心机制:
外包人员张三入职时,平台给他创建一个代理账号zhang_san,关联到外包公司的数据库真实账号。张三此后所有操作都用zhang_san登录,审计日志里记录的也是zhang_san。
张三离职时,平台禁用zhang_san,所有访问能力即时失效——不需要去数据库里删账号、不需要回收权限,一个操作全部搞定。
"人走了账号还在"这个长期困扰外包管理的隐患,在代理账号体系下不存在。
结语
外包人员访问生产数据,不是一个"做不做脱敏"的选择题——必须做,但怎么做才不被他一句"数据遮住了没法干活"绕过去,才是真正要解决的问题。
传统方式是在权限、脱敏、账号管理几套系统之间来回对齐,可行,但集成复杂、白名单管理容易出现漏洞。一体化数据安全平台的思路,是用代理账号体系把身份、权限、脱敏三件事做在同一个平台里——外包人员只需要一个代理账号,其他所有管控都是平台内部的事。
两条路线都可行。对于外包人员占比高、共享账号问题突出、脱敏与排障矛盾尖锐的金融机构来说,一体化的思路能让管控更完整,也让人更放心。
评论(0)