WSO2 — это аутентификация / авторизация на основе ролей в режиме мультитенанта

#wso2 #wso2is

#wso2 #wso2-identity-server

Вопрос:

У меня есть приложение, которое аутентифицируется с использованием OAuth2 OIDC из WSO2 IS (режим мультитенанта). Я хочу иметь авторизацию на основе ролей. В основном я настроил это следующим образом:

На странице Super Tenant Carbon:

  1. Создайте поставщика услуг
  2. Проверьте параметр SaaS, чтобы включить аутентификацию для всех арендаторов
  3. В локальной и исходящей Auth Conf я включил опцию авторизации
  4. Создайте пользовательскую роль, скажем, RoleA, и назначьте ее пользователю.
  5. Настройте администрирование политики и опубликуйте ее (я следовал этому руководству:https://docs.wso2.com/display/IS550/Configuring Access Control Policy for a Service Provider )

На странице углерода арендатора B.

  1. Создайте RoleA и назначьте его пользователю

Результат:

  1. Пользователь с RoleA в Super Tenant может выполнить вход
  2. Пользователь с RoleA в клиенте B не может войти в систему (сбой авторизации)

Как заставить это работать?

примечание:

  1. Без включенной авторизации работает проверка подлинности между арендаторами.
  2. Я тестировал с существующей ролью (внутренняя / подписчик), которая также не работает у арендатора.
  3. Я использую WSO2 как KM 5.5

Ответ №1:

Я попробовал тот же сценарий, и он сработал так, как ожидалось для меня.

Вы используете внешнюю роль или внутреннюю роль? Скажем, если вы создадите внутреннюю роль с именем foo. Это было бы названо как Internal/foo . Таким образом, вы также должны использовать Internal/foo в политике XACML.

Комментарии:

1. он все еще не работает. есть какой-нибудь способ отладить это? какой-либо уровень журнала в свойствах log4j, который я могу изменить для его отладки?