XACML标准中针对权限相关概念的说明
1.Subject - 主体。就是权限中执行操作Action的实体,可以是登录用户,进程或其他东西
2.Resource - 资源。Subject要访问的数据,服务或系统组件,在应用系统中,一般是业务数,比如员工,订单等
3.Action - Subject对Resource的具体操作,比如增加,删除,修改,查看,审核,预订等
4.Police - 授权策略。即Subject-Action-Resource的组合。 定义什么样的主体能对什么样的资源执行什么操作。比如:销售人员(Subject)只能查看(Action)自己的客户信息(Resource)。
权限从概念上看很确实不复杂,其核心就是对授权策略Police的定义,不过在实现具体权限需求时,特别是细粒度权限,往往要求Subject和Resource满足特定的条件,这时权限逻辑就会变得复杂了。比如:
1.Police - 入职不满3个月的销售人员不允许修改客户资料。这里“入职3个月”就是对Subject销售人员的进一步限制
2.Police - 初级合同审核员只能审核10000元以下合同。这里“10000元以下”就是对Resource合同的进一步限制
1.Subject - 主体。就是权限中执行操作Action的实体,可以是登录用户,进程或其他东西
2.Resource - 资源。Subject要访问的数据,服务或系统组件,在应用系统中,一般是业务数,比如员工,订单等
3.Action - Subject对Resource的具体操作,比如增加,删除,修改,查看,审核,预订等
4.Police - 授权策略。即Subject-Action-Resource的组合。 定义什么样的主体能对什么样的资源执行什么操作。比如:销售人员(Subject)只能查看(Action)自己的客户信息(Resource)。
权限从概念上看很确实不复杂,其核心就是对授权策略Police的定义,不过在实现具体权限需求时,特别是细粒度权限,往往要求Subject和Resource满足特定的条件,这时权限逻辑就会变得复杂了。比如:
1.Police - 入职不满3个月的销售人员不允许修改客户资料。这里“入职3个月”就是对Subject销售人员的进一步限制
2.Police - 初级合同审核员只能审核10000元以下合同。这里“10000元以下”就是对Resource合同的进一步限制