我在Docker中部署了一个基于Fiware泛型启用器的应用程序。这些版本是:
但是,当我想在keyrock中创建一个权限时,我找不到一个特定的语法或字符序列来在资源字段中输入一个动态资源,比如:/resource1/<user>/info,或者只指定资源前缀,比如:/resource2/<whatever>。

确实存在动态资源的语法,而authzforce可以创建与动态资源相同的权限,还是必须创建XACML规则?
发布于 2018-08-30 21:02:00
是的,有必要创建一个高级XACML规则。例如,您可以查看IDM源代码中的XACML规则模板,它用于生成基本规则(用于静态资源路径);您必须对其进行自定义(除了删除模板代码<%...%>),特别是修改目标和条件元素(使用XACML函数string -串联动态创建字符串/resource1/{param}/info )。
另一个困难是在{param}中获取AuthzForce值,并确保它在XACML请求中发送到AuthzForce PDP。Pep-代理只获取/发送以下XACML属性,如您从Pep的Authzforce客户端代码中看到的(名称因简洁而缩短):资源-id、子资源-id、动作-id、主题-角色。因此,如果您希望用户ID作为{param},您必须修改我刚才提到的Pep代码,即从userInfo变量中提取用户id,并在请求中添加相应的XACML属性(subject-id)。或者用你自己的Pep当然做任何你想做的事。
https://stackoverflow.com/questions/51316032
复制相似问题