MASA Auth - 从用户的角度看整体设计
用户
在系统里,用户是一个核心概念。它代表了一个人的唯一身份标识,除了与角色、团队、组织架构等有关,甚至还会影响到在同一个界面不同的用户操作流程与显示内容都会发生变化,再复杂一点的话,或许在同一个系统内的一个用户进入到不同产品后的身份也会变化
在系统里,用户是一个核心概念。它代表了一个人的唯一身份标识,除了与角色、团队、组织架构等有关,甚至还会影响到在同一个界面不同的用户操作流程与显示内容都会发生变化,再复杂一点的话,或许在同一个系统内的一个用户进入到不同产品后的身份也会变化
AAAA即认证、授权、审计、账号(Authentication、Authorization、Audit、Account)。在安全领域我们绕不开的两个问题:
授权过程可靠:让第三方程序能够访问所需资源又不泄露用户数据,常用的多方授权协议主要有 OAuth2 和 SAML 2.0
授权结果可控:授权结果用于功能或资源的访问控制。常见的权限控制模型:DAC、MAC、RBAC、ABAC
想了解权限控制模型的话可以参照上一篇的权限设计
Subject:用户,用户组
Action:对Object的操作,如增删改查等
Object:权限作用的对象,也可以理解为资源
Effect:规则的作用,如允许,拒绝
Condition:生效条件
Permission:允许(拒绝)用户(用户组)在条件允许下对对象(资源)的动作
Role:权限集合,权限数量>=1