目次

  1. シングルサインオンとは
  2. シングルサインオンの種類と仕組み
    1. フェデレーション方式
    2. フォームベース認証(代行入力)方式
    3. 代理認証(代行認証)方式
    4. エージェント方式
    5. リバースプロキシ方式
    6. ケルベロス方式
  3. シングルサインオンのメリット3選
    1. 利便性の向上
    2. セキュリティの強化
    3. アカウント管理の効率化
  4. シングルサインオンのデメリット3選
    1. セキュリティリスクの集中化
    2. 単一障害点
    3. コストの増加
  5. シングルサインオン導入時のポイント3選
    1. 導入する目的を明確化する
    2. システムに適した認証サーバーを選定する
    3. 安全に運用できる体制を整える
  6. クラウド利用が多いならGoogle認証がおすすめ

 シングルサインオン(SSO:Single Sign On)とは、ユーザーが複数のシステムやアプリケーションに一度の認証でアクセスできる仕組みです。

 たとえば、カレンダーで予定を確認するときや経費精算をするとき、クラウドストレージへアクセスするときなど、毎回個別のIDとパスワードでログインしていませんか? シングルサインオンを使うと、一度のログインで複数のサービスが利用でき、個別のログイン情報を覚える必要がなくなる利便性の高い仕組みといえます。

 「サインオン」は「ログイン」と似た意味で、一度(シングル)のログイン(サインオン)で済む仕組みのため、シングルサインオンと呼ばれています。

シングルサインオン(SSO)のメリットと導入時のポイント
シングルサインオン(SSO)のメリットと導入時のポイント(デザイン:浦和ゆうすけ)

 シングルサインオンを実現するには、SSOサーバーが必要です。そして、このSSOサーバーと各システムの間でシングルサインオンを実現する方式は7つあります。

 専門用語が並んでいるため難しく感じるかもしれませんが、仕組みを完璧に理解する必要はありません。

 シングルサインオンさせたいシステム側で対応可能な方式が決まっているため、IT担当者や各システムのサポート窓口に、どの方式に対応しているのかを確認しましょう。そして、その結果に基づいてSSOサーバーの製品を選定すれば良いのです。

 シングルサインオンの方式で、近年主流なのが「フェデレーション方式」です。この方式では、SAML(Security Assertion Markup Language)やOpenID Connectといった規格が利用されています。

 主にクラウドサービスに対してシングルサインオンする際に用いられ、クラウドサービスのプラン一覧ページに「シングルサインオン」「SSO」と書かれていると、多くはフェデレーション方式が利用されています。

 フェデレーション方式の特徴としては、SSOサーバー(厳密にはIdP:ID Provider)で認証が行われることです。各システムへの認証が一元化され、セキュリティレベルの向上や、各システムへのアクセスコントロールを一元化できます。

 もし、シングルサインオンに対応していないクラウドサービスに対して簡単にログインしたい場合は、次の「フォームベース認証(代行入力)方式」を利用します。

 シングルサインオンに対応していないシステムへログインするのに便利なのが、フォームベース認証(代行入力)方式です。

 普段、ログイン情報をブラウザに保存して、ログイン画面が表示されると自動的にログインIDとパスワードが入力されるようにしている人は多いのではないでしょうか。フォームベース認証方式は似たような動きをし、ブラウザの拡張機能や専用アプリを利用することで、ログイン画面が表示されると自動的にIDとパスワードが入力され、スムーズにログインが行われます。

 ユーザーの代わりにIDとパスワードを入力してくれることから、「代行入力」方式と呼ばれています。

 なお、フェデレーション方式と異なり、SSOサーバーではなく各システム側で認証が行われるのが特徴です。SSOサーバーを導入してもしなくても、各システム側で認証が行われるため、セキュリティ強化やアカウント管理の効率化といったメリットはあまり見込めません。

 英語では「delegated authentication」といわれ、日本語訳では「代理認証」や「代行認証」と訳されます。この方式では、SSOサーバーではなく、代理認証サーバーで認証が行われることが特徴です。

 たとえば、オンプレミス型(※)のSSOサーバーを利用中の状態で、クラウド型のSSOサーバーへ入れ替えたい場合に、すべてのシステムがクラウド型のSSOサーバーに対応していないことがあります。

 その場合、新たに導入するクラウド型のSSOサーバーのをメインのSSOサーバーとし、元々利用していたオンプレミス型のSSOサーバーを代理認証サーバーとして設定することで、システム構成を大きく変えることなく、シングルサインオンのメリットを享受できます。

※オンプレミスとは
オンプレミスとは、ハードウェアやソフトウェアを自社で保有・運用することです。オンプレミス型の認証サーバーは、主に自社のオフィス内や契約しているデータセンター上に構築しているサーバーになります。

 エージェント方式は、オンプレミスのシステムを利用している場合に有効な方法です。

 エージェントと呼ばれる特別なソフトウェアをシステムにインストールすることで、各システムがSSOサーバーに対して認証済みかを確認し、シングルサインオンを実現します。

 リバースプロキシ方式は、社外から社内ネットワーク内にあるシステムへシングルサインオンする場合などに利用されます。

 通常、社内ネットワークにはファイアウォールが設置されており、外部からの直接アクセスを制限しています。リバースプロキシを利用することで、外部からのアクセスを制御し、安全に社内ネットワーク内のシステムへアクセスできます。

 また、エージェント方式と異なり、各システムにソフトウェアをインストールする必要はありません。

 ケルベロス方式は、「オンプレミスのSSOサーバー」から「オンプレミスのシステム」へシングルサインオンする際に使用されます。一般的には、MicrosoftのActive Directoryに統合されて使用されることが多く、統合Windows認証とも呼ばれます。

 つまり、ケルベロス方式における「オンプレミスのSSOサーバー」とは、Active Directoryサーバーであることが多いです。

 現時点でActive Directoryを利用していて、Active Directory認証に対応しているシステムを利用している場合に、新たなSSOサーバーを導入せずともシングルサインオンが実現できるので便利になります。

 シングルサインオンを導入するとどのようなメリットがあるのでしょうか。代表的なものを3つ紹介します。

  1. 利便性の向上
  2. セキュリティの強化
  3. アカウント管理の効率化

 シングルサインオンを利用すると、ひとつの認証情報(IDとパスワードなど)で複数のシステムへログインできるため、ユーザーの利便性が向上します。

 たとえば、10個のシステムがそれぞれ異なるログインIDとパスワードを要求する場合、覚えるのが大変ですよね。誰しも、一度はパスワードを忘れた経験があるのではないでしょうか。

 しかし、シングルサインオンを利用することで、IDやパスワードを管理する手間や面倒さから解放されます。また、共通のログイン画面から各システムにアクセスできるため、「あれ、このシステムのログインURLは何だったっけ」といった混乱を避けられます。

 シングルサインオンを利用することで、セキュリティを強化できます。

 まず、SSOサーバーを介して各システムにログインするため、セキュリティを一元化できます。これにより、パスワードポリシーの統一化(パスワードの最小桁数や英数字と記号の組み合わせなど)や、多要素認証の設定などが可能になります。

 さらに、複数のパスワードを覚える必要がなくなり、ふせんやメモ帳にパスワードを記録しなくて良いため、パスワードが漏洩するリスクを軽減できます。

 なお、SSOサーバーを経由せずにシステムにログインできる場合は、セキュリティ上のリスクが残るため、各システムがSSOサーバー経由でしかログインできないように設定しておきましょう。システムによっては設定ができないことがあり、その場合はセキュリティリスクがあることを念頭においておく必要があります。

 シングルサインオンを利用すると、複数システムのアカウントを一元管理できるため、IT担当者の業務効率が向上します。

 たとえば、従業員がパソコンを紛失し、急いで社内システムへのアクセスをブロックしたい場合、各システム上でアカウントをひとつずつ無効化する必要はありません。代わりに、SSOサーバーのアカウントひとつを無効化するだけでブロックできます。ただし、SSOサーバーを経由しなくてもログインできるシステムでは、この利点はありません。

 ちなみに、SSOサーバーの中には、シングルサインオンの機能だけでなく、ユーザーのプロビジョニング(作成)とデプロビジョニング(削除)の機能を備えたものもあります。この機能は、SSOサーバーから各クラウドサービスのアカウント作成や削除が簡単に行なえるため、10個のクラウドサービスのアカウントを作成する場合でも1回で設定できる便利な機能です。

 シングルサインオンにはメリットだけでなく、デメリットもあります。以下の3つは、そのなかでも代表的なものです。

  1. セキュリティリスクの集中化
  2. 単一障害点
  3. コストの増加

 シングルサインオンがセキュリティ対策につながる一方、セキュリティ対策が十分でないと、大きなリスクとなります。

 SSOサーバーへの攻撃や不正アクセスが成功すると、複数のシステムへアクセスされる可能性があります。あなたがひとつのIDとパスワードで複数のシステムにアクセスできるという利便性は、悪意を持つ第三者にとっても利点となるのです。

 そのため、シングルサインオンを導入する際には適切なセキュリティ対策が必要です。

 たとえば、各アカウントに対する強力なパスワードポリシーの設定や多要素認証の導入、SSOサーバー自体のセキュリティも厳重に管理する必要があります。

 セキュリティリスクを適切に管理することで、シングルサインオンの利便性を享受しながら安全な環境を維持できます。

 SSOサーバーが障害となった際には、複数のシステムへアクセスできなくなる恐れがあります。そのため、障害に強い仕組みを持つ製品を選定し、安定性を確保することが重要です。

 また、いざ障害が発生した際には、SSOサーバーを経由せずに各システムへのアクセスが可能なバックアッププランを用意しておくことも有効です。安定性のある製品選定やバックプランの対策を講じることで、SSOサーバーの障害が起きた場合でも業務の継続性を確保できます。

 シングルサインオンを実現するにはSSOサーバーが必要になり、オンプレミス型かクラウド型のどちらかのSSOサーバーを導入する必要があります。

 オンプレミス型を導入する場合、SSOサーバーのハードウェアやソフトウェアが必要です。導入時には設定やカスタマイズのコストが発生するうえ、運用や保守にも一定のコストがかかります。

 一方、クラウド型のSSOサーバーは、利用料金が発生します。しかし、クラウド型の場合、ハードウェアの購入や自社での運用が省けるため、オンプレミス型と比較すると費用を安く抑えやすいです。ただし、こちらも導入時の設定やカスタマイズのコスト、運用や保守に対する一定のコストがかかります。

 また、どちらのSSOサーバーでも、各システムがシングルサインオンに対応するために、追加費用がかかる場合があります。

 さらに、シングルサインオンの設定や管理には、認証やセキュリティに関する専門知識やスキルが必要になるため、専門的な知識を持つ人材の採用や、外部の専門家に依頼する場合には、人件費やコンサルティング費用がかかります。

 シングルサインオンを導入する際のポイントは3つです。

 シングルサインオンを導入する前に、目的を明確にしておくことが重要です。事前にシングルサインオンを導入する理由や活用方法など、具体的な目標を定めておきましょう。

 たとえば、利便性の向上、セキュリティの強化、アカウント管理の効率化など、具体的な導入目的を設定します。事前に導入目的を設定しておくことで、導入後の成果を明確にできます。

 シングルサインオンを導入する前に、各システムがシングルサインオンに対応しているかを確認する必要があります。もし、10個のシステムのうち2個しかシングルサインオンに対応していない場合、メリットは限定的です。

 対応可能なシステムが少ない場合は、シングルサインオンの利便性や効果を最大限に引き出すことが難しいかもしれません。

 対応可能なシステムを確認した後、SSOサーバーの選定をします。SSOサーバーは、社内にデータを保管したいなどの特別な理由がない限り、クラウド型のSSOサーバーがおすすめです。

 オンプレミス型の場合はハードウェアの購入や運用、故障時の対応、バージョン管理やセキュリティパッチ管理などが必要となり、これらを怠るとセキュリティリスクとなるためです。

 シングルサインオンは導入がゴールではありません。その後の運用は何年も続くため、適切な運用体制を確保する必要があります。

 運用とは、具体的に以下の項目に対応します。

  • 対象システムの追加/削除対応
  • 外部からの攻撃や不正アクセスの監視
  • 不具合や障害発生時の対応
  • バージョンアップやセキュリティパッチの適用
  • 機能追加時のカスタマイズ
  • 定期的なセキュリティポリシーの見直し
  • 運用ドキュメントの整備

 シングルサインオンを利用する際は、セキュリティが重要となるため、運用体制を整えて、安全に運用しましょう。

 ここまで読んで、「シングルサインオンの導入って難しそうだな」と感じている人も多いと思います。そこで、筆者がおすすめするシングルサインオンは、「Google認証」を活用した方法です。

 クラウドサービスを利用されている人なら、「Googleアカウントでログイン」というボタンを見たことはないでしょうか。

 たとえば、ビジネスチャットツールのSlackやChatwork、オンラインストレージのDropboxやBoxなどは、Google認証を利用してログインできます。Google認証を使うことで、専用のSSOサーバーを導入する必要がなく、各クラウドサービスに1つのGoogleアカウントでログインできるため、とても便利ですよね。

 ただし、Google認証が利用できるのは基本的にクラウドサービスのみで、オンプレミスのシステムにGoogle認証を導入するには、追加の開発が必要になる可能性があります。

 なお、会社でクラウドサービスへGoogle認証する際は、Google Workspaceのアカウントを使用し、独自ドメインのGoogleアカウントを持つ必要があります。

 無料のGoogleアカウントでGoogle認証すると、会社が契約しているクラウドサービスではなく、個人が契約したクラウドサービスとしてログインされてしまうためです。

 「導入済みのクラウドサービスがGoogle認証に対応していない」「基本的にオンプレミスのシステムを利用している」そのような場合は、ぜひSSOサーバー導入によるシングルサインオンの実現を検討してみてください。