RBAC是一种基于角色实现访问控制的权限管理机制,通过定义角色和权限、用户和角色、角色和角色之间的关系,实现多层次、细粒度、可复用的权限管理系统。原文: Role-based Access Control (RBAC) Model[1]
Avery Pennarun写的"RBAC like it was meant to be[2]非常值得一读。
在web或移动应用中,访问权限控制机制是保证系统安全[3]的重要手段,其中最常见的就是基于角色的访问控制(RBAC, Role-based Access Control)。
基于角色的访问控制是传统访问控制(自主访问[4]、强制访问[5])的一种有前途的替代方案。在RBAC模式下,权限与角色相关联,从而大大简化了对权限的管理。组织为了完成各种任务,从而创建了角色,用户根据职责和技能被分配到相应的角色,也可以从一个角色分配到另一个角色。新角色可以根据新需求和系统集成赋予新的权限,也可以从角色中撤回权限。可以建立角色-角色关系来包含更广泛的客观情况。
User -> Role -> Permissions -> resources
NIST RBAC96模型是由美国国家标准与技术研究院[19]开发的标准化RBAC定义。
4个基本概念模型:
RBAC授权的过程可以抽象为:
StackOverflow的Q/A帖子"如何设计基于角色的分层访问控制系统[20]"是一个很好的例子,值得一读。
History-based access control[21]
Pattern-Oriented Software Architecture - Access control pattern[22]
Role-Based Access Control | CSRC[23]
Role-Based Access Control - Wikipedia[24]
What is Role-Based Access Control (RBAC)? Example, Benefits, and More[25]
What is Role-Based Access Control | RBAC vs ACL vs ABAC | Imperva[26]
Using RBAC Authorization[27]
What is Azure role-based access control (Azure RBAC)?[28]
Role-Based Access Control[29]
RBAC vs ABAC: Make the Right Call | OneLogin[30]
Understanding Role-Based Access Control (RBAC) | StrongDM[31]
What is Role-Based Access Control (RBAC)?[32]
What is Role-Based Access Control (RBAC)?[33]
Role-Based Access Control (RBAC) User Guide | Chronicle Security | Google Cloud[34]
What is Role-Based Access Control (RBAC)? A Complete Guide | Frontegg[35]
Role-Based Access Control (RBAC): What is it and why use it? | Harness[36]
What is Role-Based Access Control (RBAC)? | Tools4ever[37]
你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind
Role-based Access Control (RBAC) Model: https://medium.com/geekculture/role-based-access-control-rbac-model-7d8e7b7350d2
[2]RBAC like it was meant to be: https://tailscale.com/blog/rbac-like-it-was-meant-to-be
[3]系统安全: https://twitter.com/jinlow_blogger/status/1580022558396936192
[4]自主访问: https://en.wikipedia.org/wiki/Discretionary_access_control
[5]强制访问: https://en.wikipedia.org/wiki/Mandatory_access_control
[6]Access Control List: https://en.wikipedia.org/wiki/Access-control_list
[7]Discretionary Access Control: https://en.wikipedia.org/wiki/Discretionary_access_control
[8]Mandatory Access Control: https://en.wikipedia.org/wiki/Mandatory_access_control
[9]Role-Based Access Control: https://en.wikipedia.org/wiki/Role-based_access_control
[10]Attribute-based Access Control: https://en.wikipedia.org/wiki/Attribute-based_access_control
[11]History-based Access Control: https://en.everybodywiki.com/History-based_access_control
[12]Identity-based Access Control: https://en.wikipedia.org/wiki/Identity-based_security
[13]Organization-based Access Control: https://en.wikipedia.org/wiki/Organisation-based_access_control
[14]Lattice-based access control: https://www.ibm.com/docs/en/db2/11.5?topic=security-label-based-access-control-lbac
[15]Context-based Access Control: https://en.wikipedia.org/wiki/Context-based_access_control
[16]Entity-Relationship-based Access Control: https://www.scaledaccess.com/whitepapers/the-developers-guide-to-relationship-based-access-control/#:~:text=Relationship%2Dbased%20access%20control%20is,specific%20relationships%20the%20subject%20has.
[17]Extended Role-Based Access Control: https://ucm.riskmanager.modulo.com/manual/en/default.htm#!Documents/extendedrolebasedaccesscontrolmodel.htm
[18]Semantic Access Control: https://en.wikipedia.org/wiki/Semantic_security
[19]美国国家标准与技术研究院: https://www.nist.gov
[20]如何设计基于角色的分层访问控制系统: https://stackoverflow.com/questions/16139712/how-to-design-a-hierarchical-role-based-access-control-system
[21]History-based access control: https://en.everybodywiki.com/History-based_access_control
[22]Pattern-Oriented Software Architecture - Access control pattern: https://transang.me/pattern-oriented-software-architecture-access-control-pattern/
[23]Role-Based Access Control | CSRC: https://csrc.nist.gov/projects/role-based-access-control
[24]Role-Based Access Control - Wikipedia: https://en.wikipedia.org/wiki/Role-based_access_control
[25]What is Role-Based Access Control (RBAC)? Example, Benefits, and More: https://digitalguardian.com/blog/what-role-based-access-control-rbac-examples-benefits-and-more
[26]What is Role-Based Access Control | RBAC vs ACL vs ABAC | Imperva: https://www.imperva.com/learn/data-security/role-based-access-control-rbac
[27]Using RBAC Authorization: https://kubernetes.io/docs/reference/access-authn-authz/rbac
[28]What is Azure role-based access control (Azure RBAC)?: https://learn.microsoft.com/en-us/azure/role-based-access-control/overview
[29]Role-Based Access Control: https://auth0.com/docs/manage-users/access-control/rbac
[30]RBAC vs ABAC: Make the Right Call | OneLogin: https://www.onelogin.com/learn/rbac-vs-abac
[31]Understanding Role-Based Access Control (RBAC) | StrongDM: https://www.strongdm.com/rbac
[32]What is Role-Based Access Control (RBAC)?: https://www.varonis.com/blog/role-based-access-control
[33]What is Role-Based Access Control (RBAC)?: https://www.okta.com/identity-101/what-is-role-based-access-control-rbac
[34]Role-Based Access Control (RBAC) User Guide | Chronicle Security | Google Cloud: https://cloud.google.com/chronicle/docs/administration/rbac
[35]What is Role-Based Access Control (RBAC)? A Complete Guide | Frontegg: https://frontegg.com/guides/rbac
[36]Role-Based Access Control (RBAC): What is it and why use it? | Harness: https://harness.io/blog/rbac
[37]What is Role-Based Access Control (RBAC)? | Tools4ever: https://www.tools4ever.com/glossary/what-is-role-based-access-control
本文由 mdnice 多平台发布