Хранение данных OpenStack Keystone в LDAP

Через некоторое время работы с инсталляцией OpenStack, которая использовала существующий LDAP для аутентификации, мы столкнулись с одной большой проблемой. В определенное время Dashboard перестал поддерживать простой процесс аутентификации, заменив его работой с Keystone. На тот момент Keystone поддерживал только одну подсистему аутентификации, поэтому нам пришлось разработать бэкенд для работы с LDAP.

Теперь у нас есть базовая поддержка LDAP-аутентификации в Keystone, которая обеспечивает часть функциональности, присутствовавшей в Nova. В настоящее время основным минусом является неспособность полноценно интегрировать систему с существующим деревом LDAP из-за ограничений в бэкенде, но она прекрасно работает в изолированной ветке LDAP.
Итак, после долгого кодирования и борьбы с новым процессом принятия патчей, мы можем дать вам возможность его испытать.
Для этого необходимо сделать следующее:

  1. Убедитесь, что установлены все необходимые компоненты: Nova, Glance, Keystone и Dashboard. Так как последние два компонента все еще находятся в инкубаторе, вам придется скачать их из репозитория:
  2. Настройте Nova для авторизации запросов в Keystone:

    Предполагается, что вы находитесь в том же каталоге, куда вы скачали Keystone. Замените путь nova.conf, если он отличается в вашей инсталляции Nova.
    Добавьте схему в вашу инсталляцию LDAP.
    Это сильно зависит от вашего LDAP-сервера. Для последней версии OpenLDAP в директории keystone/keystone/backends/ldap/ есть файлы .schema и .ldif. Для локальной установки OpenLDAP, поможет эта команда (если вы не изменили директорию после предыдущих шагов):

  3. Измените конфигурацию Keystone в keystone/etc/keystone.conf, чтобы использовать ldap бэкенд:

    Добавьте новый раздел (не забудьте поменять URL, имя пользователя и пароль на подходящие вам):

  4. Убедитесь в том, что ветви ou=Groups,dc=example,dc=com иou=Users,dc=example,dc=com существуют или настройте LDAP бэкенд, добавив параметры tenant_tree_dn, role_tree_dn и user_tree_dn в раздел[keystone.backends.ldap] в файле настроек.
  5. Запустите Nova, Keystone и Dashboard как обычно.
  6. Создайте несколько пользователей, тенантов, конечных точек и т. д. в Keystone с помощью команды keystone/bin/keystone-manage или просто запустите keystone/bin/sample-data.sh, чтобы добавить тестовые.

Теперь вы можете аутентифицироваться в Dashboard, используя учетные данные одного из созданных пользователей. Обратите внимание, что таким образом все управление пользователями, проектами и ролями должно осуществляться через Keystone, используя команду keystone-manage или syspanel на Dashboard.

Подписка на RSS канал
»

Комментарии

Оставить комментарий
или