Lightwave 项目是一个开源项目,由企业级的身份与访问管理服务组成,旨在解决企业内云原生应用所面临的关键安全、治理和合规挑战。通过与 Project Photon 集成,Lightwave 项目可以为容器工作负载提供安全与治理能力。Lightwave 项目还可用于多种场景,例如单点登录、身份验证、授权和证书颁发机构,以及覆盖整个基础设施和应用堆栈的证书密钥管理服务。Lightwave 项目基于生产级代码和企业级架构构建,该架构采用多租户、可扩展且高可用的多主复制拓扑。
Lightwave 项目由以下关键身份基础设施元素组成:
Lightwave 使用以下现有的开源软件包。
OpenLDAP 用作 LDAP 服务器协议前端,OpenLDAP Lightning MDB 嵌入式数据库用作底层 LDAP 存储。
Heimdal Kerberos 栈用作 Kerberos 协议前端。
DCE/RPC 用作配置 Lightwave LDAP 目录服务的控制基础设施。
Likewise Open 栈用于其服务控制基础设施、注册表基础设施以及 NT 安全描述符支持。Likewise Open 还提供了一种简单的机制,为 Lightwave 客户端提供 SSH 支持。前三个软件包位于 Lightwave 项目内。 Likewise Open 项目是一个独立项目,需要从单独的 git 仓库构建。同时也有二进制 RPM 可用,请参阅下面的说明添加该仓库。
git clone ssh://[email protected]/vmware/lightwave.git
以下构建说明用于在 VMware 的 Photon Linux 发行版上构建 Lightwave。(在其他平台上构建请参阅 wiki)
将 lightwave git 仓库克隆到您的 Photon(完整版)安装中。
确保您的 Photon 系统上安装了 likewise-open-devel-6.2.*.x86_64.rpm。
在 [workspace]/build 目录下运行 ./build_photon.sh*
构建成功后,应在 [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 仓库后,应可分别使用 "tdnf install vmware-lightwave-server" 和 "tdnf install vmware-lightwave-clients" 安装 Lightwave 域控制器和 Lightwave 客户端。
注意:配置完以下 YUM 仓库后,请禁用 photon-iso.repo;可通过在 /etc/yum.repos.d/photon-iso.repo 中设置 "enabled=0" 来实现。
创建文件 "/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 仓库,请使用 "tdnf install vmware-lightwave-clients" 安装 Lightwave 域客户端。
/opt/vmware/bin/domainjoin join <domain hostname>
我们欢迎您贡献新功能、修复或更新,无论大小;我们始终乐于接收拉取请求,并会尽力尽快处理。如果您希望贡献代码但尚未签署我们的贡献者许可协议(CLA),当您开启拉取请求时,我们的机器人会更新该 issue。有关 CLA 流程的任何问题,请参阅我们的常见问题解答。
在开始编码之前,我们建议通过 GitHub issue 讨论您的计划,或通过 #Lightwave Slack 频道 先与官方项目维护者讨论,特别是对于更宏大的贡献。这可以让其他贡献者有机会为您指明正确方向、对您的设计提供反馈,并帮助您了解是否有人正在做同样的事情。
Lightwave 依据 Apache 2 许可证 提供。