Краткая информация о RBAC :
Система контроля доступа на основе ролей - это метод ограничения доступа к «некоторым источникам или приложениям или некоторым функциям приложений» на основе ролей пользователей организации.
Здесь ограничения могут быть с помощью нескольких разрешений, которые создаются пользователями-администраторами для ограничения доступа, и эти разрешения вместе представляют роль, которая будет назначена пользователю.
И если мы немного углубимся в RBAC, он в основном содержит 3 функции.
1) Аутентификация - подтверждает личность пользователя. Обычно это делается с помощью учетных записей пользователей и паролей или учетных данных.
2) Авторизация - определяет, что пользователь может делать и чего не может делать в приложении. Ex. «Изменение заказа» разрешено, но «создание нового заказа» запрещено.
3) Аудит действий пользователя над приложениями. - Он отслеживает действия пользователя над приложениями, а также кто и как предоставил доступ к каким пользователям? Это было очень простой вид сверху системы RBAC.
Для мультитенантных приложений я бы порекомендовал «Управление группами и пользователями» с ролями и разрешениями.
Давайте возьмем пример.
Существует несколько клиентов (арендаторов) для приложения:
Client A – has – 100 users [Tenant A]
Client B – has – 50 users [Tenant B]
Client C – has – 100 users [Tenant C]
Таким образом, сценарий будет примерно таким: каждый клиент и пользователи этого клиента должны иметь доступ только к определенным функциям приложения, а администратор этих клиентов должен иметь возможность управлять только своими пользователями.
Итак, чтобы справиться с этим, мы можем
- Определение и управление группами (арендаторами)
- Определение пользователей или учетных записей и управление ими в качестве членов группы (арендатора)
- Ограничить доступ для каждого арендатора в приложении с помощью ролей или разрешений
- Делегирование администрирования безопасности локальным пользователям в рамках каждого Клиента или организации
Нечто подобное показано ниже.
Иерархия групп:
Где группа «Клиент А» и ее дочерние группы будут содержать пользователей для «Клиента А» и аналогично для других клиентов или организаций.
Соответственно пользователи будут назначены в соответствующие группы, а роли будут назначены определенным группам.
Вы можете проверить эту статью - в которой показано, как работать с мультитенантными приложениями для управления пользователями и ролями с помощью готовой к использованию инфраструктуры, предоставляемой VisualGuard, где я работаю.
http://www.visual -guard.com / EN / нетто-PowerBuilder-приложения безопасность аутентификация разрешения-контроль доступ-RBAC / безопасный Saas--и-многопользовательские-приложения-с-Asp- нетто-или-ФОС-Silverlight.php