Fiware AuthZForce错误:“未为应用程序创建AZF域”

时间:2017-03-10 08:58:18

标签: fiware authz fiware-wilma pdp authzforce

我正试图通过Docker使用KeyRock idm,Wilma PEP-Proxy和AuthZForce PDP来保护Orion Context Broker。目前,1级安全性运行良好,我可以拒绝访问非登录用户,但是在尝试添加级别2时,我在Wilma上收到此错误。

type .\\v2\\dist\\js\\*.js >> .\\build\\a.min.js   &&   type .\\v2\\dist\\js\\config\\*.js >> .\\build\\a.min.js && ... 

这是我在Wilma的config.js文件中的azf配置:

AZF domain not created for application <applicationID>

这就是我在KeyRock上设置访问控制配置的方法:

config.azf = {
    enabled: true,
    protocol: 'http',
    host: 'azfcontainer',
    port: 8080,
    custom_policy: undefined
};

我已经在Keyrock上创建了自定义策略,但是AuthZForce日志没有显示来自KeyRock或Wilma的任何请求,因此没有在PDP上创建域。我已经检查过所有容器都可以看到并相互接触,并且所有端口都已启动。我可能会错过一些配置。

这些是我正在使用的版本:

# ACCESS CONTROL GE
ACCESS_CONTROL_URL = 'http://azfcontainer:8080'
ACCESS_CONTROL_MAGIC_KEY = None

此问题与“AZF domain not created for application” AuthZforce相同,但即使使用显示的AuthZForce GE配置,我的问题仍然存在。

1 个答案:

答案 0 :(得分:2)

我发现当 AuthZForce 不在后面时出现此问题的原因,因此未修改变量ACCESS_CONTROL_MAGIC_KEY(默认情况下为None)。

当需要连接到AuthZForce时,似乎horizo​​n在 openstack_dashboard / local / local_settings.py 中读取ACCESS_CONTROL_URL和ACCESS_CONTROL_MAGIC_KEY参数。从理论上讲,第二个参数是可选的(它为PEP代理引入了一个'X-Auth-Token'标头),但是如果horizo​​n检测到它是None(local_settings.py中的默认值)或空字符串,则日志显示警告并从 openstack_dashboard / fiware_api / access_control_ge.py 中的“policyset_update”函数返回。因此,与AuthZForce的沟通永远不会发生。

解决问题的更简单方法是将一些文本作为魔术键写入: openstack_dashboard / local / local_settings.py

# ACCESS CONTROL GE
ACCESS_CONTROL_URL = 'http://authzforce_url:port'
ACCESS_CONTROL_MAGIC_KEY = '1234567890' # DO NOT LEAVE None OR EMPTY

因此,将生成'X-Auth-Token'标头,但是当AuthZForce不在PEP代理后面时(不应忽略标头),它不应影响通信。

注意:在进行更改时,请务必删除缓存的字节码文件“openstack_dashboard / local / local_settings.py c ”,以确保在重新启动视野服务后更新新配置

PS:我向https://github.com/ging/horizon发送了拉取请求,并通过简单的修改解决了问题。