まず、私はオンサイトのAD管理者ではありませんが、私の大規模なロールアウトのために自分のRedmineインストールをActiveDirectoryと統合してテスト運用するように依頼されました。
私たちのADサーバーはHost:port ims.example.com:389
にあり、私にはユーザーIMS/me
がいます。
現在、ローカル認証を使用しているRedmineにユーザーme
もいます。
RedMineで次のパラメーターを使用してActiveDirectory LDAP認証方法を作成しました。
Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com
On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail
この接続のテストは問題なく機能します。
しかし、私はそれで認証に成功していません。
問題が発生した場合にme
アカウントに戻れるように、バックアップ管理者ユーザーを作成しました。次に、ActiveDirectory資格情報を使用するようにme
を変更してみました。ただし、一度ログインすると何もログインできません。次のログイン名オプションをすべて試しました。
me
IMS/me
IMS\me
私は既知のドメインパスワードを使用しましたが、喜びはありません。
では、どの設定が間違っているのか、またはこれを機能させるためにどのような情報を取得する必要があるのでしょうか。
わかりました。これを機能させるために必要な特定の設定を次に示します。
Host: ims.example.com
Port: 389
User: MYDOMAIN\accountName
Password: *******
Base DN: dc=mydomain,dc=example,dc=com
On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail
トリックは、ベースDNからcn=Users
を削除することでした。
もう1つの注目すべき点は、ディレクトリを読み取るためのユーザーが含まれていたことです。
最後に、ログインするユーザーは、ドメイン修飾なしのユーザー名とドメインパスワードを通常どおり使用します。私たちのドメインはメールアドレスを必要としないので、ユーザーの作成中にメールアドレスを設定する必要がある追加のステップがありますが、それはかなり簡単です。
ActiveDirectory LDAP認証のベースDNを見つけるコツは、ユーザーの完全修飾ドメイン名が何であるかを確認することです。あなたはそれをチェックすることができます:
whoami /FQDN
そのユーザーとしてログインしている場合、次のようなものが返されます
CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com
また、ベースDNは、最初のCNを削除することで見つけることができます。
OU=users,OU=department,DC=corp,DC=domain,DC=com
私はRedmineに詳しくありませんが、資格情報を検証するためにActive Directoryに匿名でバインドしようとしているようです。それはうまくいきません。 ADとのLDAP統合のために複数の製品を構成したので、これは私が見た一般的な問題です。
そのままでは、ADは、クエリを実行するためにディレクトリにバインドするときにクライアントに認証を要求します。
見てください このRedmine wikiの投稿で re:LDAP認証の構成。彼らは、Redmineがディレクトリにバインドするために使用するアカウントとパスワード(ディレクトリを読み取る権限を持つもの-プレーンな「ドメインユーザー」が行う)を指定することについて話している。
LDAPブラウザーを使用して、構造を視覚的に確認します。ubuntuのlumaは適切に機能し、macperのldapperも機能します。
さらに進んでSSOを設定する場合、このプラグインは非常に便利です。 https://www.redmine.org/plugins/single_auth
(私の)この投稿は役立つかもしれません: http://blog.techutils.space/2016/02/redmine-ad-sso-setup.html