权限管理

义项:计算机访问控制术语
权限管理

权限管理是计算机系统中围绕权限界定、授予、检查与回收而展开的一整套机制,其中权限指系统授予用户、进程或服务对文件、设备、数据库表等受保护资源执行特定操作的资格。它通过访问控制模型把安全策略转化为可执行规则,由操作系统内核或应用服务在每次访问时判定放行或拒绝,是保障数据保密性与完整性的基础环节。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

权限管理指在计算机系统中界定、分配、核查与收回访问权限的过程,其最小单位通常表达为主体、客体与操作的组合,例如某用户对某目录具有读取权限[1]。权限划定了允许行为与禁止行为之间的边界,操作系统、文件系统与应用程序都依靠它落实既定的安全策略[1]。在概念层面,认证负责确认主体身份,而权限管理关注的是身份确认之后能做什么,两者共同构成访问控制的完整链条[2]。

与权限管理密切相关的基本原则是最小权限原则,即每个用户或程序只应持有完成当前任务所必需的权利,权利按需增加、用后收回[2]。另一条原则是职责分离,要求敏感操作不能仅凭单一条件或单一主体即可完成,从而避免单点失守[2]。

原理

权限管理的核心是访问控制矩阵,它以主体为行、客体为列为每一格记录主体可施加的操作[1]。完整矩阵在大型系统中无法实际存储,于是衍生出两种表示:以客体为中心组织条目的访问控制表,为每个对象列出获准访问的主体及条件;以主体为中心的能力列表,则记录某一主体被授权访问哪些对象[1]。中文资料指出,以文件为中心建立权限表的做法实现简单,被大量个人计算机、服务器和主机采用[3]。

执行环节依赖参考监视器这一可信子系统,它对每一次访问请求进行拦截,并在放行前核对授权策略[1]。在 Unix 类操作系统中,内核在处理触及受保护资源的系统调用时强制检查权限,文件权限以属主、属组和其他用户三组位存放于文件元数据,每组各含读、写、执行标志[1]。由于纯软件约束可以被绕过,访问控制的强制必须从硬件层面开始:处理器区分用户态与内核态,运行在用户态的线程无权执行某些指令,也无权访问内核态页面[4]。

在策略与执行的分离上,常见的做法是设置策略决策点与策略执行点,后者把请求送交前者裁决,再依据返回结果决定放行或阻止[5]。以可扩展访问控制标记语言描述的策略由若干规则组成,每条规则带有允许或拒绝的效果属性,并可附带适用条件,当多条规则同时命中时需要借助组合算法确定最终结论[5]。

发展历程

1971 年,兰普森提出访问控制矩阵,为权限的形式化描述提供了基础模型[1]。1975 年,萨尔策与施罗德系统阐述了最小权限、完全中介、职责分离、开放设计等安全系统设计原则,这些原则此后长期影响权限体系的构建方式[1][2]。

早期实践中,自主访问控制与强制访问控制是两类主要思路。前者允许用户对自身创建的对象作出授权决定,并可把访问权转授他人或收回;后者由系统通过专门的安全管理员统一作出强制性判定,按既定规则决定谁能以何种方式访问哪个对象,创建者本人也可能失去访问资格[6]。强制访问控制较多用于多级安全场景,并通过安全标签对敏感信息分级,进而对主体与客体强制执行策略[3]。

20 世纪 90 年代出现了基于角色的访问控制,即在主体与客体之间引入角色,用户通过所担任的角色取得相应权限[7]。该模型由美国国家标准与技术研究院的费拉伊奥洛与库恩在 1992 年的论文中加以形式化,后经整合并于 2004 年成为 ANSI/INCITS 359 标准[8]。标准把模型划分为核心部分、角色分层部分以及带静态与动态职责分离约束的部分[8]。此后,基于属性的访问控制把主体、客体与环境的多项属性纳入判定,被认为粒度更细,但策略也更难调试[8]。

在标准制定之前,角色概念与分组机制常被混为一谈,而分组机制并不支持职责分离,对层次结构的支持也很有限,术语与定义的不一致一度延缓了该模型的推广[9]。

应用

操作系统层面,Linux 使用 ls -l 列出的权限串前 1 位表示文件类型,随后 9 位按属主、属组、其他用户各 3 位排列,读、写、执行分别对应数值 4、2、1,可用 chmod 以符号或数字方式调整,chown 与 chgrp 则分别改变所有者与所属组。当单一所有者与单一所属组不足以表达需求时,可用 setfacl 为特定用户或组追加条目,并用 getfacl 查看结果[10]。

数据库与云平台普遍采用角色化授权。以 Amazon Redshift 为例,权限先分配给角色,再把角色授予用户,授予与撤销都在角色级别完成,无需逐个对象调整;用户只能执行其角色所允许的任务[11]。在 Azure 中,配置方式是先选定一个定义了允许或拒绝操作的角色,再将其与用户、组或服务主体关联,并把作用范围限定到订阅、资源组或特定资源。

更大范围的应用还包括云身份与访问管理策略的执行、移动应用在运行时对传感器与位置数据申请权限、数据库的行级与列级安全,以及网页接口生态中的授权范围机制[1]。角色模型在医疗信息系统、企业内部管理与银行业务等角色划分清晰的场景中较为常见。

局限

访问控制只能约束被授权的操作,无法阻止获授权者本人作恶或出错。有权威资料明确说明,权限机制不能防止用户修改其本就有权修改的数据,哪怕改动是错误的,识别此类滥用需要依靠审计[12]。同一资料还指出,访问控制的效果受制于身份识别与认证环节,只能与认证过程一样可靠;同时逻辑访问控制依赖物理访问控制,能够接触机器的人可通过更换软件重启等方式绕过[12]。

引入较强的逻辑访问控制还会带来间接成本,主要表现为对用户工作效率的影响,以及因权限配置错误或变更导致用户无法及时取得工作所需信息[12]。在角色模型内部,角色设置过宽同样会从内部违背最小权限,因此需要把角色限制在必要范围并定期复核[13]。

角色模型自身的典型失效是角色膨胀:每当出现例外、项目、区域或租户就新建一个角色,最终角色数量超过用户数量,审计上难以回答谁拥有何种能力[13]。中文资料也指出,角色数量随系统复杂度上升而急剧增长,模型对需要特殊权限的用户缺乏灵活性,既不控制操作顺序,也不支持依据上下文动态调整。此外,针对单个对象的临时共享难以用角色表达,只能退回以客体为中心的条目,而静态角色也看不到异常时段、新设备等动态风险[13]。

经典角色模型以主体为中心构建,对客体与访问约束条件的安全特性考虑不足,面对高维度数据时需要把客体拆得过细,反而使权限系统难以维护,偏离减少授权复杂度的初衷[14]。属性的引入虽提升表达力,但若属性定义不一致,策略会比适合审计的状态更频繁变动,规则数量也随之增大[15]。

参见

  • 访问控制 —— 权限管理所服务的上位概念,限定主体可对客体施加的操作。

  • 访问控制表 —— 以客体为中心存放授权条目的经典实现形式。

  • 基于角色的访问控制 —— 在用户与权限之间引入角色中介的主流授权模型。

  • 最小权限原则 —— 权限授予范围应限于完成任务所必需。

  • 参考监视器 —— 拦截每次访问请求并核对策略的可信执行部件。

  • 身份认证 —— 在作出权限判定之前确认主体身份的环节。

参考资料

  1. Permission | IEEE Technology Navigator [引用日期2026-10-29]
  2. CS 5430: Principles [引用日期2026-10-29]
  3. 图文详情——科普中国资源服务 - [科普中国]-访问控制信息 [引用日期2026-10-29]
  4. computersecurity-lecture-notes-mt2014(PDF) [引用日期2026-10-29]
  5. Mouelhi10(PDF) [引用日期2026-10-29]
  6. [科普中国]-访问控制 [引用日期2026-10-29]
  7. MAC起初主要用于军方的应用中,并且常与DAC结合使用,主体只有通过了DAC与MAC的检查后,才能访问某个客体 [引用日期2026-10-29]
  8. Role-Based Access Control (RBAC) [引用日期2026-10-29]
  9. 20101219_rbac2_final_report(PDF) [引用日期2026-10-29]
  10. comptia.org 上的网页 [引用日期2026-10-29]
  11. 基于角色的访问控制(RBAC) [引用日期2026-10-29]
  12. Special Publication 800-12: Chapter SEVENTEEN [引用日期2026-10-29]
  13. back4app.com 上的网页 [引用日期2026-10-29]
  14. CN100458813C(PDF) [引用日期2026-10-29]
  15. core.ac.uk 上的 PDF 文件 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:43:14Z

历史版本

本条目引用的词条
最小权限原则 访问控制矩阵 访问控制表 角色 访问控制 基于角色的访问控制 参考监视器 身份认证