
従来のインフラストラクチャ、アプリケーション、コンテナ向けのアイデンティティサービス。
Project Lightwave は、エンタープライズにおけるクラウドネイティブアプリケーションの重要なセキュリティ、ガバナンス、コンプライアンスの課題に対応する、エンタープライズグレードのアイデンティティおよびアクセス管理サービスで構成されるオープンソースプロジェクトです。Project Photon との統合により、Project Lightwave はコンテナワークロードのセキュリティとガバナンスを提供できます。また、Project Lightwave は、シングルサインオン、認証、認可、認証局、さらにインフラストラクチャとアプリケーションスタック全体にわたる証明書キー管理サービスなど、さまざまなユースケースにも対応できます。Project Lightwave は、プロダクション品質のコードと、マルチテナントでスケーラブル、かつ高可用性のマルチマスターレプリケーショントポロジを備えたエンタープライズグレードのアーキテクチャに基づいています。
Project Lightwave は、以下の主要なアイデンティティインフラストラクチャ要素で構成されています。
Lightwave は以下の既存のオープンソースパッケージを使用しています。
OpenLDAP は LDAP サーバーのプロトコルヘッドとして使用され、OpenLDAP Lightning MDB 組込みデータベースが基盤となる LDAP ストアとして使用されます。
Heimdal Kerberos スタックは Kerberos プロトコルヘッドとして使用されます。
DCE/RPC は Lightwave LDAP ディレクトリサービスの設定のための制御インフラストラクチャとして使用されます。
Likewise Open スタックは、そのサービス制御インフラストラクチャ、レジストリインフラストラクチャ、および NT セキュリティ記述子のサポートに使用されます。Likewise Open は、Lightwave クライアントに ssh サポートを提供する簡単なメカニズムも提供します。最初の3つのパッケージは Lightwave プロジェクト内に同梱されています。Likewise Open プロジェクトは別のプロジェクトであり、別の git リポジトリからビルドする必要があります。バイナリ RPM も利用できます。リポジトリを追加する手順については、以下の手順を参照してください。
git clone ssh://[email protected]/vmware/lightwave.git
これらのビルド手順は、VMware の Photon Linux ディストリビューション上で Lightwave をビルドするためのものです。(他のプラットフォームでのビルドについては wiki を参照してください)
lightwave の git リポジトリを Photon (Full) インストール環境にクローンします。
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>
新機能、修正、更新など、大小を問わずコントリビューションを歓迎します。プルリクエストをお待ちしており、できるだけ早く処理するよう努めます。コードのコントリビューションを希望され、コントリビューターライセンス契約 (CLA) に署名されていない場合、プルリクエスト を開くとボットが issue を更新します。CLA プロセスに関する質問は、FAQ を参照してください。
コードを書く前に、特に大規模なコントリビューションの場合は、GitHub issue を通じて計画を議論するか、#Lightwave Slack Channel で公式プロジェクトのメンテナと最初に話し合うことをお勧めします。これにより、他のコントリビューターが正しい方向性を示したり、設計についてフィードバックを提供したり、同じ作業を他の誰かが行っていないか確認したりする機会が得られます。
Lightwave は Apache 2 ライセンス の下で利用できます。