[英]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.