繁体   English   中英

如何在FIWARE中达到安全级别3?

[英]How to achieve security level 3 in FIWARE?

我正在计算机上部署FIWARE安全GE(即Wilma,AuthzForce,Keyrock)。 安全级别2(基本授权)运行良好,但是现在我需要使用XACML的安全级别3(高级授权)。

长话短说,我想要一个实现安全级别3的教程。但是,据我所知,关于安全级别3的任何教程或文档都不存在。

现在,我使用PAP的API创建策略,然后将config.js中的“ custom_policy”选项从“ undefined”更改为“ policy.js”。 然后,我将“ policy.js”文件创建为“ PEP / policies”,但与模板文件相比没有任何变化,因为我不知道这段代码的确切作用。 我想我应该使用'xml'变量制作XACML请求表单。 但就我而言,当我使用“ xml”变量发出XACML请求并返回此变量时,PEP给我错误。 这是我的PEP错误:

Error: Root - Error in AZF communication <?xml version="1.0" encoding="UTF-8" standalone="yes"?><error xmlns="http://authzforce.github.io/rest-api-model/xmlns/authz/S" xmlns:ns2="http://www.w3.org/2005/Atom" xmlns:ns3="http://authzforce.github.io/core/xmlns/pdp/5.0" xmlns:ns4="http://authzforce.github.io/pap-dao-flat-file/xmlns/properties/3.6"><message>Invalid parameters: cvc-elt.1: Cannot find the declaration of element 'Request'.</message></error>

这是policy.js中的“ getPolicy”代码(XACML请求)。 我只是非常简单地请求是否允许响应,因为我不确定当时在做什么。

exports.getPolicy = function (roles, req, app_id) {
    var xml = xmlBuilder.create('Request', {
            'xmlns': 'urn:oasis:names:tc:xacml:3.0:core:schema:wd-17',
            'CombinedDecision': 'false',
            'ReturnPolicyIdList': 'false'})
    .ele('Attributes', {
            'Category': 'urn:oasis:names:tc:xacml:1.0:subject-category:access-subject'});

那么,任何人都可以给我有关实现安全级别3的任何信息?

升级到Wilma 6.2(错误修复)。

重用已知可用的lib / azf.js中的代码,并根据您的需求调整Request内容。 在那里,该变量被错误地称为XACMLPolicy ,但是请不要误解,这是一个实际的XACML Request 这是使用xml2json包将JSON转换为XML,而在您的代码中您似乎使用了另一种,也许xmlbuilder 您没有粘贴完整的代码-此xmlBuilder变量从何而来? -所以我只是在猜测。

如果您确实在使用xmlbuilder包并且想要坚持使用它,我会注意到在使用命名空间示例中 ,xmlns属性以另一种方式放置:

var xmlBuilder = require('xmlbuilder');

var xml = xmlBuilder.create('Request', { encoding: 'utf-8' })
.att('xmlns', 'urn:oasis:names:tc:xacml:3.0:core:schema:wd-17')
.att('CombinedDecision': 'false')
.att('ReturnPolicyIdList': 'false')
.ele('Attributes', {'Category': 'urn:oasis:names:tc:xacml:1.0:subject-category:access-subject'});

也许这有所作为,我没有检查。

也可以在Wilma的github上随意提出问题,以获取开发团队的帮助。 (我不是其中之一,但我们已经为AuthzForce集成而合作。)

您得到的错误确实是

无效的参数:cvc-elt.1:找不到元素'Request'的声明。

这是一个简单的XML验证问题。 您需要确保您发送的XACML请求包含正确的名称空间声明。

您会在这里看到关于此主题的另一个问题。

您可以粘贴您的XACML请求,以便我们判断其是否有效吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM