嗨,我需要一个可以拥有多个子资源的政策。策略基于 Resource,其中顶级资源为 Customer,对应的子资源为 1. firstname , 2. lastname
Customer --
-- 1. firstname
-- 2. lastname
如何使用 WSO2 身份服务器和 Axiomatics Alfa 插件来实现此策略,或者是否有任何其他方式来实现此策略。我需要一个政策结构和相同政策的请求。
您的问题不是技术问题,而仅仅是建模问题。您需要就您的资源是什么以及您的资源层次结构是什么达成一致。
我有时做的是有一个资源类型 == 客户记录(在你的情况下),然后是一个字段 ID == 名字。
我正在做的是引入 2 个属性来建模资源层次结构:
这是让事情顺利进行的一种简单方法。
编辑 - 示例政策:
policy documentAccess{
target clause resourceType=="document" and actionId=="view"
apply firstApplicable
rule viewSSN{
target clause fieldId=="ssn"
condition subjectId==assignedPerson
permit
}
rule viewBalance{
target clause fieldId=="balance"
condition subjectId==assignedPerson
permit
}
rule viewOtherFields{
target clause fieldSensitive == false
permit
}
}