シングル サインオン (SSO) は、ユーザーがサービスまたはアカウントにログインし、複数のアプリケーションにアクセスできる認証サービスです。このテクノロジーは、最初のサインオン後に自動認証を提供することで、複数のログインの必要性を排除します。
理想的には、認証されたユーザーは、アクセスする必要があるたびに個々のアプリケーションやサービスにログインする必要がありません。シングル サインオンが適用される一般的な領域には、クラウド サービス、オンライン ポータル、イントラネット、およびユーザーが複数のアプリケーションにアクセスしてそれらの間を移動する必要があるその他の環境が含まれます。
その他の適用可能な分野には、電子商取引、銀行取引、その他の顧客向けアプリや Web サイトが含まれます。この場合、SSO を使用すると、ユーザーは、それぞれに個別にログインすることなく、複数のエンタープライズ アプリケーションやサードパーティ アプリケーションにシームレスにアクセスできるようになります。
Google、 Microsoft 、その他のエンタープライズ プラットフォームは、SSO を使用する主要企業です。たとえば、Gmail アカウントにログインすると、Google ドライブ、Google ドキュメント、AdSense、YouTube、Google Analytics、Google Search Console、およびメール アドレスに関連付けられたすべてのアプリにアクセスできます。
シングル サインオンが重要な理由
組織はワークフローとパフォーマンスを向上させるために複数のアプリケーションとサービスを使用しています。クラウドやオンプレミス環境での展開では断片化が発生することが多く、IT チームやユーザーにとっては課題となる可能性があります。
たとえば、断片化したアプリを管理するには、IT スタッフにより多くの時間とスキルが必要です。また、ユーザーは作業を行うために多くのアプリケーションやサービスに依存する必要があります。従来、これには複数のアプリケーションにログインし、それらを毎日数回切り替える必要がありました。
SSO を使用すると、別のアプリケーションまたはサービスにアクセスする必要があるたびにログイン資格情報を入力し続ける必要がなくなります。これにより、サービスにアクセスするための資格情報のセットを 1 つだけ提供するだけで済み、再度ログインすることなくアプリケーション間をシームレスに切り替えることができます。
ユーザー エクスペリエンスを向上させるだけでなく、セキュリティを強化しながら、従来はログイン問題の解決に多くの時間を費やしていた IT スタッフのコストと作業負荷を削減します。
シングル サインオンはどのように機能しますか?
SSO プロセスは、サーバーなどの ID プロバイダーとユーザーがアクセスしようとしているアプリケーションの間の信頼関係に基づいています。この 2 つは、アプリケーションまたはサービスが信頼できるソースからのものであることを検証する証明書を交換します。
一般的なフローは次のようになりますが、プロトコルやアプリケーションがオンプレミスかクラウドベースかによって異なる場合があります。
- ユーザーは、サービス、Web サイト、またはアプリケーションを参照するサービス プロバイダーにアクセスしようとします。
- アプリケーションは、ユーザーを認証するためにアイデンティティ プロバイダーまたは SSO サービスにトークンを送信します。
- SSO システムは、ユーザーがすでに認証されているかどうかを確認します。そうである場合、ユーザーにはアプリケーションへのアクセスが許可されます。そうでない場合、ユーザーは資格情報を入力するように求められます。
- 認証が検証されると、アイデンティティ プロバイダーはサービスまたはアプリケーションにトークンを送信し、ユーザーはそれにアクセスできるようになります。

シングル サインオンに依存するアプリまたは Web サイトにユーザーがログインすると、SSO サービスはプライマリ ID プロバイダー サーバーに接続します。次に、システムは、ユーザーが検証されたことを示す一時的な ID として機能する認証トークンを作成します。これはアプリケーション サーバーまたはユーザーの Web ブラウザーに保存されます。
ユーザーが別のアプリにアクセスするたびに、新しいアプリケーションは SSO サービスをチェックして、アクティブな認証トークンがあるかどうかを確認します。ユーザーが別のアプリにログインしている場合、SSO サービスはこれを確認し、トークンをアプリケーションに渡します。その結果、ユーザーは資格情報を入力しなくても、別のアプリに自動的にログインします。
ユーザーがログインしていない場合、SSO サービスはユーザー名とパスワードの入力を求めます。
シングル サインオンの利点
シングル サインオン認証は、アプリケーション、ユーザー、データのセキュリティとコンプライアンスの向上などの利点をもたらします。また、中断が減り、サービスやアプリごとに異なる認証情報を記憶する必要がなくなるため、ユーザー エクスペリエンスと満足度が向上します。
その他の利点は次のとおりです。
#1. パスワードの疲れを軽減
当然のことながら、今日のデジタル世界では、個人はさまざまなサービスやアプリケーションにアクセスするためにいくつかのパスワードを覚えておく必要があります。しかし、ほとんどの人は、別のパスワードを覚えなければならないことを恐れています。

その代わりに、誰かが覚えやすい 1 つのパスワードを使用してさまざまなサービスにアクセスすることになり、これは大きなセキュリティ リスクとなります。たとえば、あるアプリケーションのパスワードを持った犯罪者は、同じアプリケーションを使用する他のすべてのサービスにアクセスし、侵害する可能性があります。
SSO は 1 つの共通の資格情報セットを使用しますが、より強力なパスワードに依存しており、主に多要素認証で使用されます。
こちらもお読みください: 使用をやめるべき最も一般的なパスワード
#2. 多要素認証の統合が容易になる
SSO は中央の場所から実行および管理されるため、MFA を簡単に統合できます。この場合、ユーザーは MFA をアプリケーションやサービスの数に基づいて複数回アクティブ化する必要はなく、1 回だけアクティブ化する必要があります。
#3. パスワード回復時間の短縮
忘れたパスワードを回復または解決するのにかかる時間を短縮します。ほとんどの場合、IT チームはスタッフのパスワード問題の解決に多くの時間を費やします。ただし、SSO を使用すると、必要なパスワードの数が減るため、パスワードのリセットにかかる時間が短縮されます。
#4. 生産性の向上

SSO 認証により、各アプリケーションまたはサービスにログインする必要がなくなるため、従業員が複数のアプリケーションにアクセスする必要がある時間が節約され、生産性が向上します。
ユーザーは一度ログインするだけで、その後はユーザー名とパスワードを再度入力する必要がなく、複数のアプリケーション間をシームレスに移動できます。
#5. 規制遵守を強化
医療、金融などの規制業界には、HIPAA、PCI DSS などの基準に準拠するための厳しい要件があります。 SSO を使用すると、企業はすべてのサービスとリソースに対して 1 セットの資格情報を保護するだけで済むため、簡単に準拠できます。
SSO 認証の欠点
シングル サインオン認証は優れたユーザー エクスペリエンスやその他の利点を提供しますが、いくつかの欠点があります。
これらには次のものが含まれます。
#1. セキュリティリスク

SSO サービスには、より高いセキュリティ リスクが伴う可能性があります。 SSO システムの欠陥や安全でない SSO 実践により、攻撃者が悪用して複数のアプリケーションを侵害できる資格情報が公開される可能性があります。さらに、SSO は、一部の機密アプリケーションまたは重要なアプリケーションのすべてのセキュリティ要件に対応できるわけではありません。
課題にもかかわらず、特にチャットなどの低リスク アプリケーションを使用する場合、多くの利点があるため、組織は SSO を導入しています。セキュリティを強化するために、MFA などの他の認証テクノロジを追加できます。
#2. 複雑な展開
ID プロバイダーやデジタル証明書などの SSO コンポーネントを構成し、それらをアプリケーション (サービス プロバイダー) に統合することは、高度な専門知識と時間を必要とする複雑で困難な作業です。
設定後は、SSO サービスを常に利用できるようにする必要があります。したがって、信頼性と組織アプリケーションへのアクセスを確保するには、高可用性インフラストラクチャが必要です。そうしないと、ダウンタイムが発生してアプリケーションやサービスにアクセスできなくなります。
さらに、パスワードなどの資格情報を紛失したり、メインアカウントにログインできなくなったりすると、アプリケーションにアクセスできなくなります。ただし、ほとんどのシングル サインオン ソリューションは、ほとんどのユーザーがアクセスしてパスワードをリセットできるセルフサービス パスワード リセットを提供します。
#3. すべてのアプリケーションがシングル サインオン ログインをサポートしているわけではありません
ほとんどのエンタープライズ クラウドおよびオンプレミスは SSO をサポートしていますが、サポートしていないものもあります。そのため、SSO が設定されている場合でも、ユーザーはサポートされていないサービスやアプリケーションに対して資格情報を使用する必要がある場合があります。
SSO 認証の標準とプロトコル
SSO 認証プロセスでは、ユーザーがアクセスできる他のサービスやアプリケーションに認証トークンを確実かつ安全に渡す必要があります。これを実現するために、認証トークンには、その正当性と正確性を保証するための特定のプロトコルまたは標準が用意されています。
たとえば、クラウド アプリケーションの場合、OAuth、OpenID Connect、SAML などのフェデレーション ベースの SSO 認証方法を展開できます。
SSO 認証方法とプロトコルはいくつかあり、選択は環境、セキュリティ要件のレベルなどによって異なります。
フェデレーション SSO
Federated ID Management (FIM) は、アプリケーションとベンダー、信頼できるサードパーティ、および外部サービス プロバイダーの間に信頼関係を提供します。
たとえば、Gmail または Apple アカウントにログインした後、ユーザーは追加のログインを求められずに Twitter などの他のアプリにアクセスできる場合があります。ただし、デバイスで初めて外部アプリにアクセスする場合は、電話番号などの認証を求められる場合があります。

適応型シングル サインオン
アダプティブ SSO 認証では、最初にプライマリ アカウントにアクセスするためのユーザー名とパスワードの入力を求められます。ただし、機密性の高いアプリや安全性の高いアプリにアクセスするには、資格情報や MFA コードなどの追加の認証が必要になる場合があります。これは、新しいデバイスまたは場所からアプリケーションまたはサービスにアクセスするときにも発生する可能性があります。
ソーシャルSSO認証
これにより、ユーザーは、Twitter、Facebook、Apple、Google、LinkedIn などのソーシャル メディア アカウントを使用して、サードパーティのサービス、アプリケーション、Web サイトにログインできるようになります。
スマートカード SSO 認証
この認証でログインするには、ユーザーは物理的なスマート カードを持っており、それを使用してプライマリ アカウントを保持するコンピューターにサインインする必要があります。その後、ユーザーは他の複数のアプリケーションやサービスにアクセスできるようになります。理想的には、これは最も安全な SSO ソリューションの 1 つです。攻撃者は物理カードと PIN を取得しない限り、アプリケーションにサインインできません。
スマート カード シングル サインオンはあまり普及していませんが、より安全です。これらは、多要素認証オプションとして銀行やオンライン決済に使用されます。
Kerberos 認証シングル サインオン
SSO 認証システムは、ユーザーにプライマリ資格情報の入力を求めます。次に、Active Directory などの ID プロバイダーがチケット認可チケット (TGT) を発行します。その後、TGT は、ユーザーがアクセスしたい他のサービス、Web サイト、アプリケーションのサービス チケットを提供します。
Kerberos 認証では、TGT チケットは通常一時的なもので、特定のセッションのみに使用されます。攻撃者がセッションにアクセスしたりセッションをハイジャックしたりするリスクを軽減するために、有効期間は短く設定されています。
セキュリティ アサーション マークアップ言語 (SAML) プロトコル
SAML は、プライマリ ID プロバイダーと複数のアプリケーションまたはサービスの間で暗号化された認証および認可データの交換をサポートするオープン標準プロトコルの 1 つです。
SAML は他のプロトコルと比較して、より高度なセキュリティ制御を提供し、政府や企業の重要で保護されたアプリケーションに最適です。
SAML により、ユーザーの認証と認可が可能になります。ユーザー名とパスワードに加えて、組織はセキュリティを強化するために多要素認証オプションを追加できます。
オープン認可OAuthプロトコル
OAuth は、アプリケーションが認証情報を安全に交換できるようにするオープン標準プロトコルでもあります。これにより、さまざまなアプリケーションがユーザーのパスワードを公開することなく通信できるようになります。
Auth0 認証を使用すると、企業は SAML、LDAP、AD などの SSO オプションを統合しながら、アプリケーションを統合できます。
OpenID Connect (OIDC) シングル サインオン プロトコル
OpenID Connect (OIDC) は、消費者向けアプリケーション用のシングル サインオン認証プロトコルです。オープン標準の認証プロトコルは OAuth 上で実行されます。
JSON Web トークンを備えた ID プロバイダーを使用してユーザーを認証します。たとえば、ソーシャル ログインを使用して、ユーザーがショッピング カートやその他のサードパーティ アプリケーションにアクセスできるようにすることができます。
最後の言葉
シングル サインオン認証を導入すると、ユーザーがさまざまなアプリケーションまたはサービス間を移動する方法が改善されます。 SSO 経由でログインすると、承認されたすべてのサービスまたはアプリケーションに個別にログインすることなく、それらにアクセスする権限が与えられます。その結果、より優れたユーザー エクスペリエンスと生産性が実現します。
次に、ユーザー認証プラットフォーム [Auth0、Firebase の代替手段] を確認できます。