#web-applications #permissions
#веб-приложения #разрешения
Вопрос:
я спрашиваю о способе настройки системы разрешений. Приложения состоят из организаций разного уровня видимости, дочерних объектов, тем, планов и многих других. Разрешения пользователя зависят от его роли в определенной организации, а также от самого объекта (например, пользователю может быть разрешено просматривать определенный план и заблокирован просмотр другого плана, даже если оба принадлежат к одной организации). Пользователю может быть назначен широкий спектр ролей — роли будут отличаться в зависимости от организации — и пользователь может быть зарегистрирован в разных организациях.Существует множество действий, для которых требуются разрешения.
итак, есть предложения?! Заранее спасибо
Комментарии:
1. Возможно, вы захотите попробовать поискать в Google «Управление доступом на основе ролей». Это установленный принцип компьютерной безопасности.
2. @Thilo: RBAC — это начало, но у него нет разумного способа справиться с различиями в разрешениях на уровне экземпляра, т. Е. Кто-то может видеть один план, но не другой. Если вы не собираетесь устанавливать разные роли для каждого проекта или компании, но это не то, что это обычно означает — роли RBAC более статичны.
Ответ №1:
Проект Open Web Application Security (OWASP) — некоммерческая всемирная благотворительная организация 501c3, специализирующаяся на повышении безопасности прикладного программного обеспечения. Наша миссия — сделать безопасность приложений видимой, чтобы люди и организации могли принимать обоснованные решения об истинных рисках безопасности приложений. Каждый может свободно участвовать в OWASP, и все наши материалы доступны по свободной и открытой лицензии на программное обеспечение.
OWASP — это то, где вам нужно быть;
Ответ №2:
Я не совсем уверен, спрашиваете ли вы, как это спроектировать или как это реализовать.
С точки зрения дизайна, это звучит так, как будто это может быть решено с помощью такой модели, как старая добрая система разрешений UNIX или списки контроля доступа. В любом случае, вам нужно знать:
- Какие разрешения есть у пользователя
- Какие разрешения требуются для выполнения некоторой операции с некоторым ресурсом
Таким образом, ваши пользовательские объекты и объекты ресурсов должны будут иметь возможность их переносить. Тогда это просто вопрос того, где бы ни выполнялось что-то конфиденциальное, найти, кто это делает, и проверить, что у них есть соответствующие разрешения.
Некоторые моменты, на которые следует обратить внимание:
- Разрешений будет много; потенциально по одному (или нескольким) на ресурс. Здесь помогает модель UNIX groups, потому что вы можете пометить ресурс как «доступный для записи любым пользователем из группы X», а затем просто добавить людей в группу X
- Одной из операций над ресурсами будет изменение разрешений пользователя, поэтому пользователи также являются ресурсами.