シングルサインオンを実現するオープンソースソフトウェア「OpenAM」

こんにちは、廣川です。

先日、シングルサインオン(以下、SSO)を導入するという案件が舞い込んできたため、SSO を実現するためのオープンソースソフトウェアである「OpenAM」を調査しました。

OpenAM は前述したとおり、SSO を実現するためのオープンソースソフトウェアなのですが、経緯が少し特殊です。
現在はノルウェーの ForgeRock という会社が運営・開発をしていますが、元々は、旧サン・マイクロシステムズが「OpenSSO」という名前で運営していました。
OpenSSO は、旧サン・マイクロシステムズの製品である「Sun Java System Access Manager」と「Sun Java System Federation Manager」のソースコードを用いて作られています。

この辺りの経緯や歴史は調べればいくらでも出ると思うので、これ以上は割愛します。

OpenAM は商用製品にも劣らない機能と信頼度を持つソフトウェアだと思うのですが、全くの SSO 初心者には少し敷居が高い気がしました。
OpenAM を調べてみた感想としては、以下の三つです。

1、情報が集めにくい
2、エラーが出た場合に、原因の特定が難しい
3、設定項目が多い

1つめ。「情報が集めにくい」

OpenAM は前述した通り経緯が少し特殊で、二度名前が変わっています。(「Sun Java System Access Manager」⇒「OpenSSO」⇒「OpenAM」)
そのため、情報が分散しています。Sun Java System Access Manager や OpenSSO の資料はよく引っかかるのに、 OpenAM の資料が出てこない、そんな状態です。
とはいえ、以前の名前で出てくる資料もちゃんと参考になるので、そこまで問題視するようなものでもないですが。

また、OpenAM や OpenSSO の資料は、英語のものが多いです。
英語が堪能ならば、情報ももっと楽に集められた気がしますが、そうでない人間にはとても厳しいと思います。そして私は残念ながら「そうでない人間」でした。

2つめ。「エラーが出た場合に、原因の特定が難しい」

そこまで有名でないオープンソースの宿命と言うべきか、エラーに関しての情報があまり Web 上にありません。
そのため、エラーの原因を調べるためには、ソースやログを読み解くしかありません。
ログは複数に分かれており、一体どのログファイルに必要なログが出力されているのか、特定するのも一苦労です。

ですが、苦労して原因を特定してみると結局、設定を間違えただけなことが多かったです。かなりガックリ来ます。
(安定版をダウンロードしている以上、そうそうソフトウェアのバグはないんですけども)

3つめ。「設定項目が多い」

OpenAM に必要な設定は結構多いです。「OpenAMに必要」というよりは、「SSOに必要」な項目が多いのかもしれません。
(とはいえ、他の SSO ソフトウェアを使用したことがないので、なんとも言えないですが)

デフォルトのままでもある程度使えるのですが、ちょっと変わったことをしようとすると、すぐに詰まります。
どこを弄るとどこが変化するのか、よく把握できないことが多いです。求める結果を得るために、何をしたらいいのかすら判りません。

一応、管理コンソールには設定に関する説明(ヘルプページ)もあるのですが、説明を読んでも具体的に何を入力すればいいのかさっぱりわかりません。
「この値は、現在使用されていません。」と説明されている項目が、実は重要な値なことさえあります。
正直なところ、あんまり参考にならないと思います。

OpenAMは少しの設定ミスで、かなり致命的な現象(たとえば管理コンソールに入れなかったり、無限ループになったり)が引き起こされるので、注意が必要です。

などと色々書いてみましたが、何とか必要な環境は構築することが出来ました。
ということで、次回は少し具体的な話について書こうと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です