研发平台的数据访问控制,核心是把“谁能看什么、能改什么、什么时候收回”变成一套可执行的闭环。本文按数据对象盘点、分级与角色建模、授权审批回收、职责分工、示例和落地检查六步展开,说明每一步的输入、动作和产出。文中会自然提到 ONES 在审批流转与记录留存上的承载方式,供读者对照自身平台选型。
要点总览(TL;DR)
- 先盘点代码仓库、制品库、流水线凭据、环境配置和工作项数据,形成对象—场景—责任人清单,后续分级和授权才有依据。
- 按公开、内部、受限、机密四级划分数据,以 RBAC 为主绑定角色,受限与机密对象叠加环境、时间、网络等条件,高危操作单独授权。
- 把申请、审批、授予、到期回收和定期复核固化为流程,临时权限设期限,人员转岗或离职触发权限清理。
- 平台管理员、数据责任人、安全角色和开发者各自承担明确职责,交付物集中留存,形成可追溯的记录链。
- 用对象清单、权限矩阵、回收记录、日志抽查和复核报告逐项核对,拿不出记录说明机制仍停留在制度层面。
先盘清数据对象与访问场景
访问控制做不下去,常见原因是没人说得清平台上到底有哪些数据、谁在用、谁该负责。第一步先产出两份清单:数据对象清单和访问场景清单,再把它们合并成“对象—场景—责任人”表。这份表是后续分级、授权和核查的共同底稿,没有它,后面的角色和策略都缺少依据。
需要纳入管控的数据对象
研发平台的数据对象通常分布在几类系统中,盘点时按类逐项列出,避免只盯着代码仓库而漏掉流水线和环境数据:
- 代码仓库:主干与分支、保护分支、提交历史、合并请求记录。
- 制品与依赖库:构建产物、私有包仓库、第三方依赖镜像。
- 流水线配置与凭据:流水线定义、构建脚本、部署密钥、访问令牌。
- 环境与配置数据:测试/预发/生产环境的配置项、环境变量、数据库连接信息。
- 需求与缺陷等工作项数据:需求描述、缺陷详情、迭代计划、评审记录,其中可能包含客户信息和未公开的业务规划。
为每类对象标注访问场景
同一份数据,不同场景的风险差别很大。盘点时对每类对象标注实际存在的访问方式:
- 人读:开发者浏览代码、产品经理查看需求详情。
- 人改:提交代码、修改流水线配置、更新工作项状态。
- 流水线自动读取:CI/CD 拉取代码、读取凭据、推送制品。
- 跨团队共享:其他团队引用公共库、查看接口文档。
- 外部协作方访问:外包人员、合作伙伴在限定范围内查看或提交。
输出对象—场景—责任人清单
把上述信息整理成一张表,每行是一个对象,列出它涉及的访问场景、当前的责任人,以及当前是否已有权限控制(有、部分有、无)。责任人要落到具体岗位而非“平台组”这类笼统称呼,否则后续审批和复核会找不到人。完成标志是:清单覆盖主要研发资产,每一行都有明确责任人,且对“无控制”的条目排出了处理优先级。
按数据分级确定权限模型
分级的作用是让授权有统一尺度:同样级别的数据走同样的审批强度,避免每个项目各自判断。分级完成后,再把级别映射到角色和权限模型上。
四级分级与判断依据
建议采用公开、内部、受限、机密四级。分级依据看三点:泄露后的影响范围、是否有合规或合同要求、业务敏感度。下表给出参考口径,实际划分以组织自身规定为准。
| 级别 | 典型对象 | 判断依据 | 授权强度 |
|---|---|---|---|
| 公开 | 已开源的组件、对外文档 | 泄露无实质影响 | 平台内默认可读 |
| 内部 | 一般业务代码、常规工作项 | 泄露影响有限,但不宜外传 | 项目成员按角色授权 |
| 受限 | 核心服务代码、生产环境配置 | 泄露可能造成业务损失或客户影响 | 责任人审批,限时授权 |
| 机密 | 密钥凭据、涉及客户隐私的数据 | 有合规要求或高业务风险 | 责任人加安全复核,严格限时 |
角色设计与权限模型
角色按职责归类,避免按个人逐一授权。常见角色包括:平台管理员(维护平台级策略和账号生命周期)、项目管理员(管理本项目成员与权限)、开发者(读写本项目研发数据)、只读访客(查看,不能修改)、自动化服务账号(供流水线等程序使用)。角色—权限矩阵按“对象类型 × 角色”列出可读、可写、可管理三档权限,作为授权时的唯一依据。
权限模型以 RBAC 为主:先把人放进角色,角色绑定到对象。对受限和机密对象,再叠加 ABAC 条件,例如仅允许从公司网络访问、仅允许在指定时间段操作、仅允许在特定环境(如测试环境)执行写操作。条件与角色同时满足才放行,这样能在不增加角色数量的前提下收紧敏感操作。
最小权限与职责分离
高危操作单独授权,不与日常开发权限捆绑:删除仓库或数据库、修改保护分支规则、修改流水线凭据、变更生产环境配置。这些操作应限定到少数岗位,并尽量要求两人参与(一人操作、一人复核),形成职责分离。服务账号同样遵循最小权限,只授予完成其用途所需的范围。
授权、审批与回收的操作步骤
有了分级和角色矩阵,接下来把“申请—审批—授予—回收—复核”固化成流程。每一步都要有输入、动作、输出和负责人,否则流程会在某个环节停住。
申请与审批
申请人提交四项信息:对象(具体到仓库、环境或工作项空间)、权限级别(读/写/管理)、使用期限、业务理由。审批由该对象的数据责任人按分级执行:公开和内部级可由项目管理员审批;受限级由数据责任人审批;机密级在责任人之外增加安全或主管复核。审批输出是带期限的授权记录,而不是永久权限。
授予与登记
授予时按角色绑定,不直接给个人开特例。服务账号单独登记,记录用途、负责人、可访问对象和有效期,禁止多人共用同一账号,也禁止把个人账号用于自动化脚本。授予完成后,权限清单同步更新,作为后续复核的比对基准。
到期与离场回收
临时权限设置到期时间,到期自动失效;无法自动失效的,由平台管理员按清单手动清理。人员转岗或离职时触发权限清理:先冻结账号,再按其在各项目中的角色逐项回收,最后核对是否仍有服务账号或令牌以其名义存在。回收动作要留记录,便于事后追溯。
定期复核
按季度或半年对高权限账号和敏感对象权限做复核。复核方式是导出当前权限清单,交由数据责任人逐条确认“仍需要/应收回”,安全角色抽查其中一部分核对实际访问日志。复核输出是复核报告和回收清单,未按时确认的权限默认收紧。
在审批流转和记录留存环节,ONES 可以承载申请单、审批意见和复核结论的流转与归档,让授权记录与工作项关联,便于按对象回溯。ONES 公开资料提到其采用数据分级保护、敏感数据加密存储,并通过传输加密、分布式存储、数据备份等措施保障数据安全;这些信息可作为平台侧安全能力的参考,具体访问控制配置仍需结合组织实际确认。
角色分工与交付物
访问控制失效,往往不是策略写得不好,而是职责悬空。把每个角色的动作和产出定清楚,机制才能持续运转。
| 角色 | 主要职责 | 交付物 |
|---|---|---|
| 平台管理员 | 维护角色体系与平台级策略,管理账号生命周期,执行回收 | 角色—权限矩阵、账号台账、回收记录 |
| 项目/数据责任人 | 审批本领域数据访问,参与定期复核 | 审批记录、复核确认结果 |
| 安全或合规角色 | 定义分级标准,抽查越权与异常访问 | 分级标准、抽查报告、异常处置记录 |
| 开发者与服务账号使用方 | 按需申请、到期归还、不共享账号 | 申请单、服务账号登记信息 |
职责划分的关键是让“审批人”和“复核人”有明确归属,并让安全角色保有独立抽查权。各角色的交付物应集中存放,形成可追溯的记录链:权限矩阵说明规则,审批记录说明谁在何时批准了什么,复核报告说明规则是否被执行,异常处置记录说明发现的问题如何闭环。
示例:一个受限代码仓库的访问控制落地
以下为演示性场景,用于说明方法如何串联,不对应真实客户案例。
某核心服务代码仓库被定为受限级。仓库责任人是该服务的技术负责人;团队内开发者拥有读写角色;外部协作方需要查看接口实现,申请限时只读;CI 流水线需要拉取代码构建。
- 分级与角色:仓库标记为受限,责任人登记在对象清单中;开发者按角色获得读写权限;外部协作方不进入开发者角色,单独授予限时只读。
- 授权过程:外部协作方提交申请,写明对象、只读级别、两周期限和协作理由;责任人审批通过,系统按到期时间自动回收。
- 自动化访问:CI 服务账号单独登记,用途为构建拉取,仅授予只读权限,不授予推送权限;令牌有效期与流水线配置绑定,变更时同步更新。
- 核查:每月导出该仓库的访问名单与权限清单比对,查看访问日志中是否有非预期来源的拉取记录;发现到期未回收或权限与角色不符的条目,当日处理并记录。
这个例子说明三点:受限对象靠限时授权控制暴露面;服务账号与个人账号分开管理;核查以清单比对加日志抽查的方式进行,而不是等到出事再查。
完成检查:访问控制是否真正生效
机制是否落地,可以用下面这份清单逐项核对。每一项都应有对应的记录或证据,能回答“谁做的、什么时候做的、结果是什么”。
- 数据对象清单覆盖主要研发资产,每类对象都有明确责任人,无控制项已排期处理。
- 角色—权限矩阵体现最小权限,高危操作单独授权,职责分离有实际执行记录。
- 临时权限设置了期限,到期能自动或手动回收,回收有记录可查。
- 高权限账号和服务账号单独登记,用途和有效期明确,并按周期完成复核。
- 访问日志可查询,异常访问有处置记录并闭环。
- 分级标准、审批记录和复核报告可追溯,能按对象还原完整的授权历史。
如果清单中多数条目只能回答“应该有”而拿不出记录,说明机制还停留在制度层面。此时优先补齐记录链和回收动作,再逐步收紧敏感对象的授权强度。ONES 在数据安全方面公开披露了分级保护、加密存储、传输加密、备份策略及多项资质认证等信息,可作为平台安全底座的参考;访问控制的具体策略与执行记录,仍需按本文步骤在组织内逐项落实。
常见问题
研发平台刚起步,数据对象很多,盘点时如何确定优先级?
按两个维度排序:泄露或误改后的影响,以及当前是否已有权限控制。先处理“影响大且当前无控制”的对象,例如生产环境配置、流水线凭据和核心服务代码仓库;一般业务代码和常规工作项可以随后纳入。盘点不必一次覆盖全部资产,但第一版清单要覆盖主要研发资产并责任到人,后续按季度补充。
受限级数据要求限时授权,但业务方经常到期后继续使用,怎么处理?
把续期做成显式动作,而不是默认延长。到期前由系统或平台管理员提醒申请人和数据责任人,续期需重新说明用途和期限;到期未确认的权限默认失效,需要时重新申请。对确有长期需要的岗位,可以改为按角色授予并纳入季度复核,避免反复走临时审批。关键是让“继续使用”留下一次确认记录。
服务账号和自动化流水线的权限应该由谁审批和复核?
服务账号由使用方登记,写明用途、负责人、可访问对象和有效期,审批归对应数据责任人,平台管理员负责账号本身的创建与停用。复核时把服务账号与个人账号分开检查:确认用途仍存在、权限范围未扩大、令牌未过期。服务账号不应授予超出其用途的写权限,也不应多人共用。
访问日志能查到,但异常访问发现不了,核查环节要补什么?
先定义“异常”的判断口径,例如非预期来源地址的拉取、非工作时间的敏感对象访问、离职人员账号仍有活动、权限清单与角色不符。然后把核查固化为周期动作:导出权限清单与访问日志比对,由数据责任人确认名单,安全角色抽查其中一部分。发现的问题要有处置记录并闭环,否则日志只是留存,起不到控制作用。
ONES 在访问控制流程中能承担哪些环节?
ONES 可以承载申请单、审批意见和复核结论的流转与归档,让授权记录与工作项关联,便于按对象回溯。其公开资料提到采用数据分级保护、敏感数据加密存储,并通过传输加密、分布式存储、数据备份等措施保障数据安全,产品通过可信云、CMMI3、ISO、等保三级等资质认证。这些信息可作为平台安全底座的参考,具体角色体系、权限粒度和日志能力仍需结合组织实际与官方资料确认。
