Графический интерфейс сервера идентификации WSO2, создающий другой идентификатор атрибута для политики и запроса

Я создал графики XACML с графическим интерфейсом Wso2.

Для этого я использовал редактор базовых политик. Я дал следующие параметры

Для политики (на первой вкладке я указал только имя ресурса, остальные поля оставил пустыми): Имена ресурсов: https://www.xyz.com/blabla/

(во второй вкладке) Эффект правила: Разрешить

Пользователь: Роль равна Архитектору

Название действия: равно Читать

Итак, политика создается с таким условием:

Архитектор

здесь идентификатор атрибута: AttributeId = "http://wso2.org/claims/role"

Теперь, когда я пытаюсь протестировать эту остроту с помощью инструмента Tryit, с передачей параметра в графическом интерфейсе, автоматический запрос генерируется из WSO2, который имеет следующий идентификатор атрибута для роли:

AttributeId = "urn: oasis: names: tc: xacml: 1.0: subject: subject-id"

И поскольку идентификатор атрибута политики не сопоставлен с идентификатором атрибута моего тестового запроса, он постоянно дает ответ Промежуточный.

Я прочитал несколько блогов и понял, что attributeId необходимо сопоставить при отправке запроса.

Я меняю запрос вручную, и он работает нормально.

Возникает вопрос, почему сервер идентификации WSO2 создает запрос с другим идентификатором атрибута, в то время как мы уже создали политику с того же сервера идентификации Wso2? Я думаю, что оба должны быть сопоставлены, пока вы используете один и тот же редактор для его создания и тестирования с одинаковыми параметрами.

Или мне что-то здесь не хватает ??


person Budhh    schedule 28.11.2014    source источник
comment
Можете ли вы опубликовать свою политику XACML?   -  person David Brossard    schedule 29.11.2014


Ответы (2)


Я думаю, вы имеете в виду, что получаете неопределенный вместо среднего. В XACML нет такого ответа с промежуточным звеном.

Во-вторых, идентификатор атрибута «urn: oasis: names: tc: xacml: 1.0: subject: subject-id» представляет собой идентификатор пользователя, например Алиса, Боб, Кэрол. Что нужно вашей политике, так это роль. У вас может быть запрос, который содержит только идентификатор пользователя, и в этом случае PDP должен будет разрешить роль из базового источника. Этот основной источник называется PIP.

Вы также можете напрямую передать роль из запроса, но в этом случае вам необходимо убедиться, что идентификатор атрибута соответствует тому, который используется в вашей политике, а именно http://wso2.org/claims/role.

Если у вас есть проблемы с пользовательским интерфейсом, попробуйте ALFA. Это дает вам больше информации о том, какие атрибуты используются.

person David Brossard    schedule 29.11.2014
comment
Спасибо Аселе и ДЭВИДУ. Да, я просмотрел блоги и понял это. Большое спасибо, я очень ценю ответы. - person Budhh; 02.12.2014

да. http://wso2.org/claims/role относится к ролям пользователя в Identity Server. Затем PDP знает, что вызовет PIP с этим URI утверждения. PIP извлекает роли пользователя. В основном в вашем случае Indeterminate может быть связано с тем, что роли этого пользователя могут быть получены. См. это, чтобы получить более подробную информацию RBAC / ABAC с Identity Server

person Asela    schedule 01.12.2014