このブログはこちらの英語ブログの機械翻訳です。
シングルサインオン(SSO)は、1組の認証情報を使用して複数のアプリケーションやサービスに安全にアクセスできるようにする認証ツールであり、各サービスで異なるパスワードを覚える必要がなくなります。
従業員がSlack、Google Workspace、ZoomなどのSaaS(Software-as-a-Service)アプリケーションを活用する今日のリモートワーク環境において、SSO(シングルサインオン)は、単一のパスワードのみで連携するすべてのアプリケーションへのアクセスを可能にする、シンプルなポップアップウィジェットやログインページを提供します。
SSOを使用することで、複数のパスワードを記憶して入力する日々は終わり、忘れてしまったパスワードをリセットする煩わしさも解消されます。また、さまざまなプラットフォームやアプリに毎回ログインせずにアクセスできます。
SSO(シングルサインオン)の仕組み
SSO(シングルサインオン)は、「フェデレーションアイデンティティ(アイデンティティ連携)」という概念に基づいています。これは、相互に信頼関係がありつつも独立したシステム間で、アイデンティティ属性を共有する仕組みを指します。
ユーザーがいずれか一つのシステムで信頼(認証)されると、そのシステムと信頼関係を構築している他のすべてのシステムへのアクセス権が自動的に付与されます。これが現代のSSOソリューションの基盤となっており、OpenID ConnectやSAML 2.0といったプロトコルを通じて実現されています。
SSOトークンはどのように機能しますか?
SSOは、ユーザーのIDを証明するデジタルキーのように機能します。ユーザーがSSOログインでサービスにサインインすると、認証トークンが作成され、ブラウザまたはSSOソリューションの中央認証サービス (CAS) サーバーに保存されます。ユーザーがその後アクセスするすべてのアプリまたはウェブサイトは、SSOサービスに照会し、SSOサービスはユーザーのトークンを送信してIDを確認し、再度ログインせずにアクセスできるようにします。このプロセスにより、異なるプラットフォーム間でシームレスで安全なエクスペリエンスが保証されます。

SSOの歴史
SSO(シングルサインオン)技術の起源は、1990年代半ばから後半にかけて、組織内のコンピュータ、ネットワーク、サーバーの安全な接続を支えたオンプレミス型のアイデンティティ管理ツールにあります。
当時、多くの組織はMicrosoftのActive Directory(AD)やLDAP(Lightweight Directory Access Protocol)といった専用システムを用いてユーザー情報の管理を開始しました。その後、オンプレミス型のSSOやWebアクセス管理(WAM)ツールを導入することで、セキュアなアクセス環境の構築を進めてきました。
ITが進化し続け、クラウドへの移行、複数のデバイスに分散し、より高度なサイバー脅威に直面する中で、従来のIdentity管理ツールは対応に苦慮しています。ITチームは、あらゆるアプリケーションやサービスへの迅速かつ安全なSSOアクセスをユーザーに提供できるソリューションを必要としています。
SSOの多様なプロトコルと標準
SSOには多様なプロトコルと標準があり、選択・使用する際に注意する必要があります。これらのプロトコルや標準は以下を含みます。
- SSAML(Security Assertion Markup Language): SAMLは、テキストを機械可読な形式にエンコードし、識別情報の交換を可能にするオープンな標準規格です。SSOの中核をなす規格として、アプリケーションプロバイダーが認証リクエストの妥当性を確保する役割を担います。特にSAML 2.0はウェブアプリケーション向けに最適化されており、ウェブブラウザを介した情報の伝達を可能にします。
- Open Authorization (OAuth):OAuth は、アプリケーション間でID情報を転送し、それをマシンコードに暗号化するオープンスタンダードの認可プロトコルです。これにより、ユーザーは手動でIDを検証しなくても、別のアプリケーションのデータへのアクセスをアプリケーションに許可できます。
- OpenID Connect (OIDC):OIDC は OAuth 2.0 の上に位置し、ユーザーに関する情報を追加して SSO プロセスを可能にします。これにより、1 つのログインセッションを複数のアプリケーションで使用できます。たとえば、OIDC を使用すると、ユーザーはユーザー資格情報を入力する代わりに、Facebook または Google アカウントを使用してサービスにログインできます。
- Kerberos: Kerberos は、相互認証を可能にするプロトコルであり、ユーザーとサーバーの両方が安全でないネットワーク接続で相手のIDを検証します。これは、ユーザーおよび電子メールクライアントやWikiサーバーなどのソフトウェアアプリケーションを認証するためのトークンを発行するチケット発行サービスを使用します。
- スマートカード認証:従来のSSOに加え、ハードウェア(ユーザーがコンピューターに接続する物理的なスマートカードデバイスなど)も同じプロセスを容易にすることができます。コンピューター上のソフトウェアがスマートカード上の暗号化キーとやり取りして、各ユーザーを認証します。スマートカードは非常に安全で、操作にはPINが必要ですが、ユーザーが物理的に持ち運ぶ必要があり、紛失のリスクがあります。また、運用コストも高くなる可能性があります。
オンプレミス対クラウドベースのSSO
SSOソリューションは、オンプレミスであるかクラウドベースであるかを含め、組織全体のIT戦略、セキュリティ体制、および運用ニーズに合致している必要があります。
オンプレミスSSO は、物理的な場所にハードウェアとソフトウェアをインストールして維持する必要があります。特定のコンプライアンスまたはセキュリティ要件を持つ組織のために、SSO環境を完全に制御できます。ただし、ハードウェアとソフトウェアの購入にはより高い初期費用がかかり、継続的なメンテナンスと拡張には多大なリソースが必要です。
クラウドベースSSO は、プロバイダーのインフラストラクチャでホストされ、より柔軟で費用対効果の高いアプローチです。物理的なハードウェアの必要性が減り、初期費用が削減され、需要に基づいてサービスの使用量を調整するための拡張性が提供されます。このモデルではインフラストラクチャの制御が少なくなりますが、クラウドプロバイダーのセキュリティおよびコンプライアンス対策を活用できます。これは、最小限のオーバーヘッドで堅牢なセキュリティを求めている組織にとって利点となります。
SSO(シングルサインオン)のメリット
SSOを導入する組織は、パスワードの使い回しによるリスクの回避から、シームレスなユーザーエクスペリエンスの提供まで、幅広いメリットを享受できます。SSOの主な利点:
- 攻撃対象領域の縮小: SSOは、パスワード疲れと不適切なパスワードの使用をなくし、ビジネスをフィッシングから保護します。これにより、ユーザーは強力でユニークなパスワードを1つ覚えることに集中でき、時間とコストのかかるパスワードのリセットを削減できます。
- シームレスで安全なユーザーアクセス: SSOは、どのユーザーがいつ、どこからアプリケーションにアクセスしたかに関するリアルタイムの洞察を提供し、企業がシステムの整合性を保護できるようにします。SSOソリューションは、従業員が会社のデバイスを紛失した場合などのセキュリティリスクにも対処し、ITチームがデバイスのアカウントおよび重要なデータへのアクセスを即座に無効にできるようにします。
- ユーザーアクセス監査の簡素化: 常に変化するビジネス環境において、適切な人々が機密データやリソースに適切なレベルでアクセスできるようにすることは難しい場合があります。SSOソリューションを使用すると、ユーザーの役割、部門、および職位に基づいてユーザーのアクセス権を設定できます。これにより、常にアクセスレベルの透明性と可視性が確保されます。
- 権限が付与された生産性の高いユーザー: ユーザーは、業務を遂行するために必要なアプリケーションへの迅速かつシームレスなアクセスをますます要求しています。リクエストを手動で管理することは骨の折れるプロセスであり、ユーザーをイライラさせるだけです。SSO認証により、手動での監視が不要になり、シングルクリックで最大数千のアプリに即座にアクセスできるようになります。
- 将来への対応: SSOは、企業とそのユーザーを保護するための第一歩です。さらに、SSOにより、組織は多要素認証(MFA)の導入や、Identity証明、リスク評価、およびコンセント管理ツールとの連携など、コンプライアンスのニーズに対応し、不正行為を軽減するための他のセキュリティのベストプラクティスを実装できます。
SSO(シングルサインオン)の課題
SSOはユーザーフレンドリーで便利ですが、管理や導入が適切に行われない場合にはセキュリティ上のリスクが生じる可能性があります。課題としては、以下のようなものが挙げられます。
ユーザーアクセスリスク:攻撃者がユーザーのSSO認証情報を入手した場合、ユーザーがアクセス権を持つすべてのアプリにもアクセスできるようになります。したがって、パスワードだけでなく、追加の認証メカニズムを展開する ことが不可欠です。
潜在的な脆弱性: SAMLおよびOAuth内に脆弱性が発見され、攻撃者は被害者のウェブおよびモバイルアカウントへの不正アクセスを取得しました。製品でこれらのインスタンスを考慮し、SSOを他の認証要素およびIdentityガバナンスと組み合わせているプロバイダーと協力することが重要です。
アプリケーションの互換性: アプリケーションがSSOソリューションと効果的に統合するように設定されていない場合があります。アプリケーションプロバイダーは、SAML、Kerberos、またはOAuthを介して、実際のSSO機能を備えている必要があります。そうでない場合、SSOソリューションはユーザーが覚える必要がある別のパスワードにすぎず、包括的なカバレッジは提供されません。
SSO(シングルサインオン)のセキュリティ
実績のあるプロバイダーのSSOソリューションは、検証済みのセキュリティプロトコルとサービスを大規模に提供します。SSOのベストプラクティスがセキュリティを向上させる方法:
- ITチームはSSOを活用して、ユーザー名とパスワードの管理を簡素化しながら、ユーザーの行動に適応する一貫したセキュリティポリシーでユーザーを保護できます。
- 組み込みのセキュリティツールは、悪意のあるログイン試行を自動的に識別してブロックし、ビジネスネットワークをより安全にします。
- 組織は、MFAなどのセキュリティツールをSSOと連携して展開し、ユーザーアクセス権と特権を迅速に監視できます。
SSOのセキュリティリスクと利点とは?
SSOシステムのセキュリティは、実装、使用されるテクノロジー、および実装する組織が従うセキュリティプラクティスなど、多くの変数に依存します。
潜在的なセキュリティリスク:
- 単一障害点: SSOシステムが侵害された場合、接続されているすべてのシステムとアプリケーションが攻撃のリスクにさらされます。
- Dependency on third-party services: SSOがサードパーティサービスに依存している場合、認証プロセスのセキュリティと可用性を別のエンティティに委ねるという固有のリスクがあります。
- 実装の欠陥: SSOが不適切に実装されると、脆弱性が生じる可能性があります。これには、構成ミス、不適切なセッション管理、および不十分な暗号化の実装が含まれます。
- クロスドメイン認証の課題: 異なるドメイン間でユーザーを認証するSSOシステムは、潜在的に安全でないネットワーク全体でトークンと認証情報を安全に管理する必要があります。
セキュリティの利点:
- パスワード疲れの軽減: SSOを使用すると、ユーザーが記憶する必要のあるパスワードの数が減るため、脆弱なパスワードの作成や再利用の可能性を減らすことができます。
- 集中管理: SSOにより、ユーザーアクセスと認証を集中管理できるため、MFAなどの強力なセキュリティポリシーを簡単に適用し、セキュリティインシデントに迅速に対応できます。
- ユーザーコンプライアンスと満足度の向上: プロセスが簡素化されると、ユーザーはセキュリティポリシーと手順に従う可能性が高くなります。SSOを使用すると、複数のパスワードを覚えて入力する必要がなくなります。
- 強化されたロギングとモニタリング:認証サービスを一元化することで、アクセスパターンとセキュリティインシデントの効果的なロギングとモニタリングが可能になります。
SSOはどのように実装されますか?
使用される特定のテクノロジーまたはプロトコルに関係なく、SSOの実装には通常、次の手順が含まれます。
- アイデンティティプロバイダーの統合:アイデンティティプロバイダーは、ユーザーIDと認証情報を保存および管理するように設定および構成されています。
- サービスプロバイダーの登録:SSOを利用する各アプリケーションまたはサービスは、アイデンティティプロバイダーに登録されます。これにより、両者の間に信頼関係が構築されます。
- 認証フローのセットアップ: 特定の認証フロー(SAML、OIDCなど)が実装され、サービスプロバイダーからIdentityプロバイダーへの認証リクエストを指示し、認証アサーションまたはトークンの交換を処理します。
- ユーザーエクスペリエンスの構成:統合されたサービスまたはアプリケーションにアクセスしようとすると、ログインエクスペリエンスが構成され、ユーザーは認証のためにIdentityプロバイダーにリダイレクトされます。
- セキュリティとコンプライアンス: 暗号化や認証アサーションの署名などのセキュリティ対策は、認証プロセスの整合性と機密性を保護し、適用される規制や基準への準拠を保証します。
Identity and Access Management (IAM)におけるSSOの役割
IAM は、組織がユーザーアクセスのすべての側面を管理するのに役立ち、SSOはそのより広範なIdentityランドスケープの一部です。SSOは、ユーザーIDを検証し、適切な権限レベルを提供するために不可欠であり、アクティビティログ、アクセス制御を可能にするツール、およびユーザーの行動を監視するプロセスと統合する必要があります。
SSOと他のアクセス管理ソリューションとの比較
SSO vs. MFA
SSOとMFAは、デジタルサービスへのアクセスを管理する上で補完的な役割を果たします。SSOは、1つの認証情報セットで複数のアプリケーションのロックを解除できるようにすることでユーザーアクセスを簡素化し、利便性と効率を向上させます。対照的に、MFAは、ユーザーにアクセスを許可する前に複数の検証要素を提供するように要求することでセキュリティを強化し、不正侵入のリスクを大幅に軽減します。SSOはログインの冗長性を減らすことでユーザーエクスペリエンスを合理化することを目的としていますが、MFAは不可欠なセキュリティレイヤーを追加し、攻撃者が機密情報を侵害することをより困難にします。多くの組織は、複数のサービスに簡単にアクセスできるようにSSOを使用し、アクセスが安全であることを保証するためにMFAを使用するなど、両方のテクノロジーを連携させて活用し、ユーザーの利便性と強力なセキュリティ対策のバランスを取っています。
SSO vs. フェデレーションアイデンティティ
SSOとフェデレーションIdentity管理(FIM)は、複数のシステムへのユーザーアクセスを効率化しますが、アクセス管理の異なる側面に 関係しています。SSOは、単一の組織ドメイン内のログインプロセスを簡素化し、ユーザーは1組の認証情報を使用してさまざまなアプリケーションにアクセスできます。フェデレーションIdentityは、これらの利点を組織の境界を越えて拡張し、各組織に個別の認証情報を必要とせずに、複数のドメインにわたるリソースへの安全で摩擦のないアクセスを可能にします。これは、信頼関係を確立し、企業またはサービス間のコラボレーションにSAMLやOAuthなどの標準を使用することで実現されます。SSOは内部のアクセスの容易さに焦点を当てていますが、フェデレーションIdentityは、異なるエンティティ間の相互運用性と安全なデータ共有を重視しています。
Identity-as-a-Service(IDaaS)ソリューションは、SSO、Adaptive MFA、およびユーザーディレクトリを含むIAMのすべての側面を単一のパッケージで提供します。これにより、セキュリティ、プロビジョニング、およびワークフローが簡素化され、ユーザーエクスペリエンスが向上し、組織の時間とコストが節約されます。
SSOプロバイダー選びで重視すべきこと
SSOプロバイダーを選択するということは、幅広いベンダーオプションを検討することを意味します。主要なプロバイダー機能は次のとおりです。
すべてのアプリケーションへのアクセス: 最高のSSOプロバイダーは、市場のすべての主要アプリとの統合をサポートします。プロバイダーを評価する際は、提供するアプリケーションの範囲と統合の洗練度に焦点を当ててください。エンタープライズ、SaaS、およびウェブアプリケーション全体でネットワークリソースの統合を可能にするソリューションを探してください。
SSOのカスタマイズ:最新のSSO製品は、アクセス許可を持つアプリケーションのみを表示するダッシュボードを提供することにより、各ユーザーの特定のニーズを満たす必要があります。ダッシュボードは、会社のブランドニーズに合わせてカスタマイズし、すべてのブランドサイトでブランドの一貫性と継続性を確保する必要があります。
MFA統合: ユーザー名とパスワードだけに頼らないことが重要です。そのため、あらゆるMFAソリューションと統合でき、場所、リスクプロファイル、行動など、幅広いユーザーコンテキスト要素をキャプチャできるSSOプロバイダーを探してください。これにより、ユーザーがIDを確認するための追加情報を提供する必要があるため、セキュリティが強化されます。
監視とトラブルシューティング: 効果的なSSOプロバイダーは、組織がITハイブリッドまたはクラウドベースの環境全体でパフォーマンスの問題を迅速に特定して解決するのに役立つ監視ツールを提供します。
組織にSSOを実装する準備はできましたか?
Okta Single Sign-On が6,000を超える人気アプリへのシームレスな統合をどのように提供するかをご覧ください。 または、エンドユーザーエクスペリエンス をチェックして、SSOを始めてください。