ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

ActiveDirectoryではBind DNアカウントにはUIDでなくsAMAccountNameを使用する

Windows Server 2016のActiveDirectoryサーバとCentOS上に構築したOSSLdap連携をしているんですが、ActiveDirectoryではBind DNアカウントにはUIDでなくsAMAccountNameを使用する必要があるようです。


最初、SIDでBind DNアカウントを設定していたんですが、認証が通らず、SID→sAMAccountNameに変更することで正常に認証されることが確認できました。


参考にしたのがこちらのoracleのサイトです。

 

https://docs.oracle.com/cd/E19199-01/817-4727-10/a_activedirauth.html

 

以下は抜粋です。

 

ユーザーネーミング属性を変更します。
LDAP 認証モジュールは、この属性を Active Directory 内で検索し、検出した属性を使って Directory Server 内の UID を一致させます。たとえば、メタディレクトリにより 2 つのシステムの同期が行われ、Directory Server 内のエントリがメールを使用して RDN として格納される場合、Active Directory 内へのメールアドレスの格納時に userPrinicipalName をここに指定できます。この場合、sAMAccountName が Active Directory 内で最も UID に類似した属性であるため、これを指定するのが最善です。

「ユーザーエントリ検索属性」を変更します。


この属性は、Active Directory 内でのアカウントの検出に使用されます。これは、ユーザーがログインに使用する属性に対応している必要があります。たとえば、ユーザーが共通名を使用してログインする場合、この属性の値は cn になります。この場合、sAMAccountName が Active Directory 内で最も UID に類似した属性であるため、これを指定するのが最善です。

 

外部連携でうまくADに登録したユーザーアカウントで外部LDAP連携できなかったので、この情報をたまたま見つけて、設定でUIDではなく、sAMAccountNameに変更することで問題なく認証されました。


Active Directory固有の情報もあるので、こういった情報はとても助かります。また、Nest構成のグループ指定もできますが、別の記事で紹介しています。シングルサインオンの為にADとLDAP連携することは多いと思いますので、同様の事象で困っている方は参考にしてみてください。