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

推荐订阅源

Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
Help Net Security
Help Net Security
PCI Perspectives
PCI Perspectives
T
The Blog of Author Tim Ferriss
H
Heimdal Security Blog
The Register - Security
The Register - Security
Schneier on Security
Schneier on Security
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CERT Recently Published Vulnerability Notes
L
LangChain Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
美团技术团队
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog
C
Cybersecurity and Infrastructure Security Agency CISA
月光博客
月光博客
B
Blog RSS Feed
Cyberwarzone
Cyberwarzone
U
Unit 42
AWS News Blog
AWS News Blog
F
Fortinet All Blogs
L
LINUX DO - 最新话题
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
Attack and Defense Labs
Attack and Defense Labs
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
Y
Y Combinator Blog
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Recorded Future
Recorded Future
TaoSecurity Blog
TaoSecurity Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
M
MIT News - Artificial intelligence
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Hacker News: Front Page

博客园 - 悠哉大斌

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)往往采用 策略+角色 的混合授权模型,兼顾管理效率与灵活性。