猫山さんの日記

写真付きで日記や趣味を書くならgooブログ

Rocket.ChatのLDAP設定

2021-12-11 | 日記

朝、Rocket.ChatをセットアップしたPCを持って電車に乗り込んだ。
土曜だけど、マイナンバーの統合宛名ブリッジシステムの移行作業がある。
サーバーのメーカー保守を更新できなくなったので、ハードもソフトも入れ替えだ。

この大したことをしていないシステムに高額な費用を払うのは
どうも納得がいかない。
自治体中間サーバーと業務システムとの間でマスターデータの受け渡しと
日に数十件の照会を送受信するためだけのサーバーだ。
小規模自治体向けにはオープンソースで十分だと思う。

でも、わからないでもない。ユーザー側にも問題がある。
システム提供者をパートナーと思ってないんだよね。
こっちは金払ってんだぞー、と強気だ。
何か障害が発生すると、すぐ損害賠償しろとか言い出すし。
その結果、システムを構成するハードウェアもソフトウェアも、
高品質のサポートを受けられる、高いものを使うことになる。

次回更新に向けて、HULFTのような安定した製品で
もっと安く構成できないか、問いかけてみよう。
定刻を少し過ぎたけど、統合宛名システムの移行と
定例のアカウント切り替え作業が完了した。
Rocket.Chatのマシンは起動してLAN接続だけ済ませておいた。
帰ったらリモートで設定しよう。

J-LISがコロナ期間中試験的に提供している
テレワークシステムで職場のPCにリモートデスクトップ接続した。
職場のワークフローが紙ベースなので、テレワークは難しいけど、
夜間誰もいないときのサーバーメンテナンス作業には便利だ。

Rocket.Chatの設定画面を開き、LDAPを有効にした。
これは簡単だ。ねこでもわかる。
しかし、ベースDN欄の設定方法がわからない。
ネットの情報を参考に設定して、「今すぐ同期を実行する」をクリックしてみたけど、
案の定何も起きない。
書き換えて何回も同期してみたが、結果は変わらない。
あーわからない。
でも、ActiveDirectoryについて一から勉強するのは嫌だなあ。

困っていろいろ検索していたら、ITtripというサイトにスクリーンショット入りで
分かりやすく説明が書かれていた。
これを真似て設定し、同期した。
Rocket.Chatの登録ユーザー数がどんどん増えていく。
よし、成功した。

ユーザー数はもりもり増えていく。
ちょっと多すぎるんだけど・・
予定の倍以上のユーザーが登録された。
どうやらADのユーザーとグループとコンピューターがすべて登録されたようだ。
ベースDNにはユーザーなのかコンピューターなのかを
区別する属性はなさそうなので、他に設定できそうな項目を探そう。

「ユーザー検索」と「ユーザー検索(グループ検証)」というのがあった。
グループ検証の方は、グループをフィルタリングするものだろう。
Chatを使いたいすべてのユーザーが所属するグループはないので、
例えばRocketChatというグループを新たにつくればうまくいくのかもしれない。
でも、ひとつのグループに何百人もユーザーを所属させるのは気が進まないし、
新規ユーザー作成時に追加するのを忘れそうだから、しっくりこない。
ユーザー検索の方で何とかできないかなあ。

Google検索で「I need help with group filter」というタイトルを見つけた。
WebGregちゃんの問いにmitjamちんが答えている。
ふむふむ、ADにchat用グループを作ってる。これは嫌なんだよなー。
答えはまだ続いていて、フィルターも使っている。
Filter: (&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=Chat vsi,OU=Chat,OU=Aplikacije,OU=Skupine,DC=triglavre,DC=si)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Note: !(userAccountControl:1.2.840.113556.1.4.803:=2) ignores disabled users in AD. Or else disabled users from AD will appear too.

何をやってるんだかよくわからないんだけど、
(objectCategory=person)と
!(userAccountControl:1.2.840.113556.1.4.803:=2)を使えばいいのかな。
文法を推察するに、こんな感じかな
(&(objectCategory=person)(!(userAccountontrol:1.2.840.113556.1.4.803:=2)))
まず、コンピューターとか、グループとか
余計に登録されたものをチクチク1件ずつ削除・・・
同期設定のところにLDAPに存在しないユーザーを削除するという項目があるけど、
設定方法が難しそうだし、設定が間違っていてchatから全ユーザーが消えてしまって
ログインできなくなるのも怖いので、面倒だけど頑張って数百件削除した。
動作確認のためにちゃんとしたユーザーも一人削除(xね!)。

さ、もう一度同期。
あれ、1件じゃなくてもっとたくさん復活した。せっかく削除したのに・・・。
これまで使っていた共有アカウントなど、特殊なアカウント達か。
これはフィルタで取り除けないなあ。
何かいい手はないかな。

不要なアカウントのプロパティを見ていたら、「無効」というのがある。
これでいいのかも。
無効にして、ユーザー検索を試す。
出てこない。
同期をもう一度。
有効にされることはない。
できたー。
まずい、ギルド戦が終わってしまう。