ローコード開発の記事
ARTICLEシングルサインオンはどんな仕組み?種類やメリットについて解説
シングルサインオンの導入には、どのようなメリットやデメリットがあるのでしょうか?まずは仕組みや特徴を理解しましょう。手間を減らしセキュリティを高められるシステムを上手に活用しましょう。
目次
シングルサインオンの基礎知識
そもそも、シングルサインオンとはどんなものかご存知ですか?導入することでどのようなメリットがあるのかを紹介します。
一回の認証で複数サービスにアクセス
シングルサインオンのシングルは『一回』、サインオンはシステムを使用するときの『認証』を意味します。
この二つの言葉を組み合わせたシングルサインオンとは、『一回認証すると複数のシステムに認証できる』システムやツールのことです。SSOと略されます。
また、都度認証しなくても複数システムを利用できること自体をシングルサインオンということもあります。
そのため、シングルサインオンを導入すると、何度もログインしなくてもシングルサインオンに対応する全てのシステムを使用できるのです。
これにより業務の途中で、システムごとにログインを繰り返す手間がなくなります。
パスワード管理の煩雑さが問題に
複数のWebサービスや社内システムを取り入れる企業が増えている中、パスワードの管理が課題となるケースが増加しています。
社員がそれぞれのツールを使用するためにはIDやパスワードが必要ですが、管理すべきIDやパスワードが増えすぎて、管理が行き届かないケースがあるのです。
IDやパスワードを使いまわすこともありますが、セキュリティリスクが高まります。実際に、一つのパスワードが漏れたことから、全てのシステムに侵入されるというケースは珍しくありません。
そこで、パスワード管理の煩雑さという課題に対処しつつ、セキュリティ対策もできる方法として、シングルサインオンが注目されているのです。
シングルサインオンの変遷
一つのパスワードで複数のサービスやシステムの認証ができるシングルサインオンは、さまざまな技術の進歩や、企業で使用するシステムの変化に対応し変化してきました。具体的な変化がどのように起きたのか解説します。
はじめは社内のみ
最初にシングルサインオンが使われ始めたのは、企業の社内ネットワークへのログインが目的でした。企業が使用するシステムは、基本的に社内システムのみで、全て社内ネットワーク内にあったのです。
そのため、パソコンにログインすると、自動的に社内システムに認証できる、というのが、当時のシングルサインオンの基本でした。代表的なのは、Active DirectoryというWindows Serverのディレクトリ機能です。
社外のサービスを今のように利用することがなかったことや、個人が今程多くのパスワードを保有することがなかったという背景もあり、社内ネットワークに限定された機能でした。
フェデレーションの登場
社内ネットワーク限定の機能として導入され始めたシングルサインオンでしたが、徐々に『社内ネットワークを越えて』やり取りをし始めます。
信頼関係のある組織同士であれば、都度パスワードを入力しなくてもシステムを使用できるようになったのです。例えば、親会社の社員が子会社のシステムにシングルサインオンでログインできます。
このとき登場したのが、フェデレーション方式と呼ばれるものです。ドメイン情報が異なる場合でも認証情報を連携できるようになりました。
クラウドへの対応
クラウドサービスを導入する企業が増えると、社内ネットワークや信頼関係のある組織同士に限定したシングルサインオンではまかなえない部分が出てきました。
そこでクラウドに対応したIDaaS (Identity as a Service)が登場したのです。
IDaaS にログインすると、さまざまなクラウドサービスに一括でログインできます。クラウド利用の利便性向上と、セキュリティ対策を兼ねるサービスのため、多くの企業に広まっているのです。
クラウドサービスに便利なIDaaSは、社内ネットワークのシングルサインオンに利用するActive Directoryとの連携ができるものもあります。
連携することで、社内システムにもクラウドサービスにもログインできるシングルサインオンとして使用可能です。
シングルサインオンのメリット
シングルサインオンには、どのようなメリットがあるのでしょうか?代表的なメリットについて解説します。
ログインの手間を軽減
1番のメリットは、社内システムやクラウドサービスのログインの『煩わしさを減らせる』ことです。複数のシステムに別個にログインするのは手間がかかります。
特に仕事中は、ログインするために手を止めなければいけないということもあるでしょう。
シングルサインオンを活用すると、作業の手を止めることなく自動的にログインできるため、業務効率を向上できるのです。
情報漏洩などセキュリティリスクの低減
セキュリティリスクを減らすためにも、シングルサインオンは役立ちます。
たくさんのシステムにログインするために、それぞれIDとパスワードを設定するのは大変なことです。特に、セキュリティのために複雑で長いパスワードを設定すると、全てを覚えられません。
分からなくならないよう、メモに記録して保管しておく人もいるでしょう。しかし、それではメモの紛失により外部からの侵入を許すこともあるのです。
シングルサインオンなら、長いパスワードを設定しても、覚えるのは一つのみで済みます。一つであれば、メモがなくても覚えやすいでしょう。加えて、複数のIDやパスワードを管理する面倒さからも解放されます。
管理者の負担やコストを低減
シングルサインオンでIDやパスワードの管理がシンプルになると、IT部門や情報システム部門といった、『管理者の負担が減る』というメリットもあります。
多くのIDやパスワードを社員全員が管理するのは大変です。パスワード忘れや、それによるアカウントロックが起こることもあります。
すると、管理者がフォローや処理をしなければならず、業務の負担が増えるのです。企業の規模によっては、毎日多くのフォローが必要で、パスワード管理のシステムや人員の確保をしなければいけないというケースもあります。
一つのIDやパスワードのみを管理すればよいシングルサインオンなら、管理のためのシステムや人材が必要ありません。その分のコストを減らせるのもメリットです。
シングルサインオンのデメリット
便利なシングルサインオンですが、デメリットもあります。自社へ導入する際には、後々のことも考え、デメリットも確認してから検討することが大切です。
簡便さゆえのリスク
一つのIDとパスワードのみで、多くのシステムにログインできる簡単さは、シングルサインオンのメリットです。しかし、パスワードが外部に漏れてしまうと、一転してリスクになります。
個別にログインする場合と違い、一つパスワードが漏れるだけで全てのシステムに侵入されてしまうのです。このリスクに対策するには、端末制限や2段階認証を取り入れて、セキュリティを強化しましょう。
また、シングルサインオンのサービスやシステムが停止すると、全てのシステムを使えなくなるという点もデメリットです。
何かしらの障害が発生したときに備え、普段から予備装置を運用するといったリスクヘッジが欠かせません。
全てのサービスに適応するわけではない
社内で使用しているサービスの中には、シングルサインオンと連携できないものもあります。そのため、導入しても個別にパスワードを入力しなければいけないことがあるのです。
確認せずに導入すると、連携できず業務の負担や手間を思ったように軽減できないこともあります。
このような事態を防ぐため、あらかじめ使用中・導入予定のサービスがシングルサインオンに対応しているか確認しましょう。
シングルサインオンをより強力にする方法
シングルサインオンはIDやパスワードの管理が楽になる反面、情報漏洩による不正アクセスのリスクが高まります。そのため、次のような方法を用いてシングルサインオンをより強力にしておくことをおすすめします。
IPアドレス制限をかける
IPアドレス制限をかければ、情報漏洩が起きた場合でも特定のIPアドレスでないとシングルサインオンを利用できません。
社内全体でIPアドレス制限を設定するのは大変な作業ですが、確実なセキュリティ対策の1つです。
ワンタイムパスワードを発行する
認証ごとに1回だけ発行されるワンタイムパスワードを発行するのも有効です。メールやSMSで送信されたワンタイムパスワードを入力しなければ認証されないため、シングルサインオンのセキュリティを大幅に高めることができます。
シングルサインオンの実装方式
複数サービスやシステムに一つのパスワードでログイン可能という点は共通ですが、シングルサインオンには実装方式にいくつか種類があります。
それぞれの仕組みを知り、自社に合うタイプを選びましょう。
エージェント方式
Webサーバーに専用のエージェントソフトウエアを導入するタイプを『エージェント方式』といいます。こちらはWebサーバー内のエージェントに、ログイン情報を管理させる方式です。
ログイン実行までの流れは、エージェントから認証を求められIDとパスワードによる認証が成功すると、クライアントの情報がSSOサーバーへ格納されます。次にSSOサーバーは認証済みCookieを発行し、エージェントを通してクライアントに返される仕組みです。
以降は、認証済みCookieが通行手形のような役割を果たし、他のシステムにもログインが可能になります。
リバースプロキシ方式
『リバースプロキシ方式』は、連携先サーバーへのアクセスを、リバースプロキシサーバー経由で実施する方式です。
ログイン実行までの流れは、まずIDやパスワードを管理するソフトウエアであるエージェントを、リバースプロキシサーバーへ設置します。
1度ログインして認証済みCookieが発行されると、そのCookieの提示でリバースプロキシサーバーが連携先のWebシステムのサーバーへ認証情報を送信し、自動でログインが可能になる仕組みです。
インターネット上で使うWebシステムを導入している場合、Webシステムそのものにエージェントを設置できないケースも珍しくありません。リバースプロキシ方式はプラットフォームに依存しないため、そのような場合でも取り入れやすいといえます。
代理認証方式
代理認証方式とは、ユーザー自身がログインするのではなく、エージェントが代理で認証を実行する方式です。
ログイン実行までの流れは、ログインPC内に導入したエージェントが、ログイン画面の起動を監視・確認することにより、自動で認証情報を入力し、ログインする仕組みになっています。
こちらの仕組み上Webアプリケーション・クラウドサービスに対し大幅な改変が不要であり、導入のしやすさが注目されています。
また、エージェント方式やリバースプロキシ方式と組み合わせた使い方も可能です。
ベーシック認証方式
Basic認証方式とは、シングルサインオンで管理しているIDやサーバーをHTTPヘッダーに記載し、サーバーに送信することでログインを可能にする仕組みです。
シンプルな認証方式なので、社内システムなど閉鎖的なシステムでの利用がおすすめとなります。
ケルベロス方式
ケルベロス方式とは、Windowsが提供するActive Directoryに実装されている認証方式です。ドメイン内にある複数のサーバー間でのシングルサインオンを実現し、認証したユーザーにはチケットが発行されます。
そのチケットを参照して各サーバーへの認証を許可するというシンプルな認証方式です。
フェデレーション方式
サービス事業者各社が、共通のプロトコルを通じてサービス横断的なシングルサインオンを実現する認証方式です。
IDプロバイダーが認証情報を発行し、各サーバーへの認証が許可されます。現在では多くのクラウドサービスが採用している認証方式です。
中でもSAML(Security Assertion Markup Language)と呼ばれるプロトコルを採用するのが一般的です。
シングルサインオン導入のポイント
自社にシングルサインオンを導入する場合、どのような点を重視して選ぶとよいのでしょうか?ポイントを踏まえて、自社に合うタイプを導入しましょう。
課題や必要性を検討
まず大切なのは、自社の抱える課題をはっきりさせることです。
業務効率化や管理者の負担軽減のためにシングルサインオンを導入したいと考えている場合、本当に導入で課題は解決するのでしょうか?
確実に課題解決に役立つことを確認するためにも、まずは課題をはっきりさせます。課題とその解決策を検討した結果、シングルサインオンは必要ない、という結論に至る可能性もあるでしょう。
さまざまな可能性を考慮して、検討することが大切です。
導入効果やシステム連携の検証
導入した結果、どのような効果が得られるか理解することも欠かせません。
シングルサインオンを取り入れて実現する、IDやパスワード管理の効率化と、セキュリティの強化は、自社にどのような効果をもたらすでしょうか?
最初に洗い出した課題を、これらの機能で解決可能なら、一定の効果が見込めるため導入の価値があるといえるでしょう。
また、自社で使っているシステムと、導入しようとしているシングルサインオンが連携できるのかも確認が必要です。中には、連携ができないシステムもあります。
現時点で使っているシステムはもちろん、導入予定のシステムも含めて確認が必要です。事前のチェックで、後々の課題を減らせます。
スケジュールやコストの確認
導入までのスケジュールに無理がないかも確認が必要です。
導入を検討する段階では、業務を遂行する中で起きている課題の洗い出しに時間をかける必要があります。実際に導入が決まってからは、アプリケーションの修正といった微調整が生じることもあるでしょう。
他にも、通常業務とは別に、導入のために追加の業務が発生する可能性があります。それらを踏まえた上で、必要な時間と人員が確保できていることを確認し、具体的に動き出しましょう。
また、コストも重要なポイントです。自社で出せる予算に応じたシステムを選択します。
まとめ
シングルサインオンは、一つのIDとパスワードで複数のシステムにログインできる仕組みです。多くのシステムやサービスを使う企業が増えている中、課題となっているパスワードの管理を効率化できます。
ログインの手間をなくしつつ、セキュリティを強化可能な点がメリットです。
その一方、パスワードが漏れると全てのシステムに侵入されるリスクがあります。そのことを知った上で、端末の制限や2段階認証などの対策をする必要があるのです。
自社の課題を洗い出し、シングルサインオンで解決できるかを検討してから、導入しましょう。
また、Webアプリ開発を初期コスト最大90%カットで生産性を大幅UPしたい方には、弊社のシステム構築不要のローコード開発ツール「SPIRAL®」もおすすめです。問い合わせ・資料請求は無料ですので、まずはお気軽にお問い合わせください。