You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让AuthzForce返回所有Permit策略的Obligations数组?

如何让Authzforce返回多个Policy的Obligation?

可行。

你当前使用的策略合并算法urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:deny-unless-permit逻辑为:遍历PolicySet中的Policy,一旦找到第一个返回Permit的Policy,就立即终止后续Policy的评估,仅将该Policy的Obligation纳入最终结果,这就是你只拿到aaaaaaa的原因。

要获取两个Obligation,只需将PolicySet的PolicyCombiningAlgId替换为urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:permit-overrides。这个算法会评估所有Policy,只要有至少一个Policy返回Permit,整体决策即为Permit,并且会收集所有返回Permit的Policy的Obligation。

修改后的PolicySet示例:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PolicySet xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" 
PolicySetId="root" 
Version="1.0.77" 
PolicyCombiningAlgId="urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:permit-overrides">

    <Target/>
   
        <Policy PolicyId="p1" Version="1.0" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-unless-permit">
            <Target/>
            <Rule RuleId="B1" Effect="Permit"/>

            <ObligationExpressions>
                <ObligationExpression ObligationId="aaaaaaa" FulfillOn="Permit">

                </ObligationExpression>
            </ObligationExpressions>

        </Policy>
        <Policy PolicyId="p2" Version="1.0" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-unless-permit">
            <Target/>
            <Rule RuleId="B2" Effect="Permit"/>

            <ObligationExpressions>
                <ObligationExpression ObligationId="bbbb" FulfillOn="Permit">
                   
                </ObligationExpression>
            </ObligationExpressions>

        </Policy>
    
</PolicySet>

修改后,你将得到包含两个Obligation的结果:

{
    "Response": {
        "Result": {
            "Decision": "Permit",
            "Obligations": {
                "Obligation": [
                    { "@ObligationId": "aaaaaaa" },
                    { "@ObligationId": "bbbb" }
                ]
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Joao Parente

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:15:57