SSO(シングルサインオン)とは
1回ログインすれば、他のシステムでもログインできる仕組み。
色々実現の方法があり、SAML認証はその実現方法の1つ。
SAML認証とは
最初に具体例から説明すると、FigmaにGoogle認証でログインするような外部サービスでの認証のこと。
次の登場人物がいて、
- SP(Service Provider)
- ログインしたい先(例だとFigma)
- IdP(ID Provider)
- 代わりに認証するサービス(例だとGoogle)
認証用サービスであるIdPで認証できたら、その認証情報を使いたいSPに認証情報を渡すってだけのこと。
- 代わりに認証するサービス(例だとGoogle)
SAML(Security Assertion Markup Language)という言葉がやたら難しいけど、
認証情報を渡すときの形式がXML形式で決まっていて、
その形式に則って情報を渡せば、受け取った側も解釈できるよっていう書き方のルールってだけの意味。
「SAML認証でSSOする」とは
「外部サービスでの認証の仕組み使って、SSO(シングルサインオン)やったるでー」
ってだけのこと
補足
1回わかると大して難しくないのに、久々に聞くとめっちゃ忘れてて、難しそうに聞こえるから備忘録として残した
SSOするためにSAML以外の方法もあるみたいだけど、
https://www.intra-mart.jp/im-press/useful/security_assertion_markup_language
システム開発するにあたって、SSOするってなったら、「認証用にいつもみんなが使ってる別システムでの認証するSAML認証だよね」か、「アイパス使ったIdPへのログインするフォーム認証」で片付くケースが圧倒的そう。
概要理解はそんな難しくないけど、実装も難しくないとは言ってない笑
参考資料
https://www.youtube.com/watch?v=oTR0eWFtrqg&t=182s
https://www.hitachi-solutions.co.jp/iam/saml.html