SAML・SSOとは?登場人物とプロトコル

公開: 更新: カテゴリ: セキュリティ系

30秒で結論

SAML・SSOとは(全体像)

毎回サービスごとにログインするのは手間がかかる。そこで、一度ログインすれば、複数のサービスを再ログインなしで使えるようにするのがSSO(シングルサインオン)だ。

SSOを実現する代表的な規格がSAMLXMLという形式で認証情報をやり取りし、企業のSaaS連携で広く使われている。登場するのは、本人確認をするIdP(ID提供者)と、サービスを提供するSP(サービス提供者)。両者の信頼関係でSSOが成り立つ。

押さえるのは、IdPとSPの関係SAMLとOIDCの違い、そしてSSOの安全性だ。


詳しく:登場人物とプロトコルを押さえる

ここが心臓部。まず登場人物を整理する。

SSOの登場人物としくみ

用語役割
IdP(ID提供者)本人確認をして「この人は本物」と保証する側
SP(サービス提供者)サービスを提供する側。IdPの保証を信頼して使わせる
SAML認証情報をXMLでやり取りする規格(企業SaaSで標準)

SSOを実現するプロトコルは複数ある。

SSOのおもなプロトコル

プロトコル特徴
SAMLXMLベース。エンタープライズ(企業)で定番
OIDCJSONベース。新規では推奨される
Kerberos/LDAPWindows(Active Directory)などで使われる

言葉を噛み砕いておく。

わかりやすく言い換えると

つまり、SSOは「一度の入館手続きで、建物内の複数の部屋に入れる」しくみにたとえるとスッと入る。

会社で朝に1回ログインすれば、メール・勤怠・経費などのサービスに再ログインなしで入れる。受付(IdP)が「この人は本物」と保証し、各部屋(SP)はその保証を信じて入れてくれる。この連携をXMLの書類でやり取りするのがSAMLだ。

似たしくみにOIDCがあるが、SAMLはXML、OIDCはJSONという形式の違いがある。そして、SSOは「1回で全部入れる=危険」と誤解されがちだが、受付をMFAなどで強く守れば、むしろ安全性を高められる、というわけだ。


試験のツボ

🔴 一番出る:SSOとSAML

①SSO=一度の認証で複数システムを使える

②SAML=XMLベースの認証連携規格。IdP(ID提供者)とSP(サービス提供者)の信頼関係

🔴 次に出る:SAMLとOIDCの違い

①SAMLはXML・OIDCはJSON(別プロトコル)

②新規ではOIDCが推奨される

🟡 押さえると安定:SSOは強力認証(MFA)と組めば安全性を高められる。プロトコルは複数(SAML/OIDC/Kerberos/LDAP)


よくある間違い

「SAMLとOIDCはまったく同じものだ」→ ✗  SAMLはXML、OIDCはJSON。どちらもSSOに使えるが、別のプロトコル。

「SSOは1回で全部に入れるので必ず危険だ」→ ✗  その1か所を強力認証(MFA)で守れば、むしろパスワード使い回しが減り安全性を高められる。

「SSOを実現する方法はSAMLしかない」→ ✗  OIDCやKerberos、LDAPなど複数のプロトコルがある。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(SSOとSAML)

📝 オリジナル問題 1 SSOとSAML

SSOとSAMLに関する次の記述のうち、正しいものはどれか。

  1. SSOはサービスごとに毎回ログインし直す方式のことで、再ログインを省くしくみではないとされているのだ
  2. SAMLは通信を速くするための圧縮の規格のことで、認証の連携とはまったく関係がないとされているのである
  3. SSOは一度のログインで複数のサービスを使え、SAMLはそれを支えるXMLベースの認証連携規格である
  4. SSOは画面の文字を大きくする表示の設定のことで、ログインの回数とは関係しないとされているものである
ピーエムロボ
ピーエムロボ 解答・解説

解答は 3 である。

SSOは一度のログインで複数のサービスを使えるしくみ。SAMLはそれを支えるXMLベースの認証連携規格だ。IdPとSPの信頼関係で成り立つ。

選択肢1は「毎回ログインし直す」が誤りで逆。選択肢2の圧縮、選択肢4の画面設定は、いずれも誤りだ。

選択肢判定理由
1再ログインを省くのがSSO
2圧縮の規格ではない
3SSO=一度で複数・SAML=XML連携で正しい
4画面設定ではない

オリジナル問題2(IdPとSP)

📝 オリジナル問題 2 IdPとSP

SAMLの登場人物に関する次の記述のうち、正しいものはどれか。

  1. IdPは本人確認をして保証する側、SPはサービスを提供する側で、両者の信頼関係によりSSOが成り立つ
  2. IdPもSPもまったく同じ役割で、本人確認とサービス提供のどちらも区別なく行うとされているのである
  3. IdPは画面を拡大する機器、SPはデータを圧縮する機器のことで、認証とは関係しないとされているものだ
  4. IdPとSPはどちらも通信を遅くするしくみで、本人確認やサービス提供とは無関係とされているのが実情だ
ピーエムロボ
ピーエムロボ 解答・解説

解答は 1 だ。

IdP(ID提供者)は本人確認をして保証する側SP(サービス提供者)はサービスを提供する側。両者の信頼関係でSSOが成り立つ。受付と各部屋の関係だ。

選択肢2は「同じ役割」が誤り。選択肢3の画面拡大・圧縮、選択肢4の通信を遅くするは、いずれも誤りだ。

選択肢判定理由
1IdP=保証・SP=提供で正しい
2役割は分かれている
3画面拡大や圧縮ではない
4通信を遅くするしくみではない

オリジナル問題3(SAMLとOIDC・安全性)

📝 オリジナル問題 3 SAMLとOIDC・安全性

SAMLとOIDC、SSOの安全性に関する次の記述のうち、正しいものはどれか。

  1. SAMLとOIDCはまったく同じ規格で、形式にも役割にもいっさい違いはないものとされているのが実情である
  2. SSOは1回で全部に入れるため必ず危険で、安全に使う方法はいっさい存在しないとされているものである
  3. SAMLはJSON、OIDCはXMLというように、形式がちょうど逆になっているとされているのが実情なのである
  4. SAMLはXML・OIDCはJSONの別プロトコルで、SSOは強力認証と組めば安全性を高められるものである
ピーエムロボ
ピーエムロボ 解答・解説

解答は 4 だ。

SAMLはXML・OIDCはJSONの別プロトコル。そしてSSOは、強力認証(MFA)と組めば、むしろ安全性を高められる。「1回で全部=必ず危険」ではない。

選択肢1は「まったく同じ」が誤り。選択肢2は「必ず危険」が誤り。選択肢3は形式を逆にしている。

選択肢判定理由
1形式が違う別プロトコル
2強力認証と組めば安全性を高められる
3SAMLがXML・OIDCがJSONで逆
4別プロトコル・MFAで安全性向上で正しい

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る