シングルサインオン認証とは ー その種類と仕組み、メリット・デメリットを解説

2023年7月13日(木)
Think IT編集部
仕事で複数のIDやパスワードの管理をしているという方は多いです。セキュリティの観点や業務の効率化から、大量のパスワードを管理する問題を解決したいという方におすすめの仕組みがシングルサインオンです。その仕組みやメリット・デメリットなどを解説していきます。

はじめに

昨今はクラウド、Webアプリ、SNSなど複数のサービスを仕事で使うことが増え、IDやパスワードの管理が困難になってきているという方も多いのではないでしょうか。そのような問題は「シングルサインオン」で解決が可能です。この記事では、シングルサインオンの種類、メリット・デメリット、選び方のポイントなどを解説します。

シングルサインオンとは

シングルサインオン(Single Sign-On:以下、SSO)とは、IDとパスワードを一度入力するだけで複数のサービスにログインできる仕組みです。ユーザーはたったひとつのIDとパスワードを管理するだけで複数のサービスにまとめてログインできるため、非常に便利な仕組みと言えるでしょう。

通常、SNSなどのWebサービス、各種アプリケーション、グループウェアなどのクラウドサービスを利用する際、それぞれに設定したIDやパスワードでログインする必要があります。IDとパスワードの使い回しは推奨されていないため、利用しているシステムの数だけIDとパスワードの組み合わせがあるといっても過言ではありません。「パスワードを覚えきれない!」「いちいちログインするのが面倒!」という方も多いのではないでしょうか。

そんなパスワード問題を解決してくれるのがSSOです。SSOを導入していれば、一度ログインするだけで、以降はすべてのWebサービスやアプリケーションに対して追加の認証なしに利用できるようになります。IDとパスワードの管理もひとつで済むため、アカウント管理の負担軽減にも役立ちます。

SSOが注目されている理由

近年SSOが注目されてきている背景にはリモートワークやテレワークの普及、DX化によるSaaS(Software as a Service)やクラウドサービスの利用が拡大している点があると考えられています。例えば、グループウェア、チャットツール、Web会議システムなどを仕事で使うようになったという方も多いのではないでしょうか。業種によっては会計管理、勤怠管理、経費精算、営業案件管理などさまざまなクラウドサービスを利用しているケースも考えられます。仕事をしていく上で、個人認証が必要な複数のサービスを利用せざるを得ない状況となっているのです。

こうなってくると、煩わしいのがIDとパスワードの管理です。利用するサービスごとにIDやパスワードの管理が必要になり、それぞれに推測されにくい複雑なパスワードを付与する必要があります。しかし、複雑なパスワードを複数管理することは、それなりに手間がかかる作業です。そのため、結果として簡単なパスワードを設定したり、ひとつのパスワードを複数のシステムで使い回したりするなど、セキュリティ低下の原因になっていました。

これらの問題を解決できるのがSSOです。

SSOの歴史

SSOは、元々企業内の各システムをシームレスに利用するために使われていた技術です。しかし、インターネットの普及に伴い、ポータルサイトやSNSなどのサービスが多くの人に活用されるようになり、利用者が増加するにつれて「これらのアカウントを利用して他のサービスが利用できるようにして欲しい」というニーズが高まっていきました。例えば、Googleアカウント、Yahoo!アカウント、LINEアカウントなどを使って、他のサービスにログインできるような仕組みです。ソーシャルログイン機能を備えたSSO製品のおかげで、SNSのアカウントがさまざまなサービスでも利用できるようになり、利便性が高まっていきました。

またSNSなどのデータに対して、サードパーティー製のクライアントにIDとパスワードを渡すことなくアクセスできるよう、標準の認可技術としてOAuthが登場しました。しかしOAuthはユーザーを特定するためのID情報などと連携する仕様がなく、認証には適していませんでした。そこで、OAuthを認証として活用するためにOpenID Connectが登場しています。

SSOの「認証」と「認可」

SSOには「認証」と「認可」という2つの概念があります。少し似ているこの2つの言葉ですが、実は大きな違いがあるので注意が必要です。

まず、認証とはアクセスしたユーザーが「誰なのか」という確認を行う作業です。例えば、パスワード認証であれば事前に登録したパスワードを入力することで本人確認を行います。その他、指紋認証、顔認証、SMS認証なども有名です。

それに対して認可は、情報やシステムなどにアクセスする権限を付与することです。認証したユーザーに対し、どこまで何ができるのかといった許可を与えることを指します。

どちらもアクセス制御を行うために重要です。セキュリティを高めるためには、どちらも強化していく必要があります。

不正ログイン対策からSSOを考える

Webサービスやアプリを利用するユーザーは、不正ログインによる攻撃を受けないようセキュリティ意識を高めることが重要です。しかし、インターネットサービスが拡大している現状を考えると、1人のユーザーが利用するサービスは増加傾向にあります。そのような状況の中で、どのような問題が生じているのか、そして不正ログイン対策で気をつけるべきことはあるのでしょうか。

1. 業務効率の低下

業務上、複数のサービスやアプリを利用することが増えており、その都度ログインをする手間が発生して業務効率の低下につながっています。

2. 情報漏えいのリスク

利用するサービスが増えた結果、パスワード管理は煩雑になりました。メモに記録する、同じパスワードを使い回す、簡単なパスワードにするといったことが原因となり、情報漏えいのリスクが高まっています。

3. 管理業務のリソース増大

パスワード忘れやアカウントロックなど、従業員のパスワード関連のトラブル対応に追われ、システムを管理するIT部門や情報システム部門の担当者に負荷がかかっています。

4. 不正アクセスへの対策

SSOでは一度認証を受けると、他のサービスもすべて利用できます。そのためSSO自体に不正アクセスされると連鎖的にすべてのサービスで被害が生じます。スマートフォンを使ったパスワードレス認証やクライアント認証、ワンタイムパスワード認証、二段階認証などを組み合わせると良いでしょう。

5. 認証システム停止によるログイン不可

SSOシステム自体が停止すると、関連したすべてのサービスにログインできなくなります。そのため、サービスの稼働率や保証、システムが停止した際のフォローなどについて事前に確認しておくことが重要です。

6. 連携可能なシステムか

SSOはすべてのサービスに対応しているわけではありません。そのため、既存のものだけでなく、今後追加する可能性があるサービスも含めて、連携できるかどうかを事前に確認しておくと良いでしょう。

SSO導入のメリット

では、SSOを導入するとどのようなメリットがあるのでしょうか。

利便性が向上する

SSOを導入すると、ひと組のID・パスワードを入力するだけですべてのサービスが利用できるようになります。アプリやシステムを利用するたびにIDやパスワードを入力していた時間が削減されるため、業務効率が格段にアップするでしょう。

パスワード管理が楽になる

複雑な個々のパスワードを覚える必要がないため、ユーザー自身のパスワード管理が楽になるといったメリットがあります。そして、それ以上に恩恵を受けるのが社内のIT部門や情報システム部門の担当者です。パスワード忘れ、アカウントロックといったログインに付随する各種トラブルが減少し、コアな業務にリソースを割けるようになります。

セキュリティリスクを軽減できる

SSOの場合、サービスごとに英大文字、英小文字、数字、記号などを混在させた複雑なパスワードを設定してもユーザー側が覚えておく必要がありません。そのため、利便性を保ったままセキュリティリスクを軽減できます。

SSOの6つの種類とその仕組み

SSOには、大きく分けて6つの種類が存在します。その仕組みの概要を見ていきましょう。

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

SAMLとはSecurity Assertion Markup Languageの略で、IDの管理と認証を行うIDプロバイダー(以降、IdP)が保証したユーザー認証情報を利用してSSOを可能にする認証方式です。一度IdPにログインすると、連携しているサービスを使用する際はIdPから認証情報が自動的に送信されるため、サービスごとのID・パスワード管理が不要になります。

代理認証フォームベース方式

使用する端末に「エージェント」と呼ばれるソフトウェアをインストールしてSSOを行う手法です。エージェントに各種サービスのID・パスワードを登録しておき、ログイン画面が起動したことを検知するとユーザーの代わりにログイン情報を自動で入力してくれる仕組みとなっています。対象となるサービスに制限が少なく、比較的導入しやすい認証方式です。

リバースプロキシ方式

クライアントとWebアプリケーションサーバー(またはサービス)との間にリバースプロキシと呼ばれる中継サーバーを設置してSSOを行う方法です。エージェントを各端末にインストールする必要がある代理認証と異なり、ネットワーク経由でSSOを実現できます。しかし、すべての認証がリバースプロキシサーバーを経由するため負荷がかかりやすく、ボトルネックにならないよう負荷分散をする等の配慮が必要です。

エージェント方式

Webサーバーやアプリケーションサーバーに専用の「エージェント」と呼ばれるソフトウェアをインストールしてSSOを実現する方式です。ユーザーがアプリケーションへアクセスすると、エージェントが認証サーバーに対して認証済ユーザーなのか、アクセス権限があるのかといった確認を行います。ネットワーク構成を変更せずに導入できる点がメリットですが、Webサーバーやアプリケーションへエージェントをインストールしたり、アップデートしたりする必要がある点がデメリットと言えるでしょう。また、対象のWebアプリケーションがエージェントに対応していない場合は利用できません。

透過型方式

WebブラウザとWebアプリケーションサーバーの間に、通信を監視するための透過型と呼ばれるサーバーを設置してSSOを行う方式です。透過型サーバーは、ユーザーがWebアプリケーションにアクセスした際、必要に応じてログイン情報を送付してくれます。アクセス経路に依存しないため、端末やブラウザの種類を問わず利用できる上、社外からのアクセスにも対応できるのがメリットです。オンプレミス環境にも対応しているため、システムが複雑な場合にも導入できる点も魅力です。ただし、導入の際は透過型認証対応のSSO製品が必要になります。

ケルベロス方式

ケルベロス方式はネットワーク経由でアクセスするユーザーを認証する手法です。その名前は、ギリシャ神話に登場する冥界の番犬「ケルベロス」が由来となっています。KDC(Key Distribution Center、鍵配送センター)を使用したSSOで、WindowsのActive Directoryが有名です。ユーザーが一度認証を受けると、「チケット」と呼ばれるファイルが発行され、そのチケットが有効な間は再度認証を要求されることがありません。

SSO導入のデメリットと対策

SSOの導入にはメリットが多いと言われますが、もちろんデメリットも存在しています。デメリットとその対策を見ていきましょう。

システム停止時はログインできない

SSOのサービス自体が何らかの原因で止まってしまうと、関連するすべてのサービスにログインできなくなってしまう点は、SSOの大きなデメリットです。認証ができず、サービスやシステムが利用できなくなれば、当然業務に差し支えが出てきてしまいます。

パスワード漏えい時のリスクが大きい

前述の通り、SSOはWebサービスやWebアプリケーション、クラウドサービスなどのサーバーと連携しています。そのため、SSO自体に不正アクセスされてしまうと、使用しているすべてのサービスやシステムに影響を及ぼしかねません。

利用できないサービスもある

アプリケーションやクラウドサービスの中には、SSOと連携できないものもあります。連携できないサービスがあると、結果的に個別IDとパスワードの管理が必要です。

対策1:IPアドレス制限を用いる

IPアドレスレベルでアクセス制限をかけると、SSOで使っているパスワードが漏えいしたとしても不正なアクセスを防ぐことができます。ただしIPアドレスで制限すると社外からのアクセスができなくなるため、機密レベルに応じた対応が必要です。

対策2:ワンタイムパスワードを採用する

SSOにワンタイムパスワードを採用するのもおすすめです。ワンタイムパスワードを併用していれば、もしメインパスワードが流出したとしても不正アクセスを防ぐことができます。なお、こういった複数の認証を組み合わせることを「多要素認証」と呼びます。

SSOのシステムを選ぶポイント

SSOを実現するための商品やサービスは多数あります。どのように選定したら良いのか悩む方も多いのではないでしょうか。そこで、導入前に確認しておきたいポイントを解説します。

導入済または導入予定システムとの連携が可能か

さまざまなサービスやアプリが存在しているため、導入予定のSSOがすべてに対応しているとは限りません。自社で既に導入している、または導入予定のシステムと連携できるか確認してください。

スマホなど多様なデバイスに対応可能か

クラウドサービスはパソコンから利用するとは限りません。デバイスに依存しない環境の構築を目指すのであれば、スマートフォンやタブレット端末からも利用できるかを確認しておくのがおすすめです。

十分なセキュリティ機能があるか

SSO導入の最大の目的はセキュリティ対策です。そのため、SSOサービス自体のセキュリティがしっかりと整っているか確認してください。アクセスコントロールや多要素認証の機能があると安心です。

費用対効果は妥当か

SSOには多種多様な料金プランが存在しています。例えば、1アカウントあたりの料金が使用するアカウントの個数で変わるケースもありますし、プランによってできることが異なるといったケースもあります。また、金額だけで選ぶのではなく、導入することで課題の解決につながるか、コストに見合う効果が得られるかという点からも検討するのが賢明です。

オンプレミスかクラウドか

SSOの製品には、オンプレミス型とクラウド型が存在しています。オンプレミス型は自社の利用状況に応じてカスタマイズが可能です。一方クラウド型は設定するだけで利用できるため、短時間で導入できる点がメリットです。それぞれの特徴を理解して選択すると良いでしょう。

サポート体制は充実しているか

導入時や導入後のサポート体制も重要です。製品を熟知したベンダーの支援が受けられるか、サポートの時間帯や対象の言語、問い合わせの手段なども事前に確認しておくと良いでしょう。特に導入直後は思いがけないトラブルに見舞われることがあります。トラブルの影響を最小限にするためにも、迅速にサポートしてくれるサービスがおすすめです。

おわりに

本記事では、SSOの基礎知識として、シングルサインオンの種類からメリット・デメリット、デメリットの対策方法、SSOをシステムに導入する際の選び方など、重要なポイントに沿って解説しました。

インターネットの技術は日々進歩していますが、それに伴ってセキュリティの重要性も高まっています。特に認証はITシステムを守る意味でも始めの防壁となるものなので、その導入は慎重に、またシステムに合ったものを選択する必要があります。

本記事を参考に「転ばぬ先の杖」としてのSSOをしっかりと理解し、対策を行うようにしておきましょう。

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

キャリア・人材技術解説

Kubernetes資格の完全制覇を証明する「Kubestronaut」とはどんな人?

2024/11/29
本記事では、Kubernetesの資格を全て取得すると得られる称号「Kubestronaut」について紹介します。
データベース技術解説

実に6年ぶり!「MySQL」のメジャーバージョン「8.4.0 LTS」が新しいリリーススタイルで登場

2024/6/19
2024年4月30日に、MySQLの新たなメジャーバージョン「MySQL 8.4.0」がリリースされました。本記事では、MySQLの新しい開発モデル「LTS」版と「Innovation Release」について紹介します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています