访问控制安全模型
翻译
原文:https://portswigger.net/web-security/access-control/security-models
- name: 翻译
desc: 原文:https://portswigger.net/web-security/access-control/security-models
bgColor: '#F0DFB1'
textColor: 'green'
2
3
4
# 访问控制安全模型
在本节中,我们将解释什么是访问控制安全模型,并介绍最常见的模型。
# 1什么是访问控制安全模型?
访问控制安全模型 是一组访问控制规则的正式定义,它独立于技术或实现平台。访问控制安全模型 在操作系统、网络、数据库管理系统 以及 后台、应用程序和 Web 服务器软件中实施。多年来,已经设计了各种访问控制安全模型,以便将访问控制策略与 业务/组织规则以及技术变化 相匹配。
# 2程序访问控制
通过编程访问控制,将 用户权限矩阵 存储在数据库或类似的事物中,访问控制将引用此矩阵,并以程序化的方式将其应用于程序当中。这种访问控制方法,可以包括 角色/组/个人用户、进程的集合或工作流,并且可以是高度精细的。
# 3自主访问控制(DAC)
通过自主访问控制,根据用户或命名的用户组,对资源或功能的访问进行约束。资源或功能的所有者可以向用户 分配或委派 访问权限。此模型是高度精细的,它可以定义 单个资源/功能/用户 的访问权限。因此,模型的设计和管理可能会变得非常复杂。
# 4强制访问控制(MAC)
强制访问控制 是一种集中控制的访问控制系统,其中,它限制某个主体 对 某些对象(文件或其他资源)的访问。值得注意的是,与 DAC 不同,资源的所有者无法 委派或修改 其资源的访问权限。这种模式通常与基于许可的军事系统相关联。
# 5基于角色的访问控制(RBAC)
通过基于角色的访问控制,可以定义指定的角色,并将访问权限分配给这些角色,然后将用户划分到单个/多个角色。RBAC 提供了比其他访问控制模型 更强的管理能力以及足够的细粒度,如果设计得当,它可以在复杂的应用程序中 提供可管理的访问控制。
例如,“采购员” 可能被定义为一种角色,该角色具有 采购账本功能 以及 相关资源的访问权限。当员工加入组织时,访问控制管理会将该员工定义为 “采购员” 角色的成员身份。当员工离开组织时,撤销其角色身份。
当有足够的角色来正确地调用访问控制,但又不至于使模型过于复杂和难以管理时,RBAC 是最有效的。