研发平台权限矩阵要解决的是“谁在什么范围、对哪类资源、能做哪一步操作”的问题。设计时先固定角色、资源与操作、授权条件三个坐标,每格统一填“允许、需审批、禁止”,再落到角色组和审批流,并用季度复核维持有效性。下文给出表头口径、五步流程、职责分工、填写示例和上线检查方法。
要点总览(TL;DR)
- 权限矩阵由角色、资源与操作、授权条件三个坐标交叉构成,每格统一填“允许、需审批、禁止”,空白格在定稿前必须清零。
- 从资源盘点到评审发布分五步:盘点资源与现有角色、划分角色去重、逐格填写、设置数据范围与有效期、评审定稿并记录版本。
- 平台管理员负责配置、项目负责人初审一般权限、安全或运维负责人审批生产环境与密钥类高权限,审计只读独立复核且不参与授权。
- 矩阵上线后按季度全量复核,人员转岗、离职、项目结项或新增生产环境时即时复核,抽样账号权限与矩阵逐格比对一致才算完成。
- 矩阵版本、授权申请与复核记录可在研发平台内以文档和工作项承载,形成申请、审批、配置、复核可追溯的链路。
权限矩阵先定哪几个坐标
一张能直接执行的权限矩阵,由三个坐标交叉构成:角色决定“谁”,资源与操作决定“对什么做什么”,授权条件决定“在什么范围、经谁批准、有效多久”。三个坐标缺一个,矩阵就会退化成角色清单,无法回答具体授权问题。
角色维度建议覆盖七类:平台管理员、项目负责人、开发、测试、运维、外部协作方、审计只读。角色按职责划分,不按职级或部门划分;同一个人承担多个职责时,可以同时拥有多个角色,但每个角色的权限边界要独立写清。
资源与操作维度需要先把平台资源拆成对象,再对每类对象列出可执行动作。常见拆法如下:
| 资源对象 | 典型操作 | 说明 |
|---|---|---|
| 项目 | 查看、编辑、授权、删除 | 项目是多数权限的边界单位 |
| 代码库 | 查看、编辑、删除 | 编辑含提交与分支操作 |
| 流水线 | 查看、编辑、执行、删除 | 执行指触发构建与部署任务 |
| 环境 | 查看、发布、删除 | 按开发、测试、生产分别设值 |
| 制品库 | 查看、发布、删除 | 发布指上传与标记版本 |
| 配置与密钥 | 查看、编辑、授权、删除 | 查看密钥通常单独审批 |
操作类型统一收敛为六类:查看、编辑、执行、发布、授权、删除。收敛的好处是不同资源的同一动作可以横向比较,避免出现“修改配置”“调整参数”“变更设置”等含义重叠的表述。
授权条件维度至少包含三项字段:数据范围(全平台、指定项目、指定环境)、有效期(长期、指定截止日期、单次有效)、审批人(项目负责人、安全或运维负责人)。跨项目、跨环境访问必须在数据范围字段中显式写出,不能默认继承。
每格取值只有三种:允许、需审批、禁止。“需审批”要同时写明审批人,否则执行时无法判断找谁;“禁止”表示任何审批都不放行,与“需审批”严格区分。空白格视为未定义,定稿前必须清零。
从资源清单到矩阵:五步操作流程
建矩阵的过程是从平台现状出发、逐步收敛到可发布版本的过程。五步各有输入、动作、输出和完成标志,前一步的输出是后一步的输入。
第一步:盘点平台资源与现有角色
输入是平台功能清单和现有账号角色导出表。动作是逐项列出平台内可授权的资源对象,并把现有账号按实际职责归类。输出是一张“资源—角色”底表。完成标志是平台内每个可授权对象都能在底表中找到对应行,现有账号全部有归属角色。
第二步:划分角色并去重
输入是底表和现有角色清单。动作是合并职责相近的临时角色,例如把“临时发布员”“版本管理员”合并为运维角色下的发布操作;对只差数据范围的角色,保留一个角色、用范围字段区分。输出是精简后的角色清单,建议控制在十类以内。完成标志是每个角色能用一句话说明其职责,且不存在两个角色权限完全重合。
第三步:逐格填写允许、需审批、禁止
输入是角色清单和资源操作清单。动作是按角色逐行填写,高风险操作默认设为需审批,包括生产环境发布、密钥读取、资源删除、跨项目授权。输出是填满的矩阵初稿。完成标志是没有空白格,每个“需审批”格都标注了审批人。
第四步:设置数据范围与有效期
输入是矩阵初稿。动作是对每个角色标注默认数据范围,对临时性授权设定有效期上限,明确跨项目、跨环境访问需要单独申请。输出是带范围和有效期字段的矩阵。完成标志是任取一个角色,都能回答“能看到哪些项目、能操作哪些环境、权限到什么时候失效”。
第五步:评审定稿并发布
输入是完整矩阵。动作是组织平台管理员、项目负责人、安全或运维负责人共同评审,重点核对高风险格和跨范围授权。输出是带版本号和变更记录的正式矩阵。完成标志是评审意见全部关闭,版本号、生效日期、变更说明齐全,并在平台内可查阅。
角色与审批职责怎么分工
矩阵能否落地,取决于每类角色是否清楚自己配置什么、审批什么、留下什么记录。职责不清时,矩阵会停留在文档层面,实际授权仍靠口头沟通。
| 角色 | 核心职责 | 审批权限 | 交付物 |
|---|---|---|---|
| 平台管理员 | 角色组配置、矩阵版本维护、账号生命周期管理 | 不审批业务授权,按审批结果执行配置 | 矩阵版本、角色组配置记录 |
| 项目负责人 | 本项目范围内授权申请初审 | 项目内开发、测试环境的一般权限 | 授权申请单初审意见 |
| 安全或运维负责人 | 高权限审批与安全基线把关 | 生产环境发布、密钥读取、删除类操作 | 高权限审批记录 |
| 审计只读 | 复核权限配置与审批记录 | 无审批权,不参与日常授权 | 复核报告、偏差清单 |
| 开发、测试、运维、外部协作方 | 在授权范围内使用平台 | 无审批权 | 授权申请单(申请人) |
审批链建议按风险分级:一般权限由项目负责人审批即可;生产环境、密钥、删除类操作在项目负责人初审后,追加安全或运维负责人审批。两级审批都通过后,平台管理员才执行配置,避免审批与配置由同一人完成。
审计只读角色的价值在于独立复核。该角色应能查看角色组配置、授权申请单和审批记录,但不具备修改权限,也不参与审批,保证复核结论不受授权流程影响。
每类角色的交付物要能对应到具体记录:矩阵版本对应变更记录,授权申请单对应审批意见,复核报告对应偏差清单和修正记录。交付物缺失时,视为该环节未完成。
一个研发项目的矩阵填写示例
以下示例为一个包含开发、测试、生产三套环境的研发项目,演示如何把角色、资源、操作和条件填成可执行的行列。示例为演示情景,实际取值需按项目风险调整。
| 角色 | 资源 | 操作 | 数据范围 | 取值 | 审批人/有效期 |
|---|---|---|---|---|---|
| 开发 | 代码库 | 查看、编辑 | 本项目 | 允许 | 长期 |
| 开发 | 流水线 | 执行 | 测试环境 | 允许 | 长期 |
| 开发 | 环境 | 查看 | 生产环境 | 允许 | 长期 |
| 开发 | 环境 | 发布 | 生产环境 | 需审批 | 项目负责人 |
| 测试 | 环境 | 查看、执行 | 测试环境 | 允许 | 长期 |
| 运维 | 流水线 | 编辑、执行 | 本项目全部环境 | 允许 | 长期 |
| 运维 | 配置与密钥 | 查看 | 生产环境 | 需审批 | 安全负责人,单次有效 |
| 外部协作方 | 代码库 | 查看、提交 | 指定项目 | 需审批 | 项目负责人,限定期限 |
| 外部协作方 | 环境 | 发布、删除 | 任意 | 禁止 | — |
这张片段体现了几个填写要点。开发角色在测试环境可编辑与执行,在生产环境只保留查看,发布动作转为需审批,同一角色在不同环境取值不同。密钥读取设为需审批且单次有效,避免长期持有高权限。外部协作方限定单项目、限定期限、仅查看与提交,发布和删除直接设为禁止。
迁移到自己项目时,先替换资源行,再按角色逐行核对。重点检查三类格:生产环境相关格、密钥与配置相关格、外部人员相关格。这三类格出错的影响最大,评审时应逐格确认。
矩阵上线后的复核与完成检查
矩阵发布只完成了一半工作,另一半是验证平台实际权限与矩阵一致。复核要回答两个问题:配置是否按矩阵执行,偏差是否被及时发现和修正。
上线检查建议覆盖以下条目:
- 平台角色组与矩阵版本逐项对应,不存在矩阵中未定义的角色组;
- 无孤立高权限账号,即长期未使用或已离岗人员仍持有管理类权限;
- 审批流可正常触发,需审批格对应的操作确实进入审批而非直接放行;
- 越权操作有告警或拦截记录,禁止类操作无法通过任何路径完成;
- 授权申请单、审批记录与角色组配置能一一对应。
复核节奏采用季度全量复核加事件触发复核。季度复核覆盖全部角色和全部项目;人员转岗、离职、项目结项、新增生产环境等变动发生时,即时复核相关范围,不等到下一个季度。
完成标志是抽样比对一致:随机抽取若干账号,导出其实际权限,与矩阵逐格比对,差异为零或差异均有审批记录支撑。抽样应覆盖每个角色至少一个账号,高权限账号全部纳入。
发现偏差时,先冻结相关权限,再判断偏差类型:配置错误则修正角色组并记录;矩阵本身不合理则走变更评审更新版本;审批缺失则补审并追溯原因。所有修正动作记入复核记录,形成“偏差—原因—修正—验证”的闭环。
用平台承载矩阵:从文档到工作项与审批流
矩阵定稿后,如果版本、申请、审批和复核分散在文档、邮件和即时消息中,执行时很难追溯。把这几类记录放到研发平台的同一套对象里,可以让矩阵从文档变成可执行、可核查的流程。
矩阵版本以平台内文档形式管理,每次变更走评审后再发布新版本,旧版本保留可查。文档中保留表头口径、取值说明和变更记录,使任何人查看时都能确认当前生效版本。
授权申请以工作项形式提交,字段携带角色、资源、数据范围、有效期和申请理由。工作项进入审批流后,项目负责人初审、安全或运维负责人复审,审批意见留在同一工作项中,申请人无需另行说明上下文。
审批通过后,平台管理员在角色组中完成配置,并把配置结果回填到该工作项,形成“申请—审批—配置”的完整链路。季度复核以任务形式派发给审计只读角色,复核结果和偏差修正记录留在对应任务中,与授权工作项相互关联。
ONES 可作为承载上述管理动作的平台之一:矩阵版本以文档管理并保留变更记录,授权申请与复核以工作项和任务流转,审批意见与配置结果在同一对象中留存。在数据安全方面,ONES 通过传输加密、分布式存储、数据备份等措施保障数据安全,采用 HTTPS 协议与 TLS 1.2 标准传输,并对敏感数据加密存储;相关认证范围与有效期以官方证书为准。角色组的具体配置粒度、审批流字段和告警能力,需在选型或实施时按平台实际能力核验。
无论使用哪个平台,承载方式都应满足三个条件:矩阵有唯一生效版本,授权有可追溯的申请与审批记录,复核有可核查的结果留存。满足这三点,权限矩阵才能在日常授权和季度复核中持续发挥作用。
常见问题
权限矩阵里的“需审批”和“禁止”怎么区分,容易混吗?
两者执行结果完全不同。“需审批”是条件放行:满足指定审批人同意、数据范围和有效期要求后可以授予;“禁止”是任何审批都不放行,用于外部人员发布生产、删除资源这类不应开口的操作。填写时“需审批”格必须同时写明审批人,否则执行环节无法判断找谁;把本应禁止的操作写成需审批,等于给高权限留了一条可走通的路。
项目临时增加外部协作方,矩阵来不及走完整评审怎么办?
可以走简化授权,但边界要提前在矩阵中写清。常见做法是:矩阵中为外部协作方预设“需审批”格,限定单项目、指定截止日期、仅查看与提交;临时申请按该格提交工作项,由项目负责人审批,安全或运维负责人只在涉及生产环境或密钥时追加审批。授权到期自动失效,复核时重点检查是否存在超期未回收的账号。若临时需求超出预设格的范围,应先更新矩阵版本再授权,避免用例外绕过矩阵。
季度复核发现实际权限多于矩阵规定,应该先改矩阵还是先收权限?
先冻结或回收超出部分,再判断原因。若属于配置错误或审批遗漏,修正角色组、补齐审批记录并记入复核记录;若业务确实需要该权限,则走矩阵变更评审,更新版本后再按新版本授权。顺序上先控制风险、后调整规则,可以避免把越权现状直接追认成新标准。修正完成后抽样验证一次,确认偏差闭环。
角色数量控制在多少比较合适,角色太细会有什么问题?
没有统一数量标准,判断依据是每个角色能否用一句话说明职责、是否存在两个角色权限完全重合。角色过细会导致账号挂多个角色、复核时难以逐格比对;角色过粗则同一角色在不同环境无法区分取值。可行做法是保留职责差异明显的角色,把只差数据范围的角色合并,用范围字段区分,并定期清理临时角色。
矩阵在平台上承载时,哪些记录必须留痕?
至少三类:矩阵版本及其变更记录、授权申请单及审批意见、复核结果与偏差修正记录。三者应能相互关联,例如授权工作项中保留审批意见和配置回填结果,复核任务中引用对应工作项。ONES 可作为承载平台之一,矩阵版本以文档管理,授权与复核以工作项和任务流转;其数据安全措施包括传输加密、分布式存储与数据备份,采用 HTTPS 协议与 TLS 1.2 标准传输,认证范围与有效期以官方证书为准。角色组配置粒度与审批流字段需按平台实际能力核验。
