
Сервисы идентификации для традиционной инфраструктуры, приложений и контейнеров.
Проект Lightwave — это проект с открытым исходным кодом, включающий службы управления идентификацией и доступом корпоративного уровня, нацеленные на решение критически важных задач безопасности, управления и соблюдения нормативных требований для облачных приложений (Cloud-Native Apps) внутри предприятия. Благодаря интеграции с проектом Photon, Lightwave может обеспечить безопасность и управление для контейнерных нагрузок. Lightwave также может использоваться в различных сценариях, таких как единый вход, аутентификация, авторизация и центр сертификации, а также службы управления ключами и сертификатами во всей инфраструктуре и стеке приложений. Проект Lightwave основан на коде производственного качества и архитектуре корпоративного уровня, которая представляет собой мультитенантную, масштабируемую и высокодоступную топологию репликации с несколькими мастерами.
Проект Lightwave состоит из следующих ключевых элементов инфраструктуры идентификации:
Lightwave использует следующие существующие пакеты с открытым исходным кодом.
OpenLDAP используется в качестве протокольной части LDAP-сервера, а встроенная база данных OpenLDAP Lightning MDB используется как нижележащее хранилище LDAP.
Стек Heimdal Kerberos используется в качестве протокольной части Kerberos.
DCE/RPC используется в качестве инфраструктуры управления для настройки службы каталогов Lightwave LDAP.
Стек Likewise Open используется для инфраструктуры управления службами, инфраструктуры реестра и поддержки NT Security Descriptor. Likewise Open также предоставляет простой механизм для добавления поддержки SSH для клиентов Lightwave. Первые три пакета располагаются в рамках проекта Lightwave. Проект Likewise Open является отдельным проектом и должен собираться из отдельного git-репозитория. Также доступен двоичный RPM-пакет; пожалуйста, следуйте инструкциям ниже, чтобы добавить репозиторий.
git clone ssh://[email protected]/vmware/lightwave.git
Эти инструкции по сборке предназначены для сборки Lightwave на дистрибутиве VMware Photon Linux. (Инструкции по сборке на других платформах см. в вики.)
Склонируйте git-репозиторий Lightwave в вашу установку Photon (Full).
Убедитесь, что пакет likewise-open-devel-6.2..x86_64.rpm установлен в вашей системе Photon.
Выполните ./build_photon.sh* в [workspace]/build
В случае успешной сборки в каталоге [workspace]/build/stage должны быть созданы следующие RPM-пакеты:
lightwave-1.3.0-0.x86_64.rpm
lightwave-client-1.3.0-0.x86_64.rpm
lightwave-devel-1.3.0-0.x86_64.rpm
lightwave-post-1.3.0-0.x86_64.rpm
lightwave-mutentca-1.3.0-0.x86_64.rpm
lightwave-server-1.3.0-0.x86_64.rpm
Платформа Lightwave состоит из контроллеров домена Lightwave и клиентов домена Lightwave.
Готовые двоичные файлы Lightwave доступны через следующие репозитории YUM, которые можно настроить в вашем развёртывании Photon.
После настройки указанных ниже репозиториев YUM можно установить контроллер домена Lightwave и клиенты Lightwave с помощью "tdnf install vmware-lightwave-server" и "tdnf install vmware-lightwave-clients" соответственно.
Примечание. После настройки следующих репозиториев YUM отключите photon-iso.repo; для этого установите "enabled=0" в /etc/yum.repos.d/photon-iso.repo.
Создайте файл "/etc/yum.repos.d/lightwave.repo" со следующим содержимым.
[lightwave]
name=VMware Lightwave 1.0(x86_64)
baseurl=https://dl.bintray.com/vmware/lightwave
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True
[lightwave]
name=VMware Lightwave for Photon 2.0(x86_64)
baseurl=https://vmware.bintray.com/lightwave-dev/photon_2.0/master
gpgcheck=0
enabled=1
skip_if_unavailable=True
EOM
Создайте файл "/etc/yum.repos.d/photon-extras.repo" со следующим содержимым.
[photon-extras]
name=VMware Photon Extras 1.0(x86_64)
baseurl=https://dl.bintray.com/vmware/photon_extras
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True
[photon-extras]
name=VMware Photon Extras 2.0(x86_64)
baseurl=https://dl.bintray.com/vmware/photon_extras_$releasever_$basearch
gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
gpgcheck=1
enabled=1
skip_if_unavailable=True
Сначала необходимо установить следующие пакеты в вашем экземпляре Photon:
Для их установки просто выполните следующие команды tdnf:
tdnf makecache
tdnf install lightwave-client lightwave lightwave-server
tdnf makecache
tdnf install lightwave-client-1.3.1 lightwave-1.3.1 lightwave-server-1.3.1
Это должно подтянуть все необходимые зависимости для Lightwave.
Этот шаг требуется для каждого узла Lightwave. Отредактируйте файл /etc/hosts, чтобы он выглядел, как показано ниже: ПРИМЕЧАНИЕ: Замените переменные на соответствующие значения, так как они могут не быть заданы по умолчанию при новой установке PhotonOS.
echo -e "127.0.0.1\tlocalhost" > /etc/hosts
echo -e "${VM_IP}\t${VM_HOSTNAME}.${VM_DOMAIN_NAME} ${VM_HOSTNAME}" >> /etc/hosts
hostnamectl set-hostname --static ${VM_HOSTNAME}
Обратите внимание, что VM_DOMAIN_NAME можно выбрать для первого сервера, и он должен быть одинаковым для всех партнёрских узлов в кластере.
/opt/vmware/bin/configure-lightwave-server --password <password>
/opt/vmware/bin/configure-lightwave-server --password <password> \
--server <hostname or ip-address of partner instance>
Примечания:
Пароль, указанный для администратора домена, должен содержать не менее 8 символов, включая заглавную букву, строчную букву, цифру и специальный символ.
Перед повышением системы до контроллера домена обязательно назначьте ей статический IP-адрес или DHCP-адрес с резервированием.
Для подключения системы Photon к домену Lightwave необходимы следующие пакеты:
При использовании репозиториев YUM для готовых двоичных файлов установите клиент домена Lightwave с помощью "tdnf install vmware-lightwave-clients".
/opt/vmware/bin/domainjoin join <domain hostname>
Мы приглашаем вас вносить новые функции, исправления или обновления, большие или малые; мы всегда рады получать pull request и делаем всё возможное, чтобы обрабатывать их как можно быстрее. Если вы хотите внести код и не подписывали наше лицензионное соглашение с контрибьютором (CLA), наш бот обновит issue, когда вы откроете Pull Request. По любым вопросам о процессе CLA обращайтесь к нашему FAQ.
Прежде чем приступить к написанию кода, мы рекомендуем обсудить ваши планы через GitHub issue или сначала обсудить их с официальными мейнтейнерами проекта через #Lightwave Slack Channel, особенно для более масштабных изменений. Это даст другим участникам возможность указать вам правильное направление, дать обратную связь по вашему дизайну и помочь выяснить, не работает ли кто-то ещё над тем же самым.
Lightwave доступен под лицензией Apache 2.