目录
权限管理的原则
常见的权限管理模型
总结
对企业而言,最重要的一个资源就是有价值的专有信息,也就是自己知道,而其他企业不知道的信息,因此,专有信息是企业的重要竞争力,权限管理的价值体现在专有信息的另个特点:专有信息价值的独占性和专有信息价值的时效性。
权限管理是系统设计必不可少的部分;好的权限管理能够有效提高系统的安全性,降低误操作,恶意破坏的风险,那么权限管理要遵循怎样的原则呢?
权限管理的原则
权限管理的核心只有一句话:员工获得的信息范围和细节程度,只要保证该员工职责的有效执行和落地即可;即最小特权原则
权限管理层级划分和逻辑权限管理分类
物理层级:办公场所、房间的权限,是否有访问某些档案的权限
逻辑层级:在信息网络、计算机上去访问数据的权限
功能权限管理分为3个颗粒度:模块级别、页面级别和接口级别
模块级别:由多个页面、接口功能组成,例如OA系统中,可以创建报销、发票等不同的流程
页面级别:每个页面会完成一项独立的任务;例如:查看报销流程申请进度的页面
接口级别:根据软件设计原则,一个接口仅完成一项任务,可以分为"增删改查"等4种不同的功能
常见的权限管理模型
访问控制列表ACL------Access Control List
|------------------------------------------------|------------------------------------|
| ACL模型是对每个资源分配一个列表,列表记录用户的访问权限 系统根据列表确定用户能否执行操作 | 最常使用在计算机网络中,路由器基于源ip地址进行过滤等 |
| 优点:实现简单 只需要一张列表,就可以记录每个用户对资源的访问权限 | 缺点:管理困难 难以规模化,资源数量增多,难以查询某个用户的所有权限 |
强制访问控制MAC------Mandatory Access Control
|------------------------------------------|----------------------------------------------------------------------------------------|
| 系统对用户和访问资源都标记安全等级,低安全等级的用户无法访问高安全等级的资源 | 使用场景一般是需要高等级保密的场所,如政府机构部门、军队等 在windows2008版本使用了MAC模型,系统中设置了5个安全等级 低等级,中等级,高等级,系统级,可信任级 |
| 优点:最为安全的一种保密措施,中心化的信息保密,数据等级只能由唯一的根管理员操作 | 缺点:维护成本高,需要定期维护数据等级;灵活性低,不利于组织协作,只能有一个管理员权限 |
自主访问控制模型DAC------Discretionary Access Control
|---------------------------------------------------|--------------------------------------------------------------------------------------|
| 用户对自身创建的资源拥有全部权限 拥有权限的用户,可以将该权限,授予其他用户,也可以收回授予的权限 | 使用场景:用户有权对所创建的对象进行访问 常用于文档系统的权限设计,例如微软的NTFS文件系统 在线文档的权限管理也常用DAC模型,大多在线文档都可以设置只读和编辑权限 |
| 优点:用户体验友好,符合人们的思维习惯;便于协作,可以传递权限给别的用户 | 缺点:安全最低的模型,数据容易泄露都按组织以外的人员;数据无法追溯,去中心的权限管理方式,无法记录数据使用历史;权限过于分散,不便于管理 |
角色访问控制模型RBAC------Role-based Access Control
|-----------------------------------------------------------------------------|-----------------------------------------------------------------------|
| 基于组织中角色进行权限管理 不同角色赋予不同的访问权限 凡是存在角色分工的场景都可以使用,是目前使用最为广泛的模型 | 在windows系统中,用户组是典型的RBAC模型实现的 互联网公司常用的confluence wiki系统,退户权限也是基于RBAC实现 |
| 优点:灵活性高,通过管理角色来管理权限,仅修改角色权限记录;安全度适中,角色管理可以防止富裕用户多余权限,符合权限管理原则。较好的平衡了安全性和灵活性 | 缺点:搭建成本高,需要根据组织的角色进行权限设置;不试用临时授权;容易忘记临时授权操作,造成操作隐患 |
基于属性的访问控制模型ABAC------Attribute-based Access Control
|-------------------------------------------------------------------------------------------|---------------------------------------------|
| 被认为是下一代访问控制模型 访问用户与资源的关系是复杂的,可能基于多种不同的环境因素 基于多种不同环境属性,例如IP地址、时间、数据与访问者关系等,来决定是否允许操作 | AWS亚马逊云服务的权限管理实现了ABAC的权限访问呢 |
| 优点:控制维度比较多,相比较RBAC,可以通过属性的方式添加控制维度;例如临时访客,可以增加时间标签,过期后自动销毁访问权限;安全程度高于RBAC;添加规则简单,创建新的属性即可 | 缺点:相比成本更高,相比于RBAC,需要定义的属性数量更多,工作量更大,不适用小型组织 |
总结:
|------|-------------------------------------|--------------------|
| 模型名 | 模型介绍 | 通用场景 |
| ACL | 用户、资源、操作权限三个要素 | 资源数量较少 |
| MAC | 对用户和资源设定安全等级,系统通过安全等级判断用户能否操作资源 | 资源高度敏感 |
| DAC | 资源的创作者拥有权限,并对其他用户授予或者收回权限 | 资源安全性较低,强调资源的协作性 |
| RBAC | 用户、角色、权限三要素,通过用户与角色、角色于权限来决定资源的权限管理 | 适用于灵活性、安全性都相对较高的场景 |
| ABAC | 系统根据属性判定是否有权限操作资源,属性来自于用户、资源、环境、政策等 | 基于属性的智能判断场景 |