Mantis BTでユーザー認証をActive Directoryと連携する

はじめに

Mantis BTは、ユーザー認証をLDAPの情報を使って行なえるようになっている。 とある事情でActive DirectoryのLDAPの情報を使ってユーザー認証をしたい機会があったので、その設定を書いておく。 しかし、Admin Guideには、一般的なLDAPについて書かれているので、ちゃんと読まないとActive Directoryで使えるようにならない。

残念ながら、私はLDAPにもMantis BTにもさほど詳しい訳ではないので、最適解ではないかもしれないが、動く例として記載しておく。

Mantis BTは、pkgsrc/deve/mantisから導入したMantis BT 1.3.1であり、/usr/pkg/share/mantis 以下に配置されている。LDAP機能を使うため、pkgsrc/databases/php-ldapも追加でインストールしている。

Active Directoryでの認証の有効化方法

まず最初にやらないといけないのは、Active Directory認証に移行した後に使う管理者ユーザーの追加である。 Mantis BTのインストールをしたばかりの状態では、ユーザーID/パスワード = administrator/root でログインできる。ここで、Active Directoryに登録されているユーザーを管理者として登録しておく。 Active Directory認証を有効化した後には、administratorユーザーでログインすることはできないので、先に管理者ユーザーを作っておく必要がある。

Active Directoryについては、以下のような情報が与えられている。

Active Directoryサーバー
tetera-ad.tetera.org
ブラウジングするユーザーID/パスワード
aduser/aduser_password

これらに対して、/usr/pkg/share/mantis/config/config_inc.php の末尾に、以下のように追加する。


$g_login_method = LDAP;
$g_ldap_server = 'tetera-ad.tetera.org';
$g_ldap_port = '3268';
$g_ldap_root_dn = 'dc=tetera,dc=org';
$g_ldap_organization = '';
$g_ldap_uid_field = 'sAMAccountName';
$g_ldap_bind_dn = 'aduser@tetera.org';
$g_ldap_bind_passwd = 'aduser_password';
$g_use_ldap_email = OFF;
$g_use_ldap_realname = OFF;
$g_show_realname = OFF;
$g_ldap_protocol_version = 3;
$g_allow_signup = OFF;
$g_lost_password_feature = OFF;
$g_ldap_follow_referrals = OFF;

$g_use_ldap_realname = ON;にすることで、cnをユーザーの名称として使うことができるはずである。 しかし、今回の環境では、sAMAccountNameとcnは一緒なので、OFFにして各ユーザーが設定するようにした。

No comments:

Post a Comment

Dell XPS 13 (9300)を修理してもらった

2020年8月16日日曜日 15:30ころ 到着から8日目で起動しなくなってしまい、何度か電源ボタンを押していると、電源ステータスLEDが橙色が2回、白色が3回点滅するのを確認した。マニュアルによると、メモリー異常の場合であるらしい。修理窓口に電話すると、BIOSリカバリーや...