簡體   English   中英

Fiware AuthZForce錯誤:“未為應用程序創建AZF域”

[英]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時出現的此問題的原因(默認情況下為“無”)。

似乎Horizo​​n需要連接到AuthZForce時,會同時讀取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代理后面時,它不會影響通信(標頭將被忽略)。

注意:進行更改以確保在重新啟動Horizo​​n Service后更新新配置時,請記住刪除緩存的字節碼文件“ openstack_dashboard / local / local_settings.py c ”。

PS:我通過簡單的修改將請求請求發送到https://github.com/ging/horizo​​n ,以解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM