Je déploie des GEs de sécurité FIWARE (i.e., Wilma, AuthzForce, Keyrock) dans mon ordinateur. Le niveau de sécurité 2 (autorisation de base) fonctionne bien, mais maintenant j'ai besoin du niveau de sécurité 3 (autorisation avancée) en utilisant XACML.
Pour faire court, je veux un tutoriel de mise en œuvre de la sécurité de niveau 3. Cependant, pour autant que je sache, aucun tutoriel ou document sur le niveau de sécurité 3 n'existe.
Pour l'instant, je crée ma politique avec l'API de PAP, et je change l'option 'custom_policy' dans config.js de 'undefined' à 'policy.js'. Ensuite, je crée le fichier 'policy.js' dans 'PEP/policies', mais je ne change rien par rapport à son fichier modèle car je ne sais pas ce que ce code fait exactement. Je pense que je devrais créer un formulaire de demande XACML en utilisant la variable 'xml'. Mais dans mon cas, PEP me donne une erreur lorsque je crée la requête XACML en utilisant la variable 'xml', et que je retourne cette variable. Voici mon erreur de 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>
Et voici mon code 'getPolicy' (requête XACML) dans policy.js. J'ai juste fait une demande très simple pour savoir si la réponse est autorisée ou non parce que je ne suis pas sûr de ce que je fais à ce moment-là.. :
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'});
Donc, quelqu'un peut me donner des informations sur la mise en œuvre du niveau de sécurité 3 ?