一般我们认为在系统内, 使用者通过一个非法的操作, 让自己的可操作范围变大的行为就是越权。
越权又分为:
/admin/deleteUser)鉴权系统就是为了解决上述的越权问题, 一般的鉴权系统分为两种模型: RBAC 和 ABAC
核心思想:
组成概念:
要素 | 说明 |
|---|---|
User | 用户,系统的使用者 |
Role | 角色, 权限的逻辑分组 |
Permission | 权限,具体对资源的操作 |
核心思想:
组成概念:
要素 | 说明 |
|---|---|
User Attributes | 当前访问的用户的特征, 如部门=研发, 职位=后端 |
Resource Attributes | 资源的特征,如云产品=CVM |
Environment Attributes | 访问请求发生时的上下文信息, 如ip=192.xx. |
Action Attributes | 用户请求的操作属性,如读、写 |
在 ABAC模型 的决策语句的执行过程中,决策引擎会根据定义好的决策语句,结合对象、资源、操作、环境等因素动态计算出决策结果。每当发生访问请求时,ABAC模型 决策系统都会分析属性值是否与已建立的策略匹配。如果有匹配的策略,访问请求就会被通过。
相比于 RBAC, ABAC 更加灵活, 各种云厂商的鉴权(IDaaS Identity as a Service)也是采取了ABAC 的模型