Я планирую структуру сервера OpenLDAP для интеграции с несколькими приложениями (скажем, 10 приложений). В этом у меня есть 8 внутренних приложений (веб- и мобильные приложения) и 2 других, скажем, внешних сервиса, таких как GitLab.
Наш сценарий будет похож на использование всех 10 приложений с 1000 пользователями. Среди 1000 пользователей будут разные роли, такие как администратор, менеджеры, разработчики и т. д.
Все 1000 пользователей будут иметь разрешение/доступ для входа в приложения (например, cn=application3, cn=application4, cn=application5, как показано на рисунке).
Для cn=application1 и cn=application2 (которые являются внешними службами, такими как GitLab, и включают отдельные роли, как во внешнем приложении), только несколько пользователей будут иметь разрешение на доступ/использование.
Согласно нашим требованиям, мы вставили 1000 пользователей в cn=group1. И в этом случае мы переместили несколько пользователей в cn=application1 и cn=application2, которым нужен доступ к этим приложениям. В будущем размер моей организации увеличится, и количество приложений также увеличится. На данный момент мы продолжаем использовать структуру, показанную на рисунке. Является ли это наилучшей практикой для использования?
Может ли кто-нибудь подсказать мне, как мне с этим разобраться?? Поскольку я новичок в OpenLDAP, пожалуйста, дайте мне знать, если я что-то не так упомянул.
решение1
Ваш макет выглядит странно.
- Обычно пользователи хранятся в
ou=users,dc=example,dc=com
,ou=accounts,dc=example,dc=com
илиou=people,dc=example,dc=com
. - Роли, как правило, рассматриваются группой определенного типа (
groupOfNames
,groupOfUniqueNames
илиorganizationalRole
) и занимают место, подобноеou=groups,dc=example,dc=com
.groupOfNames
является наиболее распространенным. - Подумайте о том, чтобы назвать свои роли как-то так
cn=admins+ou=app1,ou=groups,dc=example,dc=com
. Это позволит вам извлечь все роли для app1, выполнив поиск поou=app1
.