惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
P
Privacy International News Feed
L
LINUX DO - 热门话题
C
Cisco Blogs
T
Tor Project blog
AWS News Blog
AWS News Blog
K
Kaspersky official blog
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
Attack and Defense Labs
Attack and Defense Labs
Latest news
Latest news
The Last Watchdog
The Last Watchdog
Apple Machine Learning Research
Apple Machine Learning Research
Simon Willison's Weblog
Simon Willison's Weblog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cloudbric
Cloudbric
Last Week in AI
Last Week in AI
S
Security Affairs
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
有赞技术团队
有赞技术团队
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
P
Palo Alto Networks Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
V
V2EX
S
Secure Thoughts
人人都是产品经理
人人都是产品经理
月光博客
月光博客
博客园_首页
T
Troy Hunt's Blog
爱范儿
爱范儿
N
News and Events Feed by Topic
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost

博客园 - 悠哉大斌

AI Agent 安全沙箱技术对比:E2B、Cube Sandbox 与 Docker Sandboxes linux 升级 claude code的坑 debian(WSL) apt 代理配置 linux内核之Namespaces、Cgroups、Capabilities、Seccomp和Landlock 大语言模型推理中的隐藏瓶颈及其解决方法 Docker Sandboxes 技术是什么,和docker容器有什么区别 什么是 Docker Agent以及一个Docker Agent示例 windows wsl 安装 Temurin® JDK claude Code 和 codex 作为编程代理,前者使用typescript开发,后者使用rust,他们的决策依据是什么 Java 并发编程发展史与 java.util.concurrent 全景解析 LLM 真的改变了编码风格吗? 如果人工智能会犯错且不精确,为什么它正在改变世界? Python 的协程模型和 JavaScript 的 async/await python闭包和function.__closure__特殊属性 python 的 dunder name和 sunder name 基于nodejs设计REST API的知名开源框架 windows上使用node-oracledb Thick 模式连接 Oracle 11g Claude Code CLI连接 DeepSeek V4模型后调用报400错误 python里对象(object)到底是什么 Python 泛型演变史 Python 类型别名的演变 Python 类型提示的演变史 PEP 593 新增的Annotated 类型 Alibaba AgentScope 和 microsoft agent framework 详细对比分析 spring AI Alibaba Agent Framework 和 agentscope有什么区别和联系 AI Agent协作模式以及主流开源框架对协作模式的支持 Tailscale 是如何接管 DNS 的? Agent = Model + Harness 使用rust编写typescript编译器的难点在什么地方,哪些数据结构是rust不擅长的? TypeScript/JavaScript 中的异步迭代语句 js中的生成器函数 Tailscale Serve and Funnel openclaw gateway的网络绑定模式 websocket协议和http协议有何依赖关系? MCP通信的双方是谁? claude code MCP 安装范围 如何在wsl2环境下给claude code cli 配置 playwright-mcp wsl的网络模式有哪几种,有哪些区别? AI Agent memory是什么? ai agent skills是什么? Go测试生态系统工具与最佳实践深度调研(聚焦认证授权系统) 线性代数中常见矩阵类型的概念关系思维导图
三种主流授权策略
悠哉大斌 · 2026-01-05 · via 博客园 - 悠哉大斌

三种主流授权策略的各自特点、优缺点和对比:
基于角色的访问控制Role-Based Access Control (RBAC)
基于属性访问控制Attribute-Based Access Control (ABAC)
访问控制列表Access Control List (ACL)


1. Access Control List (ACL) – 访问控制列表

概述

ACL 是一种以资源为中心的访问控制机制。每个受保护资源(如文件、数据库记录)都附带一个列表,明确列出哪些主体(用户、组)可以执行哪些操作(读、写、删除等)。

特点

  • 细粒度:可针对每个资源单独设置权限。
  • 直观:与 Unix/Linux 文件权限模型类似(如 chmod)。
  • 主体通常是用户或用户组。

优点

  • 实现简单,概念清晰。
  • 适合静态、资源数量有限的场景(如文件系统、小型应用)。

缺点

  • 不易扩展:当用户或资源数量庞大时,管理开销剧增。
  • 缺乏上下文:无法基于环境、时间、设备等动态条件做判断。
  • 权限分散:权限分散在各个资源上,难以全局审计或批量修改。

2. Role-Based Access Control (RBAC) – 基于角色的访问控制

概述

RBAC 是以角色为中心的模型。权限分配给角色,用户通过被赋予一个或多个角色间接获得权限。

特点

  • 三层结构:用户 ↔ 角色 ↔ 权限。
  • 支持角色继承、角色互斥(如“会计”和“审计”不能由同一人担任)。
  • NIST 标准(如 RBAC0–RBAC3)定义了不同复杂度等级。

优点

  • 管理高效:通过角色批量分配权限,降低管理成本。
  • 符合组织结构:天然映射企业中的岗位职责(如“管理员”、“编辑”)。
  • 易于审计和合规(如 GDPR、HIPAA)。

缺点

  • 灵活性不足:难以处理临时权限、跨角色组合或细粒度上下文条件(如“仅在工作时间访问”)。
  • 角色爆炸问题:为满足特殊需求不断创建新角色,导致角色数量失控。

3. Attribute-Based Access Control (ABAC) – 基于属性的访问控制

概述

ABAC 是一种策略驱动的动态授权模型。访问决策基于主体、资源、环境、操作等多维属性的逻辑规则(通常用策略语言如 XACML 表达)。

特点

  • 四类属性:
    • 主体属性(如部门、安全等级)
    • 资源属性(如文档密级、所属项目)
    • 环境属性(如时间、IP 地址、设备类型)
    • 操作属性(如读、写)
  • 决策由策略引擎实时计算。

优点

  • 高度灵活与动态:支持复杂、上下文感知的授权逻辑。
  • 细粒度控制:可实现“某部门员工只能在工作时间访问本部门的非机密文档”这类规则。
  • 适合云原生、多租户、零信任架构等现代场景。

缺点

  • 复杂度高:策略编写、调试、测试成本高。
  • 性能开销:每次请求需实时评估策略,可能影响延迟。
  • 工具链不成熟:相比 RBAC,ABAC 的标准化和工具支持仍在发展中。

对比总结

维度 ACL RBAC ABAC
控制粒度 资源级(较细) 角色级(较粗) 属性级(非常细)
管理复杂度 低(小规模)→ 高(大规模) 中(角色管理) 高(策略编写)
动态性 静态 静态(角色固定) 动态(实时决策)
上下文感知 有限
适用场景 文件系统、嵌入式系统 企业应用、SaaS 后台 云平台、政府、金融、零信任
标准化 广泛支持(如 POSIX) NIST 标准成熟 XACML、ALFA 等,但生态较新

实际建议

  • 小型系统或资源导向型应用(如 CMS、文档库)→ ACL
  • 中大型企业系统,角色清晰(如 ERP、HR 系统)→ RBAC
  • 需要动态、上下文敏感策略的系统(如多租户 SaaS、微服务 API 网关)→ ABAC,或 RBAC + ABAC 混合模型(如用 RBAC 管理基础权限,ABAC 处理例外规则)

现代系统(如 AWS IAM、Azure AD)往往采用 策略+角色 的混合授权模型,兼顾管理效率与灵活性。