中小企業で10人を超えてくると煩雑になってくるものとしてユーザ管理がある。
多くの企業が最初にたどり着く解は、ActiveDirectoryでユーザ管理を行うことだ。ある程度社員の属性情報をActiveDirectory上に管理しておけるし、各Windows端末へのログインに利用できるのでおおむね適切な管理が行える。
しかし、社内システムがいくつか増えてきた場合や、クラウドシステムが増えてきた場合はことは簡単ではない。
変わりゆく人事情報を元に各社内システムに適切な権限で適切な操作をさせるのは簡単ではないし、その運用コストは相当である。
その課題に対して、いくつかの考え方があると思う。
- すべてのシステムからActiveDirectory(又は類するDirectoryサービス)に認証を行う。
- 人事情報の登録時に各システムに同一のIDを登録する。
- 社外のOpenIDサービス(GoogleAppsやYahooIDなど)を利用する。
- 人事情報の登録時に各システムに同一のIDを登録し、パスワード変更を同期する仕組みを構築する。
1については、RedmineやMoodleなどのオープンソースをはじめとして、ActiveDirectoryに認証する機能を有しているものもあるが、クラウドサービスはもとより、外部認証機能に対応していないものも多い。また、対応していても、各サブシステムにIDが登録されるわけではないものもあり、運用による追加、変更、削除が各サブシステムに必要になることもある。
2については、パスワード変更を各サブシステムに行わなくてはならない煩雑さが利用者側に生まれる。もしくはパスワードを変更しないセキュリティリスクが生まれる。
3.については、クラウドサービスについてはSAMLが標準化されておりかなり使い勝手がよくなっているが、やはり外部システムに管理の中枢を委ねるのはリスク管理上好ましくない。
あくまで中小企業としてであるが、現状は4が理想ではないかと思う。ひとつの認証基盤へすべてのサービスが認証されるのが心地よいが、上記のように万能ではない。
4を実現できるオープンソースのソリューションにLISMがある。これは、Openldapのバックエンドとして動作するID同期ソフトであり、ActiveDirectoryへの連携はもとより、テーブルやAPIを経由してのID情報同期が実現できる。
実現に当たって構築のハードルが高いところが難点であるが、やることそのものはさほど難しいことではないので、外部から簡易化するツールを組み込むことを考えていきたい。