"Домен AZF не создан для приложения" AuthZforce

У меня есть приложение, которое использует KeyRock, PEP, PDP(AuthZForce).

Уровень безопасности 1 (аутентификация) с Keyrock и PEP работает, но когда мы пытаемся использовать AuthZForce для проверки авторизации, я получаю сообщение об ошибке:

AZF domain not created for application

У меня есть пользователь и приложение, которые я создал, следуя инструкциям в Руководстве пользователя и программиста Fiware IdM.

Я также могу создавать домены, как указано в AuthZForce - Руководство по установке и администрированию, но я не знаю, как связать 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: ошибка базовой авторизации "Домен AZF не создан для приложения", но я получаю ту же ошибку, и моя версия ключевого ключа v5.4.0.

2 ответа

Решение

Я изменил конфигурацию AuthZForce GE: http://fiware-idm.readthedocs.io/en/latest/admin_guide.html

Изучив исходный код горизонта, я обнаружил, что функция "policyset_update" в openstack_dashboard/fiware_api/access_control_ge.py немедленно возвращает значение, если ACCESS_CONTROL_MAGIC_KEY имеет значение None (конфигурация по умолчанию) или пустую строку, поэтому связь с AuthZForce никогда не происходит. Несмотря на то, что этот параметр является необязательным, если у вас нет AuthZForce за прокси-сервером PEP, вы должны ввести текст, чтобы избежать этой ошибки.

В вашем случае ваша строка 'undefined' сработала. Фактически, в результате генерируется 'X-Auth-Token: undefined', но игнорируется, когда горизонт связывается напрямую с AuthZForce.

Связанная тема: Fiware AuthZForce error: "Домен AZF не создан для приложения"

Другие вопросы по тегам