
기존 인프라, 애플리케이션 및 컨테이너를 위한 아이덴티티 서비스
Project Lightwave는 기업 내 Cloud-Native App을 위한 중요한 보안, 거버넌스 및 규정 준수 과제를 대상으로 하는 엔터프라이즈급 ID 및 액세스 관리 서비스로 구성된 오픈 소스 프로젝트입니다. Project Photon과의 통합을 통해 Project Lightwave는 컨테이너 워크로드에 대한 보안과 거버넌스를 제공할 수 있습니다. Project Lightwave는 또한 single sign-on, 인증, 권한 부여 및 인증 기관(certificate authority)은 물론 전체 인프라 및 애플리케이션 스택 전반에 걸친 인증서 키 관리 서비스와 같은 다양한 사용 사례를 제공할 수 있습니다. Project Lightwave는 프로덕션 품질의 코드와 다중 테넌트, 확장 가능하며 고가용성의 다중 마스터 복제 토폴로지를 갖춘 엔터프라이즈급 아키텍처를 기반으로 합니다.
Project Lightwave는 다음과 같은 주요 ID 인프라 요소로 구성됩니다.
Lightwave uses following existing open source packages.
OpenLDAP는 LDAP 서버 프로토콜 헤드로 사용되며, OpenLDAP Lightning MDB 임베디드 데이터베이스는 기본 LDAP 저장소로 사용됩니다.
Heimdal Kerberos 스택은 Kerberos 프로토콜 헤드로 사용됩니다.
DCE/RPC는 Lightwave LDAP 디렉터리 서비스 구성을 위한 제어 인프라로 사용됩니다.
Likewise Open 스택은 서비스 제어 인프라, 레지스트리 인프라 및 NT 보안 설명자(NT Security Descriptor) 지원에 사용됩니다. Likewise Open은 또한 Lightwave 클라이언트에 ssh 지원을 제공하는 쉬운 메커니즘을 제공합니다. 처음 세 개의 패키지는 Lightwave 프로젝트 내에 함께 위치합니다. Likewise Open 프로젝트는 별도의 프로젝트이며 별도의 git 저장소에서 빌드해야 합니다. 바이너리 RPM도 사용할 수 있습니다. 저장소를 추가하려면 아래 지침을 참조하십시오.
git clone ssh://[email protected]/vmware/lightwave.git
이 빌드 지침은 VMware의 Photon Linux 배포판에서 Lightwave를 빌드하기 위한 것입니다. (다른 플랫폼에서 빌드하는 방법은 wiki를 참조하십시오.)
Photon(Full) 설치에 lightwave git 저장소를 클론합니다.
Photon 시스템에 likewise-open-devel-6.2..x86_64.rpm이 설치되어 있는지 확인하십시오.
[workspace]/build에서 ./build_photon.sh*을(를) 실행하세요.
빌드가 성공하면 다음 RPM이 [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
Lightwave 플랫폼은 Lightwave 도메인 컨트롤러와 Lightwave 도메인 클라이언트로 구성됩니다.
Lightwave용 사전 빌드된 바이너리는 Photon 배포에 구성할 수 있는 다음 YUM 저장소를 통해 사용할 수 있습니다.
다음 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>
크든 작든 새로운 기능, 수정 사항 또는 업데이트에 기여해 주시기 바랍니다. 우리는 항상 pull request를 기쁘게 받으며 가능한 한 빨리 처리하기 위해 노력합니다.
코드 기여를 원하고 기여자 라이선스 계약(CLA)에 서명하지 않은 경우, Pull Request를 열면 봇이 이슈를 업데이트합니다. CLA 프로세스에 대한 질문은 FAQ를 참조하십시오.
코딩을 시작하기 전에 특히 더 큰 기여를 계획하고 있다면 GitHub issue를 통해 계획을 논의하거나 #Lightwave Slack 채널을 통해 공식 프로젝트 관리자와 먼저 논의하는 것이 좋습니다.
이렇게 하면 다른 기여자들이 올바른 방향을 제시하고, 설계에 대한 피드백을 제공하며, 다른 누군가가 같은 작업을 하고 있는지 확인하는 데 도움을 줄 수 있습니다.
Lightwave는 Apache 2 라이선스에 따라 사용할 수 있습니다.