個人的に認証統合は好きで、一つのIDでシステム全体を管理したいと考える派です。そのベースとしてよく使われるのがLDAPです。Active DirectoryもLDAPをベースとしており、社内外における認証統合に一役買っています。 そんなLDAPサーバですが、ちょっと立てるのが面倒に感じていました。しかしglauthであれば開発用途や個人で簡単に使えそうです。

glauthの使い方

設定ファイル指定して起動するだけです。とても簡単です。

$ glauth -c sample-simple.cfg 
15:18:52.896862 doConfig ▶ DEBU 001 Debugging enabled
15:18:52.896892 startService ▶ DEBU 002 Web API enabled
15:18:52.896978 NewServer ▶ NOTI 003 Using config backend
15:18:52.897005 startLDAP ▶ NOTI 005 LDAP server listening on 0.0.0.0:3893
15:18:52.896986 RunAPI ▶ NOTI 004 Starting HTTP server on 0.0.0.0:5555

ちゃんと接続してレスポンスが返ってきます。

$ ldapsearch -LLL -H ldap://localhost:3893 \
                  -D cn=serviceuser,ou=svcaccts,dc=glauth,dc=com \
                  -w mysecret -x -bdc=glauth,dc=com cn=hackers
dn: cn=hackers,ou=superheros,dc=glauth,dc=com
cn: hackers
uid: hackers
ou: superheros
  :

glauthはGo製なので、一つの実行ファイルだけで済むのが利点です。また、WindowsやmacOSなどマルチプラットフォームで動作するのも嬉しいところです。glauthは企業内のLDAPサーバという訳ではなく、開発用(CIなど)や個人ユースを想定しているようです。とはいえLDAPSもサポートしているので使い勝手がいいでしょう。

glauthはGo製のオープンソース・ソフトウェア(MIT License)です。

glauth/glauth: A lightweight LDAP server for development, home use, or CI