首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新XACML / ALFA策略?

如何更新XACML / ALFA策略?
EN

Stack Overflow用户
提问于 2014-10-15 06:19:53
回答 3查看 164关注 0票数 1

我在阿尔法写了一份政策,其中:

  • 如果要转移的金额大于(传输限制),则请求应被拒绝。

我想知道如何指定一个特定的转让限制。从管理员的角度来看,如果我想在未来更新转让限制,应该在哪里以及如何进行?

例如,.I希望将当前的转移限制设置为2000美元。我如何做到这一点,然后如何更新转让限制,如果我想?

EN

回答 3

Stack Overflow用户

发布于 2014-10-16 12:55:17

为了添加David提到的内容,您可以在数据库单元格中设置此值,并脱机更新ABA/XACML的值(使用组织中的其他进程)。然后,通过告诉PDP withdrawalLimit是使用SQL "select limit from ....“从特定DB查询的,可以在计算时查询该值。

票数 1
EN

Stack Overflow用户

发布于 2014-10-15 09:05:02

因此,这是XACML的优点,因为规则是在策略中定义的,因此可以动态更新访问控制规则。在XACML策略中可能已经配置了传输限制。可以通过编辑XACML策略来更新它。然后,必须为PDP运行时对此更新进行修改,并根据它切断请求。

ALFA插件可以很容易地更新XACML策略属性,而不仅仅是更新原始策略。希望你能找到。但是,如果您更新了XACML策略,它也会工作。

票数 0
EN

Stack Overflow用户

发布于 2014-10-15 23:21:21

很高兴看到你取得了进步。在您的例子中,ALFA中的授权策略如下所示:

代码语言:javascript
复制
namespace com.axiomatics.banking{
    attribute actionId{
        category = actionCat
        id = "actionId"
        type = string
    }
    attribute resourceType{
        category = resourceCat
        id = "resourceType"
        type = string
    }
    attribute amount{
        category = resourceCat
        id = "amount"
        type = double
    }

    /**
     * Policy to transfer money
     */
    policy transferMoney{
        target clause actionId=="transfer" and resourceType=="money"
        apply firstApplicable
        /**
         * Deny access if amount is greater than 2000
         */
        rule checkAmount{
            target clause amount > 2000
            deny
        }
        /**
         * Grant access
         */
        rule allow{
            permit
        }
    }
}

请注意,在我的示例中,我使用了一个否定规则来拒绝访问。例如,如果我想将AdviceObligation添加到该规则中,以说明拒绝的原因,这是很好的。

现在,您的问题与策略结构无关,而是与属性值有关。在XACML中,您有两个选项。以下任一项:

  • 将值“硬编码”到策略中,或者
  • 您将该值外部化,并将其放入策略信息点(PIP),它可以是数据库、web服务、LDAP.外部化该值的好处是,您现在可以更新该值,而不必更改策略。该策略变得更加通用。这也意味着你可以有特定用户的限制。

在后一种情况下,您的规则是:

代码语言:javascript
复制
    /**
     * Deny access if amount is greater than the user's withdrawal limit
     */
    rule checkAmount{
        condition amount > withdrawalLimit
        deny
    }

在中,您可以配置一个PIP /属性连接器,以便根据用户id检索值。

大卫。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26375742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档