あわわ、なんかSSO関連の案件でなんとかやってたら
急に手ごわそうなSAMLとか言うのがでてきやがったぜって方向け。(初心者向け)
#ひとまずSAML認証の概要のキャッチアップ
http://xmlconsortium.org/websv/kaisetsu/C10/content.html
ここ見れば登場人物やそれぞれの役割、関わり方がざっくりわかるので
一旦目を通しておく。
#重要なワードたち
-
SOAP:Simple Object Access Protocol
SOAPはメッセージングのエンベロープの仕様を定めているものであるが、
Webサービスのプロトコルとして、要求/応答をRPCとする手順も規定している。 -
SAMLの提供するサービス
-
認証情報伝達サービス(Authentication Assertion)
-
属性情報の伝達(Authorization Assertion)
-
アクセス制御情報の伝達(Authorization Decision Assertion)
認証と認可のお話、これらをググれば一通りやれることがわかります。
ここを勉強した後に一番上のURLを参照すればだいたいわかった気になれます。
Tips
既にあるプロダクトをSAML認証を用いたSSO対応させる場合に知りたいのは
以上のような情報が多かった気がします。
・御社でSAML認証している際に送信しているxmlくださいー
・ユーザーに紐づく属性情報どんなんありますかー
(既存のプロダクト製品のユーザーの項目に紐付けることになるかも)
・ユーザー権限を御社製品でどう表現するか
あとはひたすら環境構築!
※困った時用の頼れるリファレンス。通常時に上から読もうとすると病むので注意。
https://www.oasis-open.org/committees/download.php/22553/sstc-saml-tech-overview-2%200-draft-13.pdf
#あとがき
前職の同期にSAML認証に関して質問を受けて返答したら
「Qiitaみたいだ!」といってもらえたので載せてみました。w
// 下記URLがリンク切れを起こしていたので代わりとなるページを探して貼っておきました。
// http://japan.entrust.com/resources/pdf/wp/13-xml.pdf