[英]Fiware AuthZForce error: “AZF domain not created for application”
我正在嘗試通過Docker使用KeyRock idm,Wilma PEP-Proxy和AuthZForce PDP保護Orion Context Broker。 目前,級別1的安全性很好,我可以拒絕未登錄用戶的訪問,但是在嘗試添加級別2時我在Wilma上收到此錯誤。
AZF domain not created for application <applicationID>
這是我在Wilma的config.js文件中的azf配置:
config.azf = {
enabled: true,
protocol: 'http',
host: 'azfcontainer',
port: 8080,
custom_policy: undefined
};
這就是我在KeyRock上設置訪問控制配置的方式:
# ACCESS CONTROL GE
ACCESS_CONTROL_URL = 'http://azfcontainer:8080'
ACCESS_CONTROL_MAGIC_KEY = None
我已經在Keyrock上創建了自定義策略,但是AuthZForce日志未顯示來自KeyRock或Wilma的任何請求,因此在PDP上未創建任何域。 我檢查了所有容器是否可以看到並互相訪問以及所有端口是否打開。 我可能缺少一些配置。
這些是我正在使用的版本:
keyrock=5.4.1
wilma=5.4
autzforce=6.0.0/5.4.1
這個問題與“未為應用程序創建AZF域” AuthZforce相同 ,但是即使使用所示的AuthZForce GE配置,我的問題仍然存在。
我發現了當AuthZForce 不在 PEP代理后面並因此未修改變量ACCESS_CONTROL_MAGIC_KEY時出現的此問題的原因(默認情況下為“無”)。
似乎Horizon需要連接到AuthZForce時,會同時讀取openstack_dashboard / local / local_settings.py中的 ACCESS_CONTROL_URL和ACCESS_CONTROL_MAGIC_KEY參數。 從理論上講,第二個參數是可選的(它為PEP代理引入了“ X-Auth-Token”標頭),但是,如果Horizon檢測到它為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代理后面時,它不會影響通信(標頭將被忽略)。
注意:進行更改以確保在重新啟動Horizon Service后更新新配置時,請記住刪除緩存的字節碼文件“ openstack_dashboard / local / local_settings.py c ”。
PS:我通過簡單的修改將請求請求發送到https://github.com/ging/horizon ,以解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.