WSO2 Identity server GUI为策略和请求创建不同的属性id

WSO2 Identity server GUI为策略和请求创建不同的属性id,wso2,rbac,xacml,alfa,abac,Wso2,Rbac,Xacml,Alfa,Abac,我已经用Wso2 GUI创建了XACML plocies 我也使用了基本策略编辑器。我给出了以下参数 对于策略(在第一个选项卡中,我只给出了资源名称,其他字段保留为空): 资源名称: (在第二个选项卡中) 规则效力:许可证 用户:角色等于架构师 动作名称:is等于Read 因此,该策略是根据以下条件生成的: 建筑师 这里的属性id是:AttributeId=”http://wso2.org/claims/role" 现在,当我尝试使用Tryit工具测试此策略时,在GUI中传递参数, 正在从W

我已经用Wso2 GUI创建了XACML plocies

我也使用了基本策略编辑器。我给出了以下参数

对于策略(在第一个选项卡中,我只给出了资源名称,其他字段保留为空): 资源名称:

(在第二个选项卡中) 规则效力:许可证

用户:角色等于架构师

动作名称:is等于Read

因此,该策略是根据以下条件生成的:

建筑师

这里的属性id是:AttributeId=”http://wso2.org/claims/role"

现在,当我尝试使用Tryit工具测试此策略时,在GUI中传递参数, 正在从WSO2生成自动请求,该角色具有以下属性id:

AttributeId=“urn:oasis:names:tc:xacml:1.0:subject:subject-id”

因为,策略属性id没有与我的测试请求属性id进行匹配,因此持续给出中间回复

我读了一些博客,了解到在发送请求时必须匹配attributeId

我手动更改请求,然后其工作正常

这里的问题是,为什么WSO2 Identity server使用不同的attributeID创建请求,而我们已经从相同的WSO2 Identity server创建了策略? 我认为,当您使用相同的编辑器创建它并使用相同的参数测试它时,两者应该匹配


或者我在这里遗漏了什么???

我想你的意思是你正在变得不确定而不是中间。XACML中不存在含有中间体的此类反应

其次,属性ID“urn:oasis:names:tc:xacml:1.0:subject:subject-ID”表示用户身份,例如Alice、Bob、Carol。您的政策需要的是角色。您可以有一个仅包含用户标识的请求,在这种情况下,PDP必须从底层源解析角色。这个潜在的源称为PIP

您也可以直接从请求传递角色,但在这种情况下,您必须确保属性标识符与策略中使用的标识符匹配


如果用户界面有问题,试试看。它使您能够更清楚地了解所使用的属性。

是<代码>http://wso2.org/claims/role是指用户在Identity Server中的角色。然后,PDP知道使用此声明uri调用PIP。PIP将提取用户的角色。在您的情况下,
不确定
可能是由于可以检索到该用户的角色。请参阅了解有关使用Identity Server的RBAC/ABAC的更多信息

能否发布您的XACML策略?谢谢Asela和DAVID。是的,我已经浏览了博客并理解了它。非常感谢你,我非常感谢你的回答。