Как реализовать управление доступом на основе ролей в API с помощью стека WSO2 - PullRequest
0 голосов
/ 30 мая 2020

Мы используем WSO2IS как сервер IAM, роли и пользователи управляются в WSO2IS. WSO2EI БУДЕТ сервером интеграции, предоставляющим частные API

Каким будет правильный способ реализовать управление доступом на основе ролей, используя, например, некоторый набор API, только для доступа пользователей с определенными группами c. Как я могу реализовать этот самый простой способ? Требуется ли здесь WSO2AM?

Спасибо

1 Ответ

1 голос
/ 30 мая 2020

EI - не идеальный способ раскрытия частных API-интерфейсов, защищенных oauth. Даже если вы можете достичь этого с помощью EI, это потребует чрезмерных усилий при интеграции. Настройте сервер идентификации в качестве диспетчера ключей (диспетчера токенов) сервера APIM. Сервер APIM знает, как взаимодействовать с сервером идентификации для создания и проверки токенов доступа. Таким образом, нет никаких явных усилий по интеграции сервера ресурсов (APIM Gateway) с сервером авторизации (IAM).

  1. Совместное использование хранилища пользователей между обоими серверами. (IS и APIM)
  2. Настройте IS в качестве диспетчера ключей сервера API.
  3. Зарегистрируйте свой API на портале издателя / разработчика.
  4. При публикации вы можете определить ограничения доступа на основе ролей к вашим ресурсам API с портала издателя. (Roe: сопоставление областей действия)
  5. После того, как вы определите, IS всегда будет проверять ваши роли после предоставления вам токена доступа.

Как вы уже определили, сопоставление ролей: области , области, которые вы запрашиваете в своем запросе на создание токена, будут приняты только в том случае, если у вас (запрашивающего) есть ожидаемые роли. Следовательно, объем вашего токена будет настолько хорош, насколько хороши роли, которые вы назначили себе. Теперь, поскольку опубликованные вами ресурсы API требуют определенного набора областей, не все токены доступа будут приняты при попытке доступа к API. Только те с ожидаемыми областями действия.

Настроить IS-KM с APIM

Области на основе ролей

...