Rocket ChatとActive Directoryを連携させる方法を解説します。ADで設定したWindows認証時のIDとパスワードがそのまま利用可能なのでRocket Chatを運用する上では物凄く便利です。
Active Directoryの設定
デフォルトの設定でLDAP認証は可能なので、何もする必要はありません。(よっしゃー)
Rocket ChatでのLDAPの設定場所
Rocket Chatの管理者ユーザーで管理画面からLDAPメニューを開きます。
LDAPの具体的な設定
設定項目が沢山あるので、各々の環境や運用に応じて設定することになります。一旦は以下の設定でActive Directoryとの連携ができたので参考としてください。説明していない項目はデフォルトです。
LDAPを有効にする
有効にします。
LDAP による認証を試行するようになります。
ログインフォールバック
LDAPがダウンしてRocket Chat利用できないのは困るので有効にしました。
LDAPのログインが正常に行われない場合は、デフォルト/ローカルアカウントシステムにログインしてみてください。なんらかの理由でLDAPがダウンしたときに役立ちます。
ログイン後にユーザーを検索する
有効にします。
バインド後にユーザーのDNの検索を実行して、バインドが成功してAD構成によって許可されている場合に空のパスワードでログインできないようにします。
Active Directory サーバー情報登録
Active Directory サーバーの情報を登録します。ホストにActive Directory サーバーのIP又はホスト名を入力し、ポートはデフォルト値の「389」にします。
再接続します
接続できないトラブルは避けたいので「有効」にしました。
操作の実行中に何らかの理由で接続が中断された場合、自動的に再接続を試みる
ベースDNの設定
ベースDNにはAD連携を行いたいユーザーが所属しているOUを指定します。設定したら接続テストを押下するとAD連携ができたかどうかだ分かります。
検索したいユーザーやグループが LDAP サブツリーとして属す完全修飾の Distinguished Name (DN) 。 それぞれのグループは、そこに属すユーザーと同じドメインベースに定義されていなければなりません。特定のユーザーグループを制限した場合、そのグループに属したユーザーのみ対象になります。LDAP ディレクトリーのトップレベルドメインをドメインベースとし、アクセス制御には検索フィルターを使用することを推奨します。
上図で設定している「OU=staff,DC=root,DC=local」は、
以下の「staff」OU内のユーザーが対象になります。
認証
ADと連携するためには認証が必要です。ユーザーDNを指定してパスワードを入力します。要するにドメイン参加するときにユーザーをパスワードを入力しておけばOKです。
既定ドメイン
ADのパラメータ値にメールアドレスがあればいいんですが、無い場合はメールドメインを入力してください。
既存のユーザーをマージする
ADのユーザー情報で上書きしたい場合は有効にしてください。整合性が取れなくなったら嫌だなと思い有効にしています。ADをマスターにしたい
注意! LDAPからユーザーをインポートするときに、同じユーザー名を持つユーザーが既に存在する場合は、LDAP情報とパスワードが既存のユーザーに設定されます。
データを同期する
ユーザーデータのフィールドマップに {“displayName”:”name”, “mail”:”email”} と入力しています。displayNameはADのパラメータだと表示名です。
以下の記事も参考にしてください。
Rocket.ChatのLDAP連携でユーザー表示を使い易いように最適化する方法
バックグラウンド同期
1日に1回同期される設定です。
バックグラウンド同期で新しいユーザーをインポートする
当然有効にします。
LDAPに存在し、Rocket.Chatには存在しないすべてのユーザーをフィルタ条件に基づいてインポートします
バックグラウンド同期で既存のユーザーを更新する
ADのユーザー情報 = Rocket Chatユーザー情報 としたいので有効にしました。
* Sync Interval *ごとにLDAPから既にインポートされたすべてのユーザーのアバター、フィールド、ユーザー名などを同期します (設定に基づいて)
今すぐ同期する
今すぐ同期するには、「今すぐ同期する」ボタンを押下します。ADのユーザーがRocket Chatに作成されます。感動しました。
コメント