ホーム/ インサイト/ SSO(シングルサインオン)とは|SAML・OIDC の違いと自社サービスへの入れ方

SSO(シングルサインオン)とは|SAML・OIDC の違いと自社サービスへの入れ方

SSO(シングルサインオン)とは、一度のログインで、複数のシステムやクラウドサービスを使えるようにする仕組みです。 社員は会社のアカウントで 1 回ログインすれば、メール・勤怠・経費精算などに、それぞれのパスワードを入れずに入れます。情報システム部門にとっては、アカウントの作成と停止を一か所で管理できる利点があります。ここでは SSO の仕組みと、SAML・OpenID Connect の違い、法人向けの自社サービスに SSO を入れるときの進め方を整理します。

SSO の仕組み

SSO には 2 つの役割があります。

  • IdP(Identity Provider):利用者が誰かを確かめる側。Microsoft Entra ID、Google Workspace、Okta など、会社が社員のアカウントを管理しているサービスです
  • SP(Service Provider):利用者が使いたいシステムの側。自社が提供する SaaS や社内システムがこちらに当たります

流れは次のとおりです。

  1. 利用者が SP(例:経費精算の SaaS)を開く
  2. SP は利用者を IdP のログイン画面へ送る
  3. 利用者が IdP でログインする(すでにログイン済みなら省かれる)
  4. IdP が「この人は誰か」を示す証明(SAML のアサーションや、OpenID Connect の ID トークン)を SP に渡す
  5. SP は証明の署名を確かめ、自分のシステムのセッションを発行する

SP はパスワードを持たず、IdP の証明を信じてログインさせます。そのため、SSO の安全さは IdP のログインの強さで決まります。

SAML と OpenID Connect の違い

観点SAML 2.0OpenID Connect(OIDC)
仕様の策定OASIS(2005 年)OpenID Foundation(2014 年)
証明の形式XML のアサーションJSON の ID トークン(JWT)
土台独自の仕様OAuth 2.0 の上に身元の確認を足したもの
得意な場面企業の Web システム。古くからの業務システムにも広く対応Web に加えて、スマホのアプリや API との組み合わせ
実装XML の署名の検証が複雑ライブラリが多く、比較的扱いやすい

どちらも、主な IdP は対応しています。法人向けの SaaS では「SAML 対応」を契約の条件にする顧客も多いため、顧客の求めを先に聞いて決めます。

自社サービスに SSO を入れる手順

  1. 対象を決める:SSO を使えるのは全プランか、上位のプランだけかを決めます。顧客(テナント)ごとに有効・無効を切り替えられるようにします
  2. テナントと IdP の対応を決める:利用者のメールアドレスのドメインや、テナント専用のログイン URL で、どの顧客の IdP へ送るかを判定します
  3. アカウントの紐付けを決める:IdP から届く利用者の識別子(変わらない ID)と、自社サービスの利用者を対応させます。メールアドレスは変わることがあるため、主な鍵にしません
  4. 初回のログインの扱いを決める:IdP でログインできた人を自動で作るのか、管理者があらかじめ登録した人だけを通すのかを決めます
  5. 停止の連携を決める:IdP で社員を止めたとき、自社サービスのアカウントとセッションも止まるようにします。SCIM(RFC 7644)でアカウントの作成・停止を連携させる方法があります
  6. SSO 以外の入口を決める:SSO を有効にしたテナントで、パスワードのログインを残すかを決めます。残すと抜け道になり、なくすと IdP の障害時に誰も入れなくなるため、顧客の管理者だけが使える非常用の入口を用意するのが一般的です

見落としやすい点

  • IdP の乗っ取りの影響が大きい:IdP のアカウントが乗っ取られると、つながるシステムすべてに入られます。IdP のログインはパスキーや多要素認証で守ります
  • セッションの長さ:SP のセッションが長いと、IdP でアカウントを止めてもしばらく使えてしまいます
  • IdP の証明書の更新:SAML の署名の証明書には期限があります。期限が切れると、顧客の全員がログインできなくなります。期限の通知と、新旧の証明書を並べて受け付ける仕組みを用意します
  • サポートの窓口:「ログインできない」の原因が IdP 側か自社側かを切り分ける記録(いつ、どの IdP から、何が届いたか)を残します

パスキーとの組み合わせ

SSO は「どこでログインするか」をまとめる仕組みで、「どうやって本人を確かめるか」は IdP や各サービスのログインに任されます。SSO を使わない一般の会員や、SSO の対象外のプランの利用者には、パスワードに代わるログインとしてパスキーを用意する方法があります。パスキーの仕組みは「パスキーとは何か」で解説しています。

SealGate のご案内

当社の「SealGate」は、純国産のパスキー認証基盤です。現在のログイン画面と会員データを活かしたまま、指紋や顔認証によるログインを追加できます。お預かりするデータは、公開鍵と利用者 ID の対応に限られます。料金は製品サイトに掲載しています。

出典

よくある質問

SSO を入れるとパスワードは要らなくなりますか?

SSO の先のシステムではパスワードを持たなくなりますが、最初にログインする IdP(Microsoft Entra ID や Google Workspace など)ではログインが必要です。IdP のログインをパスキーや多要素認証で強くすると、まとめて守れます。逆に IdP のアカウントが乗っ取られると、つながるすべてのシステムに入られる点に注意します。

SAML と OpenID Connect は、どちらに対応すればよいですか?

法人向けの SaaS では、顧客の情報システム部門が使う IdP の多くが両方に対応しています。新しく作るなら、Web とスマホのアプリの両方で扱いやすい OpenID Connect から始め、顧客の求めに応じて SAML を足す進め方がよく取られます。

SSO を入れれば、退職者のアカウントも自動で止まりますか?

SSO だけでは、すでにログイン中のセッションや、SaaS 側に作られたアカウントは残ります。IdP で止めたらすぐに SaaS 側も止まるようにするには、SCIM などでアカウントの作成・停止を連携させ、セッションの有効期限も短めに決めます。

インサイト一覧へ戻る

ご相談・お問い合わせ

お問い合わせをいただいてから、営業日2日以内にご返信いたします。