システム開発

サービス系システムにIdP導入をする際に検討したこと

ビジネスサイドからSSOに対応できないか
と、いきなりの要望があったので
IdPを利用してサービス系システムにSSOを導入
しようした話です。

今回、導入対象となるシステムは
主に社内外のユーザが利用するシステムであり、クラウドサービスやら自社開発のシステムも含めて認証を一元化する検討をしました。
導入に当たっては、従来のフォーム認証を行う自社開発のシステムがあるため、このシステムをどのようにSSOに対応させるかが、導入課題となりました。

導入にあったって検討した(ネックになった)ポイント

  • コスト
  • ポータルページ
  • SLA
  • SSO用プロトコルに対応していないシステムの対応
  • エクステンション
  • ユーザへの導入方法


まずは、コスト。とても重要です。
結果、6~7社調べることになったのですが
各社同じような価格帯で、アカウント数に応じてコストがかかるため
1人単価が少しでも価格が抑えられると重要なポイントになります。
ADやGSuite等と連携するなど、採用するオプションでイニシャルやランニングコストも大きく変わる場合があります。

コストを抑えようと考え、OSSで構築という案もなくはないですが
運用を鑑みると自社運用するという方針は、取りませんでした。

ポータルページのカスタマイズ性や利用した感じも重要なポイントになりました。自社のロゴを入れることはもちろん、ポータルページのアイコンの並びなど、個人でのカスタマイズ性も確認しました。

SLAは重要ですね。もしIdPのサービスが落ちたとき、別ログインの確保も検討しなければ、という課題も生まれました。
5~6社の調査をして、各社99.9~99.99%のベンダーでありました。

自社開発システムへの導入障壁

自社開発のシステムは、もちろんSSO用プロトコルに対応しておらず
従来のフォーム認証を行う一般的なログインのものです。

このシステムに どうSSOを対応させるか は

  • 代理認証(Form-based認証)で対応可能か
  • CSRF対策の部分で、代理認証(Form-based認証)が利用出来ない場合どうにか対応させる
  • リバースプロキシ方式での導入をするか
  • 潔くSAML等を対応できるよう改修

の選択肢になりました。

それらの案より
・CSRFのチェックがあるので、代理認証(Form-based認証)は対応出来ない。
 トリッキーなことをするなら可能だが、採用には至らない。
・リバースプロキシ方式が利用できるベンダーはあるものの
 非常にコスト高い
となり
 「潔く自社システムを改修するのがベスト」
という結果になりました。

フォーム認証へのSSO対応として
各社でブラウザのエクステンション(拡張機能)を配布しております。
一般的には、このエクステンションでの対応でも十分だと思いますが
今回は社外ユーザも利用しているため、ブラウザのエクステンションでの対応は非現実的でありました。

他にも考慮したこととしては
ユーザへの導入方法ですが、全てのユーザーを一斉にIdPでログインする方法に切替えられれば、たいした手間にはなりません。
しかし、何かしらの理由で、フォーム認証でのアクセスも併用する場合、フォーム認証とSAMLの併用が対応しているサービスかも確認する必要があります。

全体的な感想

今回の調査を受け、認証機能を外だしできる点は、開発をしやすくすると思いました。早いうちにIdP導入し、開発のフレームとすることで煩わしい部分はお任せしたいものです。
また、IPアドレスによるアクセス制限や多要素認証も利用できるのは大きなメリットと感じます。
今や多要素認証が求められる時代なので、今後、多要素認証にするときに
大きな開発になりますので、事前にIdPを導入しておくのは
非常に安心感があります。チャンスがあれば導入しておくべきと思います。

最終に・・・
サービス系システムにIdP導入をする際に検討しので
ビジネスサイドに「これこれプランで導入着手します」と報告したら
「優先順位が変わった・・・」とのことで、SSO導入が見送りとなりました。

良いブログネタになりました。

ABOUT ME
高山 和芳
高山 和芳
トライステージのシステム部門のマネージャー。 仕様検討とか調整事項を業務とすることが多い。 趣味は釣り。