シングルサインオン (シングルサインオン) とは | 意味や読み方など丁寧でわかりやすい用語解説
シングルサインオン (シングルサインオン) の読み方
日本語表記
シングルサインオン (シングルサインオン)
英語表記
Single Sign-On (シングルサインオン)
シングルサインオン (シングルサインオン) の意味や用語解説
シングルサインオンとは、一度の認証で複数のシステムやサービスにログインできる仕組みを指す。現代のIT環境では、企業内外で利用するアプリケーションやクラウドサービスが多岐にわたり、それぞれに異なるIDとパスワードでログインする手間が発生する。シングルサインオンはこの課題を解決し、ユーザーの利便性を向上させるとともに、セキュリティの強化とIT管理者の負担軽減に貢献する技術である。 シングルサインオンの基本的な動作原理は、まずユーザーが最初にアクセスする認証基盤(シングルサインオンシステム)に対して一度だけ認証を行うことにある。この認証が成功すると、シングルサインオンシステムはユーザーが正当な利用者であることを示す情報を生成する。この情報は、たとえばセッションクッキーやデジタル署名されたトークンといった形で、ユーザーのWebブラウザやアプリケーションに渡される。その後、ユーザーが連携している他のサービスやアプリケーションにアクセスしようとした際、これらのサービスは認証基盤から発行された情報を受け取り、ユーザーの再認証なしにアクセスを許可する。これにより、ユーザーは各サービスで個別にIDとパスワードを入力する手間が不要となり、あたかも単一のサービスを利用しているかのように感じられる。 シングルサインオンを実現するための方式は複数存在する。主なものとして、エージェント方式、SAML方式、OpenID Connect方式、Kerberos方式などが挙げられる。 エージェント方式は、主に企業内のWebアプリケーションに対して利用されることが多い。この方式では、Webサーバーの前にリバースプロキシサーバーを配置し、すべてのリクエストをこのプロキシサーバーが受け付ける。ユーザーが最初にプロキシサーバーにアクセスすると、認証基盤への認証が促される。認証が完了すると、プロキシサーバーはユーザーがアクセスする本来のWebアプリケーションに対し、認証済みであることを示すヘッダー情報などを付与してリクエストを転送する。これにより、Webアプリケーション側は個別の認証処理を不要とし、プロキシサーバーが認証のゲートウェイとして機能する。既存のWebアプリケーションへの改修が比較的少なく済む場合がある点が特徴である。 SAML(Security Assertion Markup Language)方式は、主に異なる組織やサービス間、特にクラウドサービスとの連携で広く利用されるXMLベースの標準プロトコルである。SAMLでは、ユーザーの認証を行う「IDプロバイダー(IdP)」と、サービスを提供する「サービスプロバイダー(SP)」の二者が登場する。ユーザーがSPにアクセスしようとすると、SPはユーザーをIdPにリダイレクトし、IdPで認証を行う。認証が成功すると、IdPはユーザーの認証情報を含んだSAMLアサーション(XML形式の認証表明)を生成し、これをSPに送り返す。SPはこのアサーションを検証し、正当であればユーザーのサービス利用を許可する。デジタル署名によりアサーションの完全性と真正性が保証され、安全な情報連携が可能となる。 OpenID Connect(OIDC)方式は、OAuth 2.0という認可フレームワークの上に構築された認証プロトコルである。SAMLと同様に、クラウドサービスやWebサービス間の連携で利用されるが、SAMLよりも軽量であり、JSON形式のデータを利用するため、モバイルアプリケーションやAPI連携に適している。ユーザーがサービスを利用する際、サービスプロバイダーはユーザーを認証基盤(OpenIDプロバイダー)にリダイレクトする。認証が完了すると、OpenIDプロバイダーはIDトークンとアクセストークンをサービスプロバイダーに発行する。IDトークンにはユーザーの認証情報が含まれており、サービスプロバイダーはこのトークンを検証することでユーザーの身元を確認し、サービスへのアクセスを許可する。 Kerberos方式は、主に企業内のWindows Active Directory環境などで利用される分散型認証プロトコルである。この方式では、認証を行うサーバー(KDC: Key Distribution Center)が重要な役割を担う。ユーザーがサービスにアクセスしようとすると、まずKDCに認証を要求し、正当なユーザーであることが確認されると、一時的な暗号化された「チケット」が発行される。ユーザーはこのチケットを使って、さらにサービスへのアクセス権を示す別のチケット(サービスチケット)をKDCから取得し、最終的にこのサービスチケットを提示することで目的のサービスにアクセスできる。一度KDCで認証されると、その後のサービス利用はチケットのやり取りだけで済むため、パスワードの再入力は不要となる。 シングルサインオンの導入によるメリットは多岐にわたる。ユーザーにとっては、複数のIDとパスワードを覚える必要がなくなり、パスワード忘れによるログインの手間やストレスが大幅に軽減される。これにより、日常業務の効率化が図られる。IT管理者にとっては、ユーザーアカウントの管理を一元化できるため、アカウント作成や削除、パスワードリセットなどの運用負担が軽減される。セキュリティ面では、パスワードの使い回しといったリスクを低減できるほか、多要素認証のような強力な認証手段をシングルサインオンシステムに集約して適用できるため、全体のセキュリティレベルを向上させることが可能となる。また、監査ログも一元的に管理しやすくなる。 しかし、シングルサインオンには課題も存在する。最大の課題は、シングルサインオンシステム自体が単一障害点となり得る点である。もしシングルサインオンシステムに障害が発生した場合、連携するすべてのサービスにログインできなくなる可能性がある。また、シングルサインオンシステムが攻撃を受け、その認証情報が漏洩した場合には、連携するすべてのサービスが危険に晒されるという高いセキュリティリスクを伴う。そのため、シングルサインオンシステム自体に対しては、極めて強固なセキュリティ対策と可用性対策が求められる。導入にあたっては、各サービスとの連携方式の検討、既存システムへの影響評価、初期導入コスト、そして運用保守体制の確立が重要となる。これらの課題を適切に管理することで、シングルサインオンは企業のITインフラにおける不可欠な要素となり得る。