访问控制 RBAC / ABAC 总览待审核
who · subject + 属性

who:身份只是开头,真正进规则的是属性

who 不只是一个用户名。它是一个 subject (principal),携带一组属性: roledeptclearance (密级)、employed (是否在职)…… RBAC 只读取其中一个 —— role;ABAC任意属性都能写进规则。 下面将动作和资源固定,只改动 who,观察决策如何随属性逆转。

action (固定)
update
what (固定)
营销文案 #42
owner=u-bob · L1 内部

挑一个 subject (会载入它的默认属性,可再改)

逐个拨动 who 的属性

role
dept
clearance
employed

policy 规则 (亮 = 命中当前请求;高亮 = 决定性规则)

决策 (deny-overrides)

RBAC 看不见的东西:把 subject 的 role 固定不动,只改 clearanceemployed —— 决策照样逆转。这正是 ABAC 超出 RBAC 之处:两个 role 完全相同的人, 因为其它属性不同,得到不同结论。RBAC 里这是做不到的 (它只读取 role)。 注意 r-owner 这条:它比较的是 resource.owner === subject.id —— 把「人」和「物」用一条关系连起来 (「这是不是你的东西」)。选中 Bob 时它会亮 (文案归 Bob)。 这条线索会在 04-what 页继续展开,也是 ReBAC 的种子。