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

シングルサインオン(SSO)は、すべてのユーザーアプリケーションのログインを1つのログインに減らして安全性と利便性を高める重要なクラウドセキュリティ技術の1つです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • シングルサインオン(SSO)の概要と仕組みを学ぶ
  • SSOの長所とセキュリティ上のメリットを理解する
  • SSO認証トークンの仕組みを理解する

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

シングルサインオン(SSO)とは?

シングルサインオン(SSO)は、複数のアプリケーションのログイン画面を1つにまとめる技術です。SSO を使用することで、ユーザーはログイン認証情報(ユーザー名、パスワードなど)を 1 つのページに1回入力するだけで、SaaSのすべてのアプリケーションにアクセスできるようになります。

SSOは、ユーザーアプリケーションが社内のITチームによって割り当てられ管理されている場合に、業務背景で使用されることがよくあります。また、SaaSアプリケーションを使用するリモートワーカーにも、SSOを使用する利点があります。

いったんバーに入ることができた客が、アルコール飲料を注文するたびに飲酒可能な年齢であることを証明する身分証を見せるよう要求されることを想像してみてください。人によっては何度も調べられることにいら立ち、同じような状況を避けるために、次からは隠れてアルコール飲料を持ち込もうとするかもしれません。

しかし、ほとんどの店は、客の身分証を確認するのは1回のみであり、それ以降は確認せずに飲み物を出します。これはSSOシステムに似ています。本人認証を何度も行う代わりに、ユーザーは本人認証を一度行うだけで、複数のサービスにアクセスできます。

SSOは、多くのIdentity and Access Management(IAM)ソリューションまたはアクセス制御ソリューションの重要な側面です。ユーザーの本人認証は、どの権限をユーザーが持つべきかを知るために極めて重要です。Cloudflare Zero Trustは、ユーザーのID管理を行うためにSSOソリューションと統合するアクセス制御ソリューションの一例です。

記事
企業への信頼を高めるゼロトラスト
ガイド
アプリケーションへのアクセスを保護するためのZero Trustガイド

SSOの長所

ユーザーにとってずっと簡単で便利なことに加えて、SSOは、より安全であると広く認められています。これは直感に反するように思えるかもしれません。複数のパスワードで複数回サインインするよりも、1つのパスワードで1回だけサインインする方がなぜ安全なのでしょうか?SSO支持派は、次のような理由を挙げています:

  1. より強力なパスワード:ユーザーは1つのパスワードのみを使用するため、SSOの使用は、より強力なパスワードを作成し、記憶して、使用することを容易にします。*実際、ほとんどのユーザーはSSOでより強力なパスワードを使っています。

    *「強力な」パスワードとは?強力なパスワードとは、容易に推測されず、ブルートフォース攻撃が成功しないほど十分にランダムなものを指します。「w7:g"5h$G@」はかなり強力なパスワードと言えますが、「password123」は強力とは言えません。
  2. パスワードを使いまわさない:ユーザーが複数のアプリやサービスのパスワードを覚えていないといけなくなると、「パスワード疲れ」と呼ばれる症状が現れて、ユーザーはすべてのサービスでパスワードを再利用するようになります。複数のサービスにわたって同じパスワードを使用することは非常に高いセキュリティリスクです。なぜなら、すべてのサービスが最弱のパスワードで保護されたサービスと同じセキュリティレベルしかないことを意味するからです。サービスのパスワードデータベースが侵害されたら、攻撃者はそのパスワードを使用して、ユーザーのほかのすべてのサービスにハッキングすることができます。SSOは、膨大な数のログインを1つのログインに減らすことで、こうした状況が発生するのを回避します。
  3. パスワードポリシーの適用の強化:一箇所でパスワードを入力するSSOを使用することにより、ITチームはパスワードのセキュリティルールを容易に適用できます。たとえば、一部の企業ではパスワードを定期的にリセットすることをユーザーに義務付けています。SSOを使用することで、パスワードのリセットをより簡単に行えるようになります。さまざまなアプリやサービスのパスワードを頻繁にリセットする代わりに、ユーザーは1つのパスワードのみをリセットします。(定期的にパスワードをリセットすることの価値が疑問視されていますが、一部のITチームはパスワードのリセットを依然としてセキュリティ戦略の重要な部分だとみなしています。)
  4. 多要素認証:多要素認証(MFA)とは、ユーザーを認証するのに複数の認証要素を使用することです。たとえば、ユーザー名とパスワードを入力することに加えて、ユーザーはUSBデバイスに接続したり、スマートフォンに表示されるコードを入力したりすることを求められます。この物理オブジェクトを入手することは、ユーザーが本人であることを証明するための2番目の「要素」になります。MFAは、パスワードのみに依存することよりもずっと安全です。SSOを使用することで、3つ、4つ、または数十のアプリのためにMFAを有効化する(現実的ではない)代わりに、1箇所でMFAを有効化することが可能になります。
  5. パスワードの再入力を適用する単一箇所:管理者は、同じユーザーがサインインしたデバイス上で引き続きアクティブであることを確認するために所定の時間が経過した時点でユーザーに認証情報を再入力させることができます。SSOを使用することで、このポリシーを複数のアプリにて適用するのではなく(一部のアプリはサポートしていない場合がある)、単一箇所ですべての内部アプリに適用できます。
  6. 外部での保管ではなく内部での認証情報管理:通常、ユーザーのパスワードは、最良のセキュリティプラクティスに必ずしも従っているとは限らないアプリケーションやサービスによって管理されていない状態でリモート保管されます。ところが、SSOを使用することで、ITチームが管理できる内部の環境にて認証情報を保管できます。
  7. パスワードの回復にかかる時間の短縮:上記のセキュリティ上のメリットに加えて、SSOは社内のチームが無駄にする時間を減らします。ITチームは数十のアプリのパスワードをユーザーが回復またはリセットするのを手伝うのに割く時間を減らし、ユーザーは仕事をするのに各種アプリにサインインするのに要する時間を減らすことができます。これは生産性の向上にもつながります。
サインアップ
あらゆるCloudflareプランで実現するセキュリティとスピード

SSOログインの仕組み

ユーザーがSSOサービスにサインインすると、ユーザーが確認されたことを記憶する認証トークンが作成されます。認証トークンとは、ユーザーのブラウザー内またはSSOサービスのサーバー内に保管されるデジタル情報のことです。ユーザーに発行される仮IDカードのようなものです。SSOサービスは、ユーザーがアクセスするすべてのアプリをチェックします。SSOサービスが、ユーザーの認証トークンをアプリに引き渡すと、ユーザーはサインインできます。ところが、ユーザーがサインインしないままでいると、SSOサービスはユーザーにサインインするよう促します。

SSOサービスは、ユーザーIDを保存しないため、ユーザーが誰かを必ずしも覚えているわけではありません。ほとんどのSSOサービスは、ユーザーの認証情報を別個のID管理サービスと照合することで機能します。

データベースそのものを管理せずに、ユーザーのログイン認証情報がデータベース内のID情報と一致するかどうかを確認できる仲介者がSSOだと考えてみてください。利用者のために本のタイトルを検索する図書館員みたいなものです。図書館員は、図書目録すべてを記憶しているわけではなく、図書目録に容易にアクセスできるのです。

SSOの認証トークンの仕組み

認証トークンを外部のアプリやサービスに引き渡せることは、SSOプロセスにおいて重要です。これにより、ID検証をほかのクラウドサービスと切り離して行えるようになり、SSOが可能になります。

数人しか入れない限定イベントを思い浮かべてください。ゲストが確認済み/承認済みかどうかを見分ける方法として入口の係員は各ゲストの手にスタンプを押します。イベントスタッフはそのスタンプをチェックして入場を許可されたゲストかどうかを確認できます。しかし、どのスタンプでも良いわけではありません。イベントスタッフは、入口の係員がどの形や色のスタンプを使用したかを知っている必要があります。

それぞれのスタンプが同じように見える必要があるように、認証トークンにも正しくて正当なものであることを確認するための独自の通信基準があります。主要な認証トークン基準はSAML(Security Assertion Markup Language)です。WebページがHTML(Hypertext Markup Language)で書かれているように、認証トークンはSAMLで書かれています。

アクセス管理戦略におけるSSOの役割

SSOは、ユーザーのアクセスを管理する1つの側面に過ぎません。アクセス制御、権限管理、アクティビティログ、組織内のシステムでのユーザーの行動を追跡して管理するほかの手段と組み合わせる必要があります。ただし、SSOはアクセス管理の重要な要素です。ユーザーの本人認証ができなければ、システムはユーザーのアクションを許可することも制限することもできません。

CloudflareはSSOソリューションと統合するか?

Cloudflare Zero Trustは、アプリケーションやWebサイトへのユーザーアクセスを制御して保護します。これは、ほとんどのVPNの代わりとして機能することができます。CloudflareではSSOプロバイダーと連携して、ユーザーを識別して割り当てられたアクセス許可を適用します。