0

我有一个使用 KeyRock、PEP、PDP(AuthZForce) 的应用程序。

Keyrock 和 PEP 的安全级别 1(身份验证)正在工作,但是当我们尝试使用 AuthZForce 检查授权时,我收到错误消息:

AZF domain not created for application

我有我的用户和我按照 Fiware IdM 用户和程序员指南中的步骤创建的应用程序。

我还可以按照 AuthZForce - Installation and Administration Guide 中的说明创建域,但我不知道在创建域 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。

4

2 回答 2

2

我更改了 AuthZForce GE 配置: http ://fiware-idm.readthedocs.io/en/latest/admin_guide.html#authzforce-ge-configuration

于 2016-12-09T13:54:21.673 回答
1

在查看了 Horizo​​n 源代码后,我发现openstack_dashboard/fiware_api/access_control_ge.py中的函数“policyset_update”如果 ACCESS_CONTROL_MAGIC_KEY 为 None(默认配置)或空字符串,则会立即返回,因此与 AuthZForce 的通信永远不会发生。尽管当您在 PEP 代理后面没有 AuthZForce 时此参数是可选的,但您必须输入一些文本以避免此错误。

在您的情况下,您的字符串 'undefined' 完成了工作。事实上,作为结果,会生成一个“X-Auth-Token: undefined”,但当 Horizo​​n 直接与 AuthZForce 通信时会被忽略。

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

于 2017-03-14T22:25:13.250 回答