2006年、2007年あたりから注目が集まりだしたOpenID。対象Webサイトで登録する必要なく、認証情報を流用できるので便利だ。類似の技術に.NET Passportなどがあるが、その基盤になっているのがSAML(Security Assertion Markup Language)だ。

ピクチャ 2-60

SAMLを使うと、対応したサイト同士が認証情報を交換し、引き継げるようになる。対応したサイト同士は予め信頼関係を築いておく必要がある点などがOpenIDとは異なるのだが、SAMLがどういったものなのか、それを体感できるのがこのソフトウェアだ。

今回紹介するオープンソース・ソフトウェアはsimpleSAMLphp、SAMLを実装したPHPスクリプトだ。

利用には様々な手間がかかるようで、まだ本格的には試せていない。だが、ライブラリの内容を見る限り、なかなか面白そうだ。例えばOpenIDとの互換性部分があったり、Radius認証、LDAP認証にも対応できるようだ。

ピクチャ 3-59

SAML自体はHTTPまたはSOAPでの認証を基本としているとあって、応用範囲は広そうな気がする。さらにリソースへのアクセス権限をも設定できるらしい。これはOpenID + oAuthに匹敵する面白さだ(SAMLが先だが、普及していないということは実装が難しいのだろうか)。

Web APIが注目されている今であれば、再発掘する価値は十分にあると思われる。oAuthの状況も見逃せないが、SAMLもまた面白そうだ。

(修正:2008年1月18日。OpenIDとSAMLの関係についての表記を修正→via 「OpenID をさらに発展させたものが SAML」 - tkudo’s weblog about identity management

simpleSAMLphp | Feide RnD
 http://rnd.feide.no/simplesamlphp