首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FIWARE中实现安全级别3?

如何在FIWARE中实现安全级别3?
EN

Stack Overflow用户
提问于 2017-07-05 03:55:34
回答 2查看 192关注 0票数 2

我正在我的计算机中部署FIWARE安全漏洞(即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的错误:

代码语言:javascript
复制
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中的‘policy.js’代码(XACML请求)。我只是简单地要求是否允许响应,因为我不知道当时我在做什么。

代码语言:javascript
复制
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级安全实现的信息吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-09 00:00:50

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

重用已知可以工作的lib/azf.js代码,并使请求内容适应您的需要。变量在那里被错误地称为XACMLPolicy,但是不要弄错,这是一个实际的XACML Request。这是使用xml2json包将JSON转换为XML,而在您的代码中,您似乎使用了不同的JSON包,可能是xmlbuilder?您没有粘贴完整的代码--这个xmlBuilder变量来自哪里?-所以我只是猜测。

如果您确实在使用xmlbuilder包并希望继续使用它,我注意到在使用命名空间的示例中,xmlns属性以不同的方式放置:

代码语言:javascript
复制
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'});

也许这有什么区别,我没查过。

同时,也可以在威尔玛‘s github上创建一个问题,以获得开发团队的帮助。(我不是他们中的一员,但我们一起为AuthzForce集成而工作。)

票数 3
EN

Stack Overflow用户

发布于 2017-07-05 17:14:30

你所犯的错误是

无效参数: cvc-elt.1:找不到元素‘请求’的声明。

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

您将看到关于这个主题这里还有另一个问题。

您能粘贴您的XACML请求吗?这样我们就可以知道它是否有效?

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

https://stackoverflow.com/questions/44916746

复制
相关文章

相似问题

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