Интеграция с LDAP¶
Важно
Количество необходимых ТУЗ зависит от выбранного варианта управления паролями: с автоматической ротацией или без неё. Оба варианта описаны в разделе Ротация учётных записей LDAP.
Интеграция OpenStack с LDAP¶
Для интеграции OpenStack с каталогом пользователей по протоколу LDAP выполните следующие шаги:
Создайте домен. Для этого перейдите в OpenStack CLI и выполните команду создания домена
openstack domain create <домен ldap>, указав имя добавляемого домена.Добавьте параметры в файл
globals.d/REGION.ymlсоответствующего региона, указав имя добавляемого домена (в интерфейсе Horizon в выпадающем списке домены будут отображаться в той последовательности, в которой они указаны в этом файле):Предупреждение
При использовании ОС SberLinux параметры
horizon_keystone_multidomainиhorizon_keystone_domain_choicesне указывайте — для SberLinux Horizon в KeyStack недоступен.keystone_ldap_url: "ldaps://<имя сервера LDAP>:<порт LDAP>" horizon_keystone_multidomain: "True" horizon_keystone_domain_choices: Default: default Ldap: <домен LDAP>
Добавьте параметры в файл
/config/keystone/domains/keystone.ldap.confсоответствующего региона:[identity] driver = ldap [ldap] group_allow_create = False group_allow_delete = False group_allow_update = False group_desc_attribute = description group_id_attribute = cn group_member_attribute = member group_name_attribute = cn group_objectclass = group group_filter = "<фильтр групп LDAP>" password = "{{ ldap_password }}" query_scope = sub suffix = "<DN-суффикс LDAP>" user_tree_dn = "<DN-tree пользователей>" url = "{{ keystone_ldap_url }}" user = <DN служебного пользователя> user_filter = "<фильтр пользователей LDAP>" user_allow_create = False user_allow_delete = False user_allow_update = False user_enabled_attribute = userAccountControl user_enabled_default = 512 user_enabled_mask = 2 user_id_attribute = cn user_mail_attribute = mail user_name_attribute = sAMAccountName user_objectclass = person user_pass_attribute = userPassword group_tree_dn = "<DN-tree групп>" page_size = 0
При интеграции по протоколу LDAPS добавьте цепочку из корневых и промежуточных сертификатов в файл
certificates/ca/ldap.crtи соответствующую строку в файл конфигурацииkeystone.ldap.conf:[ldap] tls_cacertfile = "{{ openstack_cacert }}"
Поместите пароль пользователя
<DN служебного пользователя>в Vault в файл паролей региона secret_v2 / deployments / <LCM FQDN> / <имя региона> / passwords_yml в полеldap_password.Выполните развёртывание региона с указанием тегов
keystoneиhorizon.Предупреждение
При использовании ОС SberLinux не указывайте в параметрах тег
horizon— из-за недоступности Horizon пайплайн завершится с ошибкой. Используйте только тегkeystone.Подключитесь к OpenStack CLI (см. Использование OpenStack CLI) и проверьте, что пользователи и группы LDAP видны в KeyStack:
# openstack user list --domain <домен LDAP> +------------------------------------------------------------------+----------------+ | ID | Name | +------------------------------------------------------------------+----------------+ | f82090b43940df5f7b8e77fb5e4ddaf04e60cecebc5e94dd63a5e0f53f219fe5 | user1 | +------------------------------------------------------------------+----------------+ # openstack group list --domain <домен LDAP> +------------------------------------------------------------------+--------+ | ID | Name | +------------------------------------------------------------------+--------+ | ec6d01371e3160ab417c404fa07828a2e4c2d2e3147b762f9cf6f3555a601280 | group1 | +------------------------------------------------------------------+--------+
Создайте проект в OpenStack CLI, а при использовании Ubuntu — также с помощью интерфейса Horizon:
# openstack project create <проект> --domain <домен ldap>
Добавьте пользователей или группы в проект и дайте им права в них в OpenStack CLI:
# openstack role add --project <проект> --user user1 --user-domain <домен ldap> member # openstack role add --project <проект> --group group1 --group-domain <домен ldap> member
Проверка корректности настройки интеграции с LDAP¶
Выполните проверки работы ролевой модели:
Войдите в Портал администратора пользователем с ролью
admin. Убедитесь, что доступна кнопка Создать ВМ, корректно отображаются данные мониторинга и доступен переход в OpenSearch и Grafana.Войдите в Портал администратора пользователем с ролью
security_auditorилиreader. Убедитесь, что доступны просмотр ресурсов, данные мониторинга и логирования, но недоступны операции создания, изменения и удаления ресурсов.Войдите в Портал администратора пользователем с ролью
member,operator_vm,app_operatorилиos_operator. Убедитесь, что доступ ограничен разрешёнными разделами, а переходы в GitLab, NetBox, OpenSearch и Grafana недоступны.Войдите в GitLab пользователями с ролями
admin,security_auditorиreader. Убедитесь, что доступ к репозиториям соответствует назначенной роли, прямые коммиты вmasterзапрещены, а изменения выполняются через Merge Request.Войдите в NetBox пользователями с ролями
admin,security_auditorиreader. Убедитесь, что пользователь с рольюadminможет создавать, изменять и удалять объекты, а пользователи с ролямиsecurity_auditorиreaderимеют доступ только на чтение.