
Serviços de identidade para infraestrutura tradicional, aplicações e contêineres.
O Project Lightwave é um projeto de código aberto composto por serviços de gerenciamento de identidade e acesso de nível empresarial, voltados aos desafios críticos de segurança, governança e conformidade para aplicativos nativos da nuvem (Cloud-Native Apps) na empresa. Por meio da integração com o Project Photon, o Project Lightwave pode fornecer segurança e governança para cargas de trabalho em contêineres. O Project Lightwave também pode atender a uma variedade de casos de uso, como logon único (single sign-on), autenticação, autorização e autoridade certificadora, bem como serviços de gerenciamento de chaves de certificados em toda a infraestrutura e pilha de aplicativos. O Project Lightwave é baseado em código de qualidade de produção e em uma arquitetura de nível empresarial multilocatária (multi-tenant), escalável e com topologia de replicação multi-master altamente disponível.
O Project Lightwave é composto pelos seguintes elementos-chave de infraestrutura de identidade:
O Lightwave utiliza os seguintes pacotes de código aberto existentes.
O OpenLDAP é usado para o cabeçalho do protocolo do servidor LDAP, e o banco de dados embarcado OpenLDAP Lightning MDB é usado como o armazenamento LDAP subjacente.
A pilha Heimdal Kerberos é usada como o cabeçalho do protocolo Kerberos.
O DCE/RPC é usado como a infraestrutura de controle para a configuração do serviço de diretório LDAP do Lightwave.
A pilha Likewise Open é usada por sua infraestrutura de controle de serviços, sua infraestrutura de registro e seu suporte a NT Security Descriptor. O Likewise Open também oferece um mecanismo fácil para fornecer suporte ssh para clientes Lightwave. Os três primeiros pacotes estão localizados no mesmo repositório do projeto Lightwave. O projeto Likewise Open é um projeto separado e precisa ser compilado a partir de um repositório git separado. Um RPM binário também está disponível; consulte as instruções abaixo para adicionar o repositório.
git clone ssh://[email protected]/vmware/lightwave.git
Estas instruções de compilação servem para compilar o Lightwave na distribuição Photon Linux da VMware. (Consulte a wiki para compilar em outras plataformas)
Clone o repositório git do Lightwave na sua instalação do Photon (Full).
Certifique-se de que likewise-open-devel-6.2..x86_64.rpm está instalado no seu sistema Photon.
Execute ./build_photon.sh* em [workspace]/build
Como parte de uma compilação bem-sucedida, os seguintes RPMs devem ser criados no diretório [workspace]/build/stage
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
Uma plataforma Lightwave é composta por Lightwave Domain Controllers e Lightwave Domain Clients.
Binários pré-compilados do Lightwave estão disponíveis através dos seguintes repositórios YUM, que podem ser configurados na sua implantação Photon.
Depois que os seguintes repositórios YUM forem configurados, deve ser possível instalar o Lightwave Domain Controller e os Lightwave Clients usando "tdnf install vmware-lightwave-server" e "tdnf install vmware-lightwave-clients", respectivamente.
Nota: Após configurar os seguintes repositórios YUM, desative o photon-iso.repo; isso é feito definindo "enabled=0" em /etc/yum.repos.d/photon-iso.repo.
Crie o arquivo "/etc/yum.repos.d/lightwave.repo" com o seguinte conteúdo.
[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
Crie o arquivo "/etc/yum.repos.d/photon-extras.repo" com o seguinte conteúdo.
[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
Você deve primeiro instalar os seguintes pacotes na sua instância Photon.
Para instalá-los, basta executar os seguintes comandos 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
Isso deve baixar todas as dependências necessárias para o Lightwave.
Este passo é obrigatório para cada nó do Lightwave. Edite o arquivo /etc/hosts para que fique como abaixo: NOTA Você deve substituir as variáveis pelos valores apropriados, pois elas podem não estar definidas por padrão em uma instalação nova do 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}
Observe que o VM_DOMAIN_NAME pode ser escolhido para o primeiro servidor e deve ser o mesmo para todos os nós parceiros em um cluster.
/opt/vmware/bin/configure-lightwave-server --password <password>
/opt/vmware/bin/configure-lightwave-server --password <password> \
--server <hostname or ip-address of partner instance>
Notas:
A senha especificada para o administrador do domínio deve ter pelo menos 8 caracteres, incluir uma letra maiúscula, uma letra minúscula, um dígito e um caractere especial.
Certifique-se de atribuir um endereço IP estático ou um endereço DHCP com reserva ao sistema antes de promovê-lo a domain controller.
Os seguintes pacotes são necessários para ingressar o sistema Photon no domínio Lightwave.
Se estiver usando os repositórios YUM para os binários pré-compilados, instale o Lightwave Domain Client usando "tdnf install vmware-lightwave-clients".
/opt/vmware/bin/domainjoin join <domain hostname>
Você está convidado a contribuir com novos recursos, correções ou atualizações, grandes ou pequenas; ficamos sempre muito felizes em receber pull requests e fazemos o nosso melhor para processá-los o mais rápido possível. Se você deseja contribuir com código e ainda não assinou nosso contrato de licença de contribuidor (CLA), nosso bot atualizará a issue quando você abrir um Pull Request. Para qualquer dúvida sobre o processo do CLA, consulte nossa FAQ.
Antes de começar a codificar, recomendamos discutir seus planos por meio de uma issue no GitHub ou discuti-los primeiro com os mantenedores oficiais do projeto no canal #Lightwave no Slack, especialmente para contribuições mais ambiciosas. Isso dá a outros contribuidores a chance de apontar a direção certa, dar feedback sobre seu projeto e ajudar você a descobrir se alguém já está trabalhando na mesma coisa.
O Lightwave está disponível sob a licença Apache 2.