组织架构模型:
定义:
组织架构模型是用于描绘一个组织内部结构和角色的工具。
元素:
组织架构模型通常包括各种等级、部门、角色和职责,以及这些元素之间的关系。
解决的问题:
组织架构模型主要用于解决管理和协调问题。通过明确各个角色的职责和关系,这种模型可以帮助组织确保各项工作得到有效分配和协调,避免混乱和冲突。同时,它也可以帮助组织进行规划和决策,例如决定资源分配或者进行改革。
存在的不足:
首先,组织架构模型可能过于简化,无法完全反映组织的复杂性
其次,组织架构模型可能过于静态,无法适应快速变化的环境
最后,组织架构模型可能过于关注结构,忽视了人的因素,例如员工的能力和动机
常见的组织架构模型:
- 层级式架构:这是最传统的组织架构模型,也被称为金字塔结构。在这种模型中,最高级的领导者位于顶部,下面是中级管理人员,再下- 面是基层员工。这种模型的优点是清晰的权威和责任链,缺点是可能阻碍信息流动和灵活性。
- 平坦式架构:这种组织架构模型去掉了许多中间管理层级,以增加公司的灵活性和员工的自主性。这种模型的优点是提高了员工的积极性和创新性,缺点是可能导致责任不明确和决策困难。
- 矩阵式架构:这种组织架构模型将员工根据功能和产品线两个维度进行组织。这意味着一个员工可能同时向两个经理报告,一个是基于功能的,另一个是基于产品线的。这种模型的优点是更好的资源利用和更强的跨功能合作,缺点是可能导致角色冲突和通信复杂。
- 网络式架构:这种组织架构模型更多地依赖于外包和合作伙伴关系,将某些功能或项目外包给外部组织。这种模型的优点是灵活性和扩展性,缺点是可能导致控制力下降和质量问题。
- 团队式架构:这种模型将组织分成一个个自我管理的团队,每个团队都有特定的目标和责任。这种模型的优点是提高了团队协作和响应速度,缺点是可能导致资源重复和团队间的隔阂。
系统权限模型:
定义:
系统权限模型是用来管理和控制用户在系统中的访问权限的模型。
解决的问题:
谁能够 / 不能够对哪些资源做哪些操作(Who is able to do what on something given some context)
常见的权限模型:
- 权限控制列表(ACL,Access Control List)
ACL 权限模型是比较简单的一种模型,用来判断用户是否可以对资源做特定的操作
在 ACL 权限模型下,权限管理是围绕资源 Object 来设定的
例子:允许 Colin 创建文章
Subject: Colin
Action: Create
Object: Article
- 自主访问控制(DAC,Discretionary Access Control)
DAC 是 ACL 的扩展模型,灵活性更强
使用这种模型,不仅可以判断 Subject 是否可以对 Object 做 Action 操作,同时也能让 Subject 将 Object、Action 的相同权限授权给其他的 Subject
例子:Colin 可以创建文章,即 Colin 可以将创建文章的权限发放给 James
- 强制访问控制(MAC,Mandatory Access Control)
MAC 是 ACL 的扩展模型,安全性更高,MAC 权限模型下,Subject 和 Object 同时具有安全属性。
在做授权时,需要同时满足两点才能授权通过:Subject 可以对 Object 做 Action 操作。Object 可以被 Subject 做 Action 操作。
例子:允许 Colin 创建文章,文章可以被 Colin 创建
Subject: Colin
Action: Crea
Object: Article
Subject: Article
Action: Create
Object: Colin
- 基于角色的访问控制(RBAC,Role-Based Access Control)
引入了 Role(角色)的概念,并且将权限与角色进行关联。用户通过扮演某种角色,具有该角色的所有权限。
- 基于属性的权限验证(ABAC,Attribute-Based Access Control)
ABAC 定了哪些属性的用户可以对哪些属性的资源在哪些限制条件下进行哪些操作,跟 RBAC 相比,ABAC 对权限的控制粒度更细,
ABAC 规定了下面这四类属性:
用户属性,例如性别、年龄、工作等。
资源属性,例如创建时间、所属位置等。
操作属性,例如创建、修改等。
环境属性,例如来源 IP、当前时间等。
例子:产品部门的 Colin 作为一个 Writer 角色,可以通过来源 IP 是 10.0.0.10 的客户端,创建和更新带有 technology 和 software 标签的草稿文章