FreeIPAのLDAP構成はデフォルト設定のままで運用しているのだけど、
RocketChatのLDAP設定を行ってFreeIPAアカウントでもログインできるようにしようと
色々ためしてみてがようやく繋がる設定を見つけた。
FreeIPAサーバ:
IP アドレス:xxx.xxxx.xxxx.xxxx
管理ユーザ:admin
パスワード:password
ドメイン:hara2dev.local (dc=har2dev,dc=local)
とした場合、
Rocket Chatサーバを起動し、最初のユーザ登録を完了したら
そのユーザでログインし、以下の操作を実行すればよい。
・左上のユーザ名をクリック>管理>LDAPを選択
・有効にする「はい」
・ホスト「xxx.xxxx.xxxx.xxxx」
・ポート「389」
・ドメインベース「cn=users,cn=accounts,dc=har2dev,dc=local」
・ドメイン検索ユーザ「uid=admin,cn=users,cn=accounts,dc=har2dev,dc=local」
・ドメイン検索のパスワード「password」
・ドメイン検索ユーザID「uid」
・ドメイン検索のobjectclass「(空欄)」
・ドメイン検索のobjectCategory「(空欄)」
・ユーザー名フィールド「#{givenName}.#{sn}」(名前.名字)か「uid」(uid文字列)
・一意性を識別するフィールド「objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber」(変更なし)
・データを同期する「はい」
・ユーザーデータのフィールドマップ「{"cn":"name", "mail":"email"}」(変更なし)
・既定ドメイン「(空欄)」
・右上の変更を保存ボタン押下(エラーなしを確認)
・接続テスト「接続をテスト」ボタン押下(正常動作確認)
・ユーザーを同期する「ユーザーを同期」ボタン押下(正常動作確認)
・ログアウトして、FreeIPAに登録済みアカウント&パスワードでログインする。
最初にログインすると、RocketChat側にユーザが新規作成されます。
上記設定の場合、LDAP認証が失敗したら、RocketChat上のアカウントで認証チェックをかけるので、FreeIPAがおちている時もログインさせたい場合はこのようにします。
1点だけ注意。
RocketChatは、ユーザごとに一意となるメールアカウントがデフォルトでは必須で、
「uid=<ユーザID>,cn=users,cn=accounts,dc=har2dev,dc=local」の属性mailがN/A、つまりFreeIPA上のアカウントのメールアドレスが空欄だとログイン失敗します。
p.s.
Dockerコンテナで、RocketChatを上げたい場合は、
以下のdocker-compose.ymlを作成し、
./data/mongo/db、./data/mongo/dumpを作成して
sudo docker-compose up -dすれば
http://xxx.xxxx.xxxx.yyyy:3000/でログイン画面がでてきます。
RocketChatのLDAP設定を行ってFreeIPAアカウントでもログインできるようにしようと
色々ためしてみてがようやく繋がる設定を見つけた。
FreeIPAサーバ:
IP アドレス:xxx.xxxx.xxxx.xxxx
管理ユーザ:admin
パスワード:password
ドメイン:hara2dev.local (dc=har2dev,dc=local)
とした場合、
Rocket Chatサーバを起動し、最初のユーザ登録を完了したら
そのユーザでログインし、以下の操作を実行すればよい。
・左上のユーザ名をクリック>管理>LDAPを選択
・有効にする「はい」
・ホスト「xxx.xxxx.xxxx.xxxx」
・ポート「389」
・ドメインベース「cn=users,cn=accounts,dc=har2dev,dc=local」
・ドメイン検索ユーザ「uid=admin,cn=users,cn=accounts,dc=har2dev,dc=local」
・ドメイン検索のパスワード「password」
・ドメイン検索ユーザID「uid」
・ドメイン検索のobjectclass「(空欄)」
・ドメイン検索のobjectCategory「(空欄)」
・ユーザー名フィールド「#{givenName}.#{sn}」(名前.名字)か「uid」(uid文字列)
・一意性を識別するフィールド「objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber」(変更なし)
・データを同期する「はい」
・ユーザーデータのフィールドマップ「{"cn":"name", "mail":"email"}」(変更なし)
・既定ドメイン「(空欄)」
・右上の変更を保存ボタン押下(エラーなしを確認)
・接続テスト「接続をテスト」ボタン押下(正常動作確認)
・ユーザーを同期する「ユーザーを同期」ボタン押下(正常動作確認)
・ログアウトして、FreeIPAに登録済みアカウント&パスワードでログインする。
最初にログインすると、RocketChat側にユーザが新規作成されます。
上記設定の場合、LDAP認証が失敗したら、RocketChat上のアカウントで認証チェックをかけるので、FreeIPAがおちている時もログインさせたい場合はこのようにします。
1点だけ注意。
RocketChatは、ユーザごとに一意となるメールアカウントがデフォルトでは必須で、
「uid=<ユーザID>,cn=users,cn=accounts,dc=har2dev,dc=local」の属性mailがN/A、つまりFreeIPA上のアカウントのメールアドレスが空欄だとログイン失敗します。
p.s.
Dockerコンテナで、RocketChatを上げたい場合は、
以下のdocker-compose.ymlを作成し、
./data/mongo/db、./data/mongo/dumpを作成して
sudo docker-compose up -dすれば
http://xxx.xxxx.xxxx.yyyy:3000/でログイン画面がでてきます。
version: '2'
services:
mongo:
image: mongo:latest
volumes:
- ./data/mongo/db:/data/db
- ./data/mongo/dump:/dump
command: mongod --smallfiles
rocketchat:
image: rocketchat/rocket.chat:latest
depends_on:
- mongo
dns:
- 8.8.8.8
environment:
- MONGO_URL=mongodb://mongo:27017/rocketchat
- ROOT_URL=http://xxx.xxxx.xxxx.yyyy
- Accounts_UseDNSDomainCheck=false
- TZ=Asia/Tokyo
ports:
- 3000:3000
0 件のコメント:
コメントを投稿