我有一个使用KeyRock,PEP,PDP(AuthZForce)的应用程序。
Keyrock和PEP的安全级别1(身份验证)正在运行,但是当我们尝试使用AuthZForce检查授权时,我收到错误消息:
AZF domain not created for application
我按照Fiware IdM用户和程序员指南中的步骤创建了我的用户和应用程序。
我也可以按照AuthZForce - 安装和管理指南中的说明创建域,但我不知道在创建域ID时如何将域ID与用户角色绑定。
那么,我如何在特定域下插入用户/组织/应用程序,然后具有安全级别2?
我的config.js文件:
config.azf = {
enabled: true,
host: '192.168.99.100',
port: 8080,
path: '/authzforce/domains/',
custom_policy: undefined
};
我的docker-compose.yml文件是:
authzforce:
image: fiware/authzforce-ce-server:release-5.4.1
hostname: authzforce
container_name: authzforce
ports:
- "8080:8080"
keyrock:
image: fiware/idm:v5.4.0
hostname: keyrock
container_name: keyrock
ports:
- "5000:5000"
- "8000:8000"
pepproxy:
build: Docker/fiware-pep-proxy
hostname: pepproxy
container_name: pepproxy
ports:
- 80:80
links:
- authzforce
- keyrock
这个问题与AuthZForce Security Level 2: Basic Authorization error "AZF domain not created for application"相同,但我得到了同样的错误,我的keyrock版本是v5.4.0。
答案 0 :(得分:2)
我更改了AuthZForce GE配置: http://fiware-idm.readthedocs.io/en/latest/admin_guide.html#authzforce-ge-configuration
答案 1 :(得分:1)
在查看地平线源代码后,我发现函数" policyset_update"在 openstack_dashboard / fiware_api / access_control_ge.py 中,如果ACCESS_CONTROL_MAGIC_KEY为None(默认配置)或空字符串,则返回inmediatly,因此与AuthZForce的通信永远不会发生。尽管当您在PEP代理服务器后面没有AuthZForce时,此参数是可选的,但您必须输入一些文本以避免此错误。
在您的情况下,您的字符串' undefined'做了工作。事实上,作为结果,一个' X-Auth-Token:undefined'生成,但当horizon与AuthZForce直接通信时被忽略。
相关主题:Fiware AuthZForce error: "AZF domain not created for application"