シングルサインオン(SSO)とは?仕組み・認証方式|サイバーセキュリティ.com

シングルサインオン(SSO)とは?仕組み・認証方式



シングルサインオン(SSO)とは何か、仕組みや使用した際のメリット・デメリット、利用者が多いGoogleアカウントへのシングルサインオンの設定方法まで、初めての方でも分かり易く解説していきます。

シングルサインオン(SSO)とは

シングルサインオン(SSO)とは、1回の本人認証のみで複数の異なるアプリケーションやシステムを利用できる認証の仕組みです。

シングルサインオンによって、毎回ログインをする手間やユーザーのパスワード忘れに伴う対応を最小限に減らすことが可能に。また、パスワードのメモ書きによる情報流出などのリスク低減効果も期待できるでしょう。

企業が抱えるID・パスワードの問題とは?

企業の社員が抱えているIDやパスワードの平均個数は「27以上」と言われています。クラウド型のサービスがどんどんと普及し利便性の向上が図られている一方で、ID・パスワードに関するさまざまな問題も無視できません。

ログインの手間で【業務効率の低下】

各サービスやアプリへ都度ログインをする手間が発生することで、業務効率の低下につながっています。

パスワードの使いまわしで【情報漏えいのリスク】

さまざまなサービスやアプリを利用するほど、覚えておくべきパスワードの数がどんどんと増えていきます。そのため、ユーザーは覚えきれずに、メモをしたり簡単なフレーズの設定にしたり、同じパスワードを使いまわしていることが問題視されています。これにより総当たり攻撃やリスト型攻撃などのサイバー攻撃の被害に遭った際に、情報漏えいのリスクが高まってしまいます。

IT部門の【管理業務のリソース増大】

業務用アプリやシステムを管理する社内のIT部門・情報システム部門の負担jは年々増加しています。このほかにも、社員によるパスワード忘れやアカウントロックなどの対応にも追われてしまい、人員増員によるコスト増加も発生しています。

シングルサインオン(SSO)のメリット

ID・パスワードの管理は、ユーザーだけでなく管理部門にも多大な影響を与え続けています。こういった問題を解決するのがシングルサインオン(SSO)です。

利便性の向上

シングルサインオンを導入すれば、1つのID・パスワードのみでの運用が可能となるため、多くのID・パスワードを覚えておく必要がなくなります。また、アプリやシステムを利用する際に都度ログイン情報を入力する手間を省略できるため、業務効率も向上するでしょう。

セキュリティリスク削減

セキュリティの観点から、各サービスやアプリごとに複雑で長いパスワードを設定しているケースも多いでしょう。しかし、シングルサインオンなら覚えておく必要がありません。パスワードのメモ書きや使いまわし防止にもつながるため、情報漏えいのリスク低減にも効果が見込めます。

管理リソースやコストの削減

シングルサインオンを導入する際に、新たなシステムの構築や人員の増員をする必要もありません。社内のIT部門・情報システム部門の負担は減り、ほかの重要な業務にリソースやコストを振り分けることが可能になるでしょう。

シングルサインオン(SSO)の認証方式と仕組み

シングルサインオンには認証方式がいくつかあります。ここでは、5つの認証方式と仕組みを解説します。

エージェント方式

エージェント方式とは、Web上で実現するシングルサインオンの仕組みです。シングルサインオン対象Webシステムにはそれぞれエージェントを導入しなければならず、導入エージェントが各シングルサインオン対象システムに対応している必要があります。

一方でエージェント方式では、リバースプロキシ方式に比べて、アクセス集中によるボトルネックが発生しにくく、既存のネットワーク環境に変更を加える必要がない点が最大のメリットと言えるでしょう。

リバースプロキシ方式

リバースプロキシ方式とは、エージェント方式同様にWeb上でシングルサインオンを実現する仕組みです。「リバースプロキシ」と呼ばれる中継サーバで認証を行い、経由することで対象システムにシングルサインオンでアクセスできます。

リバースプロキシ方式では、アクセスが全てリバースプロキシサーバ経由になるため、この部分が場合によってはボトルネックになるケースが見られます。また、直接Webシステムにアクセスさせずに、リバースプロキシを経由するようネットワーク設計を考慮する必要も出てきます。

とはいえ、シングルサインオン対象システムにエージェントなどを導入する必要がなく、既存システムへの影響なく事前検証ができる点は、前述のエージェント方式よりもリリースまでの工数を短縮できるメリットもあります。

代理認証方式

代理認証(フォームベース認証)は、クライアントのPCに導入したエージェントが、シングルサインオン対象システムのログイン画面を監視し、ログイン画面が起動したら認証情報を代行入力(代理認証)する仕組みです。SAML認証に対応していないサービスやWebブラウザでログインフォームを開く社内システムにも対応可能。

代行認証方式はWeb、C/Sなどのシングルサインオン対象システムの制限が少なく、導入も比較的簡単に行うことができます。構成上、クライアントPCにエージェントを導入することと、アカウント情報データベースに接続できる環境が必要となります。

フェデレーション方式(SAML認証)

SAML(Security Assertion Markup Language)認証方式とは、主にクラウドのリソースを含めたシングルサインオン実装に使う仕組みです。SAMLとは、異なるインターネットドメイン間でユーザー認証を行うための標準規格のことを指します。

SAMLは、IdP(Identity Provider)とSP(Service Provider)の2つの要素で構成されています。Webサービスを提供するSP側がSAMLに対応していれば、IdPが提供する認証情報を利用してシングルサインオンを実現することができます。

Google WorkspaceやMicrosoft 365、Salesforceなどといった多くのクラウドサービスはSAMLに対応しているので、これらのサービスをシングルサインオン対象に含めたい場合は、SAML認証がおすすめです。ただし、事前に実装するシングルサインオン製品(IdP)側でもSAMLに対応しているかを確認しておきましょう。

透過型方式

透過型方式は、ユーザーがWebシステムにアクセスする際の「通信を監視する方式」です。端末とWebシステムの間に監視するシングルサインオン製品を経由することで、ユーザー認証が必要なときのみ認証情報を送信します。シングルサインオンの方式はいくつかありますが、透過型方式は比較的新しい手法といえるでしょう。

ほかの方式では、Webサーバにエージェントをインストールするといった手間が発生します。また、シングルサインオンを実現するためにネットワークの構成変更の必要に迫られるケースもあるでしょう。このような課題を改善して、シングルサインオンを可能にしたのが透過型方式です。

Googleアカウントへのシングルサインオンの設定方法

Googleアカウントへのシングルサインオンを実現するためには、IDプロバイダとして以下の一連の手順が必要になります。

G Suiteでの設定(G Suiteで対応済みのSaaSを連携する場合)

まずはじめに、G Suiteに管理者アカウントでログインします。管理コンソールに移動して、SMALアプリケーションでシングルサインオン機能を有効にしましょう。次に[Google IdP情報]という画面に、シングルサインオンのURLとエンティティIDが自動入力されるので、これらをコピーして証明書をダウンロードし、他社サービス側の設定にある適切な箇所に入力します。URLやIDのほかにIDPメタデータの代用も可能です。

G Suiteの画面に戻り、[カスタムアプリの基本情報]から「アプリケーション名」「説明」を入力します。[サービスプロバイダの詳細]で他社サービス側から提供されるACSのURL、エンティティID、開始URLを入力してマッピング追加を行ってください。

これらのカスタムアプリ登録が完了したら、他社サービスの設定画面からシングルサインオンのオン・オフを切り替えます。G Suite側での設定はこれで完了となるので、実際にシングルサインオン機能が有効となっているか確認してください。

ほかのSSO対象側の設定(上記以外の場合)

シングルサインオンの実現には、G Suite側で対応済みでないSaaSを連携する場合は、以下の設定が必要となります。

  1. Google管理コンソールに管理者アカウントでログインし、 [アプリ] [SAML アプリ]へアクセスして、[新しいSAMLアプリ]を選択します。最上位組織と組織部門の表示の中から、有効または無効を選び、設定を保存してください。
  2. 組織部門全体または組織部門内における一部のユーザーに対してのみ有効に設定したい場合は、アクセスグループを使用して、サービスの有効化を行います。
  3. 最後にユーザーがSAMLアプリへのログイン用のメールアドレスと、Googleドメインへのログイン用のメールアドレスが一致しているか確認できたら設定完了です。

設定変更は通常数分程度で反映されますが、最長で24時間ほどかかることもあるため注意が必要です。

シングルサインオンのデメリット

パスワード漏洩によるリスク

シングルサインオンでは1つのパスワードを使って複数のWebサービスにログインします。つまり使用している1つのパスワードが漏洩してしまうと、全てのWebサービスに対して不正にログインされる可能性が発生します。

このような事態を避けるために、シングルサインオンを利用する時には、ワンタイムパスワードや多要素認証などと組み合わせて認証を強化することがあります。これにより、たとえパスワードが漏洩したとしても、別の手段の認証が要求されるため、不正なアクセスから防御できます。

管理システムのダウンのリスク

シングルサインオンの機能を提供しているサービスや認証情報の管理システムが停止した場合、全てのアカウントにログインできなくなる可能性があります。もしそのような場合、利用しているWebサービスに対して、シングルサインオンではなく、個別のパスワードを利用してログインするなどの対応が必要です。

まとめ

複数のWebサービスを利用するユーザーにとって、適切なIDとパスワードの管理は必須です。しかしインターネット上には様々なWebサービスがあり、それぞれが独自のログイン機能を提供しています。ユーザーはWebサービスごとにIDとパスワードを使い分けることが一般的でした。

シングルサインオンの導入は、ユーザーから繁雑なパスワード管理から解放し、インターネットをさらに便利に活用できるものにしてくれます。しかしデメリットとして紹介したように、シングルサインオンも決して万能な仕組みではありません。シングルサインオンを利用する時には、メリットとデメリットを十分に理解しておくことが重要です。

よくある質問

シングルサインオンのセキュリティが心配です。

シングルサインオンのデメリットで紹介したとおり、認証を1つで行うためシングルサインオン側のセキュリティ強化は必須と言えるでしょう。そのためシングルサインオン実装の際には、セキュリティの面でも自社に適しているか確認しておく必要があります。

シングルサインオンを利用していても通常のログイン画面からログインはできますか?

シングルサインオン(SSO)を利用している場合でも、通常のログイン画面からのログインは可能です。


SNSでもご購読できます。