本記事の目的
- 以下記事にて「LDAP ってどんなもの?」ということをざっくり説明した。
- 本記事は、実際に LDAP の設定を行ってみて仕組みをもう少し理解するためのもの。ここでは WordPress を LDAP クライアント、ActiveDirectory(WindowsServer2022)を LDAP サーバーとして動作確認する。検証イメージは以下図の通り。
手順
今回 Azure 上に Ubuntu20.04(WordPress 用) および WindowsServer2022(Active Directory 用) を用意した。手順は以下の通り。
- ActiveDirectory の構築
- ActiveDirectory でのユーザ情報追加
- WordPress 準備
- WordPress プラグイン設定
- LDAP 認証の動作確認
なお、手順詳細の後に「WordPress の LDAP 設定にあたり何を行ったか」を解説している項目を設けていいるので、そちらも参照しながら検証するのが good。
手順詳細
ActiveDirectory の構築
ActiveDirectory の構築については特に何も参照しなかったが、以下とか参考になりそう。
- なお上記 URL の「Active Directory ドメイン サービス構成ウィザード」において、ルートドメイン名は ad.co.jp としています(後々使う情報)。
ActiveDirectory でのユーザ情報追加
- 以下のようにユーザを追加する。
WordPress 準備
以下を参考にさせていただきました、ありがとうございました!
WordPress プラグイン設定
プラグインインストール
- 「LDAP」あたりの単語で検索し、Active Directory Integration / LDAP Integration をインストール、有効化する。
- このプラグインを使うためには、おそらく以下コマンドを実施のうえで再起動する必要がありそう(そうしないと、アラートが常時表示される)。
# sudo apt-get -y install php-ldap
プラグイン設定
-
LDAP Configuration のタブについて、以下の通り設定。
-
「Test Connection & Save」をクリック。問題なければチェックマークが表示される。
-
Test Authentication の項目があるが、ここは設定項目というわけではないのでスルーで良さそう。
-
Sign-In Settings において「Enable LDAP Login」を有効化することで、設定完了。
LDAP 認証の動作確認
- 今回は ou=department001 に所属するユーザについて LDAP 認証ができるようにした。WordPress のログイン画面から、user001・user002 ともに、WindowsServer にログインする際のパスワードでログインできれば設定成功している。
- 以下のように、user001・user002 が自動で WordPress 上に登録される。
ざっくりとした手順解説
LDAPの属性値 | 属性表示名 | ざっくり意味するところ |
---|---|---|
dc | Domain-Component | ドメイン。ここでは dc=ad,dc=co,dc=jp |
ou | Organizational-Unit-Name | 組織単位(OU)。「人事部」とか「開発部」みたいな部署名と考えると良さそう |
cn | Common-Name | 「ユーザ名」くらいの理解で良さげ。cn=user001 とか。ActiveDirectory でよく使う印象 |
-
「WordPress プラグイン設定」 において、情報として LDAP Server や Username を登録した。ここでやっていたのは、「WordPress がどの LDAP サーバーを参照するか = IP 情報の設定」と、「バインド用のユーザを誰にするかの登録」の 2 つ。
- 以下記事を参考にすると、「バインドとは、LDAP サービスへログインすること」。
- つまりここでの設定は以下のイメージ。LDAP サーバと、バインドするユーザ(ここでは Manager)の特定を行った。
- 続いて Search Base の登録を行ったが、これについては「どの箇所にいるユーザについて、LDAP 認証を適用するか」の設定と考えると良い。今回は以下のように、ou=department001 配下のユーザに LDAP を使えるようにした。
終わりに
- はじめて LDAP に触れた時はワケがわからなかったが、解説で述べたような「LDAP サーバとバインドユーザ特定する → LDAP 認証の対象とするユーザ探しに行く」という流れを掴めればだいぶ設定やりやすくなると思う。
- 次は LDAP サーバーを Azure Active Directory に変えて検証したい。