SSO(シングルサインオン)とは?フェデレーション方式などの仕組み、メリット、デメリットを初心者にもわかりやすく解説!

sso ITトレンドワード
記事上広告

近年様々なWebサービスやクラウドサービスを業務で利用することが増えてきて、「このパスワードなんだっけ…?」となることが増えていませんか?

SSO(シングルサインオン)は、そのようなパスワードの問題を解決し、一つのID、パスワードで複数のサービスに自動でログインできる仕組みです。

この記事では、SSO(シングルサインオン)の仕組み、メリットデメリットについて、初心者の方にもわかりやすく解説します。

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

SSOとは、「Single Sing On」の略称で、ID・パスワードによる認証を1度行うと、複数のWebサービス・クラウドサービス・アプリケーションにログインできるようにする仕組みのことです。

通常上記のようなサービスを利用する場合、そのサービスごとにID、パスワードを設定しないと利用することはできません。しかし、近年スマホやタブレットの普及、クラウド利用の増加などによって、様々なサービスを業務で使うことが増えてきました。そのため、それぞれのサービスごとのパスワードを覚えきれず、何度もパスワードを再設定する羽目に…という方も多いのではないでしょうか。

しかし、SSO(シングルサインオン)であれば、ID、パスワードを一つ覚えておけば様々なサービスにアクセスできるので、パスワードの管理から解放されます。

SSO(シングルサインオン)を実現する方式とは?

SSO(シングルサインオン)を具体的に実現するには、以下4つの方式があります。

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

一つ目が、SAML方式(フェデレーション方式)です。SAMLは「Security Assertion Markup Language」の略称で、異なるインターネットドメイン間でユーザー認証を行うための標準規格のことです。

SAML方式(フェデレーション方式)は、IdP(Identity Provider)とSP(Service Provider)の2つの要素でクラウド上でSSOを実現します。認証は以下のような流れで行われます。

①ユーザーが対象のサービス(SP)にアクセスする

SPIdPに対する認証要求(SAML)を作成し、Idpに送信する

SPからの要求を受け取ったIdPが、ユーザーにログイン画面を表示

④ユーザーがID、パスワードを入力する

⑤ログイン成功後、認証応答(SAML)を作成し、SPに返す

SPIdPから応答を受け取り、サービスへの自動ログインを実施

⑦自動ログイン後、サービスのトップページが表示(ログイン完了

MicrosoftGoogleWorkplaceSalesforceといった主要なクラウドサービスはこのSAML方式に対応しているので、IdP側のSSO製品を導入すればSSOを実現することが可能で、すでに多くの企業で導入されています。

②代行認証方式

二つ目が、代理認証方式です。ユーザーのPCにエージェントと呼ばれる専用のシステムをインストールし、ログイン画面が出てくるとユーザーの代わりにID、パスワードを入力する仕組みです。

各ユーザーのPCにエージェントをインストールする手間はかかりますが、単純でボトルネックも発生しづらい方式です。

③リバーシプロキシ方式

三つ目が、リバーシプロキシ方式です。Webサービスで主に使われる方式で、リバーシプロキシと呼ばれる中継サーバにエージェントをインストールして認証を行い、SSOを実現します。この方式のデメリットとしては、すべてのアクセスがこの中継サーバを経由するため、ロードバランサ等を導入し、負荷を分散させないとボトルネックになる可能性があります。

④エージェント方式

四つ目が、エージェント方式です。対象のサービスにエージェントをインストールし、一度一つのサービスで認証すると、cookieと呼ばれる鍵のようなものをユーザーに返します。ユーザーは他のサービスにアクセスする際にはそのcookieを使って自動ログインできるようになります。

この方式はそれぞれのサービスにエージェントを導入する必要があり、対応していないサービスだとSSOを実現できないのがデメリットです。

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

①利便性の向上

一つ目が、利便性の向上です。それぞれのサービスごとにID、パスワードを入力する必要がなくなるので、サービスごとに違うパスワードを設定し、忘れてしまったら再度設定し直して…という手間が不要になります。だいたい同じパスワードにしてるから大丈夫だよ、という方もいるかもしれませんが、それはそれでセキュリティ的に危険なので改めましょう。

また、サービスによって誕生日はダメ、12文字以上で英数字込み、などパスワードポリシーも違っていたりするので、このSSOは非常に便利です。

②パスワード漏えいリスクの低減

二つ目が、パスワード漏えいリスクの低減です。全部自動でログインできちゃうならむしろ危険なのでは…?と思うかもしれませんが、SSOを導入していない場合、複数のパスワードを管理するために、付箋にパスワードをメモしておいたり、覚えるのが面倒だから単純なパスワードにしてしまいがちです。

SSOであれば、覚えるのは一つだけでいいので、上記のようなセキュリティリスクの高いパスワード管理をせずに済みます。

③管理部門の負担軽減

三つ目が、管理部門の負担軽減です。日々IT管理部門に問い合わせがくる「パスワードを忘れた」「入力に失敗してロックされた」と言ったパスワード関連の問い合わせがなくなることで、管理部門の負担を軽減することができます。企業によってはその問い合わせ用の窓口を置いておいているところもあるので、意外と大きなメリットです。

SSO(シングルサインオン)のデメリットとは?

①パスワードが漏えいした場合の影響が大きい

一つ目が、パスワードが漏えいした場合の影響が大きいことです。一つのパスワードで様々なサービスにログインできるということは、逆に漏えいした場合、攻撃者も様々なサービスへアクセスできてしまうということです。これは仕組み上避けられないので、パスワードが漏えいした時にすぐ不正な動きを検知できるよう、しっかりセキュリティ対策を行うことが重要です。

②システムが故障するとアクセスできなくなる

二つ目が、システムが故障してしまうと全てのサービスにアクセスできなくなってしまうことです。

上記のどの方式でも、エージェントのような認証システムによってSSOを実現するため逆にそれが故障してしまうと全てのサービスにアクセスできなくなってしまいます

おわりに

いかがだったでしょうか。様々なサイトのパスワード地獄から解放されるSSOは非常に便利な仕組みです。今後クラウド利用が進み、ますますこのSSOの導入は進んでいくと思われるので、しっかり仕組みを理解しておきましょう。

コメント

タイトルとURLをコピーしました