【シングルサインオン解説】シングルサインオン実装「代理認証編」
シングルサインオン実装の1つである「代理認証」の概要について紹介します。
「シングルサインオン」とは
「シングルサインオン(SSO:Single Sign-On)」とは、1回のユーザー認証処理によって、それぞれ独立した複数のソフトウェアシステムにログインすることを可能とする仕組みを指します。
シングルサインオンの概要についてはこちらも参照ください。
→シングルサインオンの概要
「代理認証」とは
「代行認証」方式とは、クライアントPCに導入したエージェントが、シングルサインオン対象となるシステム(アプリケーション)のログイン画面を監視し、ログイン画面が起動したらユーザーの代わりに認証情報(ID+パスワード)を代行入力しログインを実施することで、シングルサインオンを実現する仕組みです。
専用の代理サーバを設置する必要があり、アプリケーションに接続するごとに裏で自動的にログインを行います。
「代理認証」の特徴
レガシーシステムにもシングルサインオンを適用
代理認証は、最新のシングルサインオン技術をサポートできない「古いアプリケーション」や「古いパッケージソフトウェア」に対してもシングルサインオンを実現できる可能性があるという点を大きな特徴としています。
特に、古いWebシステムをシングルサインオン対応させる場合に利用されます。
制約
「Webアプリケーション」や「クラウドサービス」の仕組みによっては、代理認証を実現できないケースもあります。
「代理認証」のメリットとデメリット
メリット
アプリケーション側の改修が不要
対象とする「Webアプリケーション」や「クラウドサービス」サイドで特別な改修を必要としないため、比較的容易に導入できます。
クラウドサービス対応
「G Suite」「Office 365」「Dropbox」「Salesforce」などのクラウドサービスに対応できます。
クライアント/サーバ形式アプリケーション対応
「Webアプリケーション」の他にも、社内システムでよく利用されている「クライアント/サーバ形式アプリケーション」にも対応できます。
ディレクトリサービス連携
代理認証サーバを「IDaaS(Identity as a Service)」や「LDAP(Lightweight Directory Access Protocol)」などのディレクトリサービスと組み合わせることで、統合シングルサインオン環境も構築できます。
セキュリティ向上
ユーザーは、レガシーシステムのログイン時にID+パスワードを入力する必要がなくなるため、システム全体としてセキュリティを向上できます。
権限レベル管理
代理認証方式は「組織レベル」ではなく「権限レベル」で管理できるため、より柔軟なアクセス権管理を実施できます。
「権限レベル」の設定により、「一部のユーザーは代理認証」「その他のユーザーは他の認証方式」のように分けて管理できます。
デメリット
エージェント導入
代理認証方式では、構成上、対象システムを利用するすべてのクライアントPCにエージェントを導入する必要があります。
該当する台数が大きくなると、導入の妨げになるケースもあります。
エージェントのカスタマイズが必要
エージェントが対象システムのログイン画面に対してID+パスワードを入力できるようにするための作り込みが必要です。
最後に
「代理認証」はレガシーシステムにもシングルサインオンを実装できる可能性がある方式ですが、ケースごとに異なるため、実際に適用できるかどうかについては調査を必要とします。
弊社にご連絡いただければ「代理認証を組み合わせたシングルサインオンについてのご提案」など、トータルサポートでご支援できます。
まずは、お気軽にお問い合わせください。
参考元サイト
- https://www.ogis-ri.co.jp/pickup/themistruct/note/note_sso01.html
- https://it-trend.jp/single_sign_on/article/75-0023
- https://www.ashisuto.co.jp/product/theme/security/sso.html
- https://help.salesforce.com/articleView?id=sso_delauthentication.htm
- https://kfep.jp/openam-news-2017-01-23-3479
- https://boxil.jp/mag/a2411/#2411-4
- https://trustlogin.com/sso/
- https://blog.gluegent.com/2018/02/gluegent-gate-delegate-authentication.html