シングルサインオンとは?

シングルサインオン(SSO)とは、ユーザーが 1 組のログイン情報で複数のアプリケーションやサービスにアクセスできるようにする認証技術です。SSO の主な目的は、ユーザーがクレデンシャルを入力する回数を減らし、ユーザーが何度もログインすることなく、必要なすべてのリソースに簡単にアクセスできるようにすることです。

SSO プラットフォームは、ほとんどの組織のアイデンティティとアクセス管理(IAM)システムにおいて不可欠な役割を担っています。さらに、消費者がソーシャルメディアのアカウントを利用して別のウェブサイトにログインする場合、つまり「Facebook でログインする」場合は、SSO を使用していることになります。

シングルサインオンの仕組みとは?

SSO システムは、ユーザー、アイデンティティプロバイダー(IdP)、(サービスプロバイダーとして知られている)SSO ログインを使用するウェブサイトやアプリの間に信頼関係を確立することによって機能します。ここでは、そのプロセスのハイレベルな概要を説明します:

  1. ユーザーがアイデンティティプロバイダーにログインします。 ユーザーはユーザー名とパスワードを IdP に提供し、その IdP がユーザーの身元を確認しセッションを認証します。

  2. アイデンティティプロバイダがトークンを生成します。 このトークンは、ユーザーのアイデンティティとセッションに関する情報を含む一時的なデジタル ID カードだとお考えください。このトークンは、ユーザーのブラウザ内または SSO サービスのサーバー内に保存され、ユーザーの ID 情報を IdP からサービスプロバイダーに渡すために使用されます。

  3. ユーザーがサービスプロバイダーにアクセスする。 ユーザーがウェブサイトやアプリにアクセスしようとすると、そのサイトやアプリが IdP に認証をリクエストします。

  4. IdP がウェブサイトやアプリにトークンを送信します。 IdP は、暗号化されたワンタイムトークンを、ユーザーがログインを希望するアプリケーションやウェブサイトへと安全に送信します。

  5. ウェブサイトやアプリは、トークンの情報を使ってユーザーの身元を検証します。 検証に成功すると、サービスプロバイダーはユーザーにアクセスを許可し、ユーザーはサイトやアプリの利用を開始することができます。

シングルサインオンは安全?

はい。実際のところ、シングルサインオンは、従来のユーザー名とパスワードによる認証システムよりも安全であると一般的に考えられています。なぜなら、SSO はユーザーが覚えなければならないパスワードの数を減らし、ユーザーが脆弱なパスワードを作成したり、複数のアカウントでパスワードを使い回したりするような悪いパスワードセキュリティ習慣を取り入れることを減らせるためです。

しかし、他のテクノロジーと同様に、SSO システムはセキュリティを最適化するために適切に設定され、維持されなければなりません。さらに、SSO システムは、多要素認証、包括的なエンタープライズパスワード管理、ロールベースのアクセス制御など、その他の IAM ツールやプロトコルと一緒に使用する必要があります。

シングルサインオンの種類

すべての SSO システムの最終目標は同じです:ユーザーが一度認証すれば、再ログインすることなく複数のアプリケーションやシステムにアクセスできるようにすることです。しかし、特定のプロトコルや規格は、システムによって異なる場合があります。ここでは、SSO を使用する際に遭遇する最も一般的な用語のいくつかを紹介します:

  • フェデレーション方式の SSO(Federated SSO)は、複数のアプリケーションやシステムが異なる部門や場所に分散している非常に大きな組織でよく使われています。異なる組織にまたがる複数のシステムへの単一アクセスを提供するものです。
  • ウェブベースの SSO は、従業員が完全にクラウドベースのアプリケーションやサービスを使って仕事をする「デジタルネイティブ」な組織でよく使われています。
  • Security Assertion Markup Language (SAML) とは、SSO の「種類」ではなく、当事者間で認証・認可データを交換するための標準データ形式です。SAML は、ウェブベースの SSO システムで一般的に使用されています。
  • Kerberos (ケルベロス)とは、ネットワーク認証プロトコルで、デジタル「チケット」システムを使用して、ネットワークサービスの安全な認証機能を提供します。ウェブアプリケーションの認証に使用される SAML とは対照的に、Kerberos はエンタープライズのローカルエリアネットワーク(LAN)に見られるバックエンド技術です。
  • Lightweight Directory Access Protocol (LDAP) とは、ユーザーやリソースに関するデータの保管と取得に使用されるディレクトリサービスプロトコルです。LDAP ベースの SSO ソリューションでは、組織が SSO のためにユーザーを管理する上で、既存の LDAP ディレクトリサービスを使用することができます。しかし、LDAP はウェブアプリケーションとネイティブに動作するよう設計されているわけではないため、組織は一般的に、SAML ベースの SSO と組み合わせることで、権威ある「真のソース」、つまりアイデンティティプロバイダとして LDAP サーバーを使用します。

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

SSO の主なメリットは以下の通りです:

  • 利便性とユーザーエクスペリエンスの向上: SSO では、ユーザーが複数のユーザー名やパスワードを覚える必要がないため、必要なサービスに迅速で簡単にアクセスできるようになります。

  • セキュリティの強化: SSO は、IT 管理者がユーザー ID を一元管理できるようにし、誰が何にアクセスできるかを可視化・制御することで、セキュリティ向上に貢献します。これにより、機密情報への不正なアクセスを防ぐことができます。

  • 生産性の向上: 管理者はユーザー ID の管理に費やす時間を短縮でき、ユーザーはパスワードに悩まされることで時間を無駄にする必要がなくなります。また、SSO ソリューションは、パスワード忘れによるヘルプデスクへの問い合わせを劇的に減らす、あるいはなくすことができます。

SSO の主なデメリットは以下の通りです:

  • 単一障害点: SSO システムがダウンした場合、ユーザーはそのシステムに依存するすべてのサービスにアクセスできなくなり、大きな混乱につながる可能性があります。同様に、SSO システムが侵害された場合、脅威者は含まれるすべてのサービスプロバイダーへのアクセスできることになります。このため、SSO のクレデンシャルを多要素認証で保護することが重要なのです。

  • 複雑性: SSO システムの実装は複雑になる可能性があり、多大な時間とリソースの投資が必要になります。

  • 脆弱性: SSO システムが適切に維持されていない場合、攻撃者がシステムを侵害して複数のサービスにアクセスできる可能性があります。

  • 制限: すべてのアプリが SSO をサポートしているわけではなく、特に、重要なバックエンドビジネス機能を実行する従来の基幹業務 (LOB) アプリでは、リファクタリングや置き換えが容易ではありません。 堅牢なエンタープライズパスワードマネージャーがこのギャップを埋めます。

シングルサインオンの導入方法

シングルサインオンソリューションの導入は、慎重に取り組まなければならない大きな IT プロジェクトです。ここでは、その主な手順をご覧ください。

そのサイトやアプリが他のメソッドに対応していない場合を除き、電子メール、テキストメッセージ、電話を認証要素として使用するのは避けるようにしてください。

  1. 要件を定義する: SSO の実装に含まれるサービスやアプリケーションを決定し、それぞれのセキュリティやアクセス制御の要件も決定します。多要素認証、パスワード管理、ロールベースのアクセス制御などのセキュリティ要件も忘れないようにしましょう。

  2. SSO ソリューションを選択する: 要件に合わせて、SSO ソリューション、もしくはソリューションの組み合わせを選択します。

  3. アイデンティティプロバイダーを設定する: SSO ソリューションの IdP コンポーネントをセットアップします。IdP は、ユーザーを認証し、含まれるサービスプロバイダーにその ID 情報を提供する責任を負います。

  4. サービスプロバイダーを統合する: 各ウェブサイトやアプリを SSO ソリューションと統合します。これには、各サービスプロバイダーが IdP と通信してユーザーの ID 情報を受け取り、SSO セッションの信頼性を検証するように設定することが含まれます。

  5. SSO の実装をテストする: 少人数のテストグループを選択し、必要なサービスやアプリケーションに単一のクレデンシャルでアクセスできることを確認します。

  6. SSO ソリューションを全社的に展開する: 自分のニーズやデータ環境に応じて、IdP とサービスプロバイダのコンポーネントを別々のサーバーに配置したり、既存のインフラに統合したりすることもあります。

  7. SSO ソリューションのモニタリングと保守を行う: SSO ソリューションが正しく機能していることを確認し、発生した問題に対処するために、定期的にモニタリングします。

SSO の導入には多大な時間とリソースの投資が必要であり、完了までに数ヶ月かかる可能性があることを念頭に置いておくことが重要です。また、導入を成功させる上で、SSO ソリューションとセキュリティのベストプラクティスに精通した経験豊富な IT プロフェッショナルと協力することも重要です。

日本語 (JP) お問い合わせ