RBAC 与 ABAC
访问控制模型
RBAC 与 ABAC 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
访问控制模型
访问控制模型定义了如何决定权限。最广泛使用的两种模型是RBAC和ABAC。
选择合适的模型会影响权限的可扩展性和灵活性。
RBAC 基础
基于角色的访问控制(RBAC)将权限授予角色,然后再将用户分配到角色。
用户会继承其角色的全部权限。您可以通过管理角色成员关系来管理访问权限。
RBAC 示例
请考虑 editor 和 viewer 这样的角色:
- editor:读取和写入文档
- viewer:仅能读取
将 editor 角色分配给 Alice 后,她会自动获得这两项权限。
role: editor
permissions: [doc.read, doc.write]
user: alice -> role: editorRBAC 的优势
RBAC 很受欢迎,因为它:
- 易于理解和审计。
- 适合拥有相似需求的大量用户,具备良好的可扩展性。
- 便于检查(谁拥有哪个角色)。
RBAC 的弱点:角色爆炸
当访问权限取决于许多细粒度条件时,您最终会创建出无穷无尽的角色,例如 editor_finance_emea_temp。
这种角色爆炸使 RBAC 难以大规模管理。
ABAC 基础
基于属性的访问控制(ABAC)使用由策略规则评估的属性来决定访问权限。
属性描述用户、资源、操作和环境。
ABAC 示例
ABAC 策略可以表达丰富的规则,而不需要创建专用角色。
ALLOW read IF user.department == resource.department
AND user.clearance >= resource.sensitivity
AND env.time BETWEEN 09:00 AND 18:00ABAC 的优势
ABAC 提供:
- 细粒度且能感知上下文的决策。
- 不会产生角色爆炸;一项策略可以覆盖许多情况。
- 时间、位置和设备等动态因素。
ABAC 的弱点
ABAC 以简单性换取能力:
- 策略可能变得复杂且难以审计。
- 需要干净、可信的属性数据。
- 难以一眼回答“谁可以访问 X”。
两者结合
许多系统采用混合方式:使用 RBAC 进行粗粒度控制,使用 ABAC 处理细粒度条件。
例如,角色授予基础访问权限,属性规则再根据区域或时间进一步限制权限。
选择模型
经验法则:
- 当访问权限与岗位职能清晰对应时,使用 RBAC。
- 当决策取决于上下文或经常变化时,使用 ABAC。
- 将两者结合起来,兼顾各自的优势。
快速检查
某组织不断创建类似 editor_finance_emea_contractor 的角色,以处理每种组合。哪种模型可以减少这一问题?
总结
您比较了 RBAC 和 ABAC。
- RBAC:简单、由角色驱动,但容易出现角色爆炸。
- ABAC:灵活、由属性驱动,但审计更加复杂。
- 混合方式可以结合两者的优势。
接下来,我们将探讨单点登录与联合身份认证。
用 AI 导师学习 Cyber Security Academy — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 76
- 课程
- 303
常见问题解答
「RBAC 与 ABAC」课时是免费的吗?
是的 — 「RBAC 与 ABAC」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「RBAC 与 ABAC」这节课中我会学到什么?
访问控制模型 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「RBAC 与 ABAC」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。