В статье расскажу, как можно настроить LDAP в качестве провайдера для кластера Openshift 4. И объясню, почему выбрал этот протокол.
1К открытий1К показов
Василий Кулаженков
DevOps-инженер компании «Эвотор»
В этом руководстве я объясню, как можно настроить LDAP в качестве провайдера для кластера Openshift 4. Это позволит пользователям входить в OpenShift со своей учётной записью LDAP. Также расскажу, почему именно LDAP. Итак, приступим.
Почему LDAP?
Зачем использовать LDAP, когда для OpenShift доступны другие варианты: HTPasswd, Basic Auth, Github, Keystone? LDAP — это протокол открытого стандарта, известный своей лёгкостью, безопасностью и зрелостью, но все ещё развивающийся. Обычно он используется для обмена информацией о пользователях, системе, сети и услугах. Представьте его как дерево каталогов, в котором вы можно искать сверху вниз и между самими каталогами. Также мы LDAP можно использовать в инфраструктуре, как единую точку для управления доступами к ресурсам.
Далее будем отталкиваться от того, что в инфраструктуре уже есть LDAP.
Добавим отдельную группу openshift и пользователя srv_acct_ocp. С помощью ldapsearch проверим есть ли связь между LDAP и master нодой OpenShift cluster — например, с помощью команды ниже. Она создаёт связь с сервером LDAP с использованием предоставленного bindDN (флаг -D) и пароля (флаг -W):
# ldapsearch -D "cn = srv_acc_okd, ou = openshift, dc = example, dc = com" -W
Если все параметры верны, будет возвращен вывод LDIF, содержащий информацию на сервере.
Добавление провайдера LDAP в Openshift
В Openshift 4 есть хорошая инструкция для добавления LDAP провайдера.Но я опишу всё в рамках статьи — для наглядности. Все действия выполняются с ноды master.
Проверим корректно ли работает наш добавленный провайдер, войдем в cluster с помощью пользователя LDAP srv_acc_okd:
# oc login -u <username>
Управление доступами
Отлично, мы добавили провайдера LDAP. Теперь нам необходимо управлять привилегиями в нашем Openshift cluster. В инструкции к Openshift нам предлагают создать sync LDAP, но он запускается руками — это нам не подходит. Поэтому отойдём от родной инструкции и добавим решение на базе автоматизации — создадим cronjob, ещё одну сущность в нашем Openshift cluster. По сути это обычный cron:
В данной статье мы удачно добавили провайдера LDAP в наш Openshift cluster и настроили автоматическую синхронизацию групп и пользователей с нашим LDAP.