Saml認証とは何か?シングルサインオンの認証方法をケルベロス認証との違いを含めて解説
Saml認証の概要
Saml認証とは「Security Assertion Markup Language認証」の略称で、シングルサインオンを可能にする認証方法です。「サムル認証」と呼びます。
2002年に国際的な標準化団体である「OASIS」からユーザー認証の標準規格として策定され、2005年にはver2.0になりました。
ちなみに標準化団体とは、「その分野の標準を策定する」ことを目的とした団体です。OASISは国際的なコンピュータ・通信の標準化団体です。
Saml認証の特徴
上述のとおり、Saml認証はシングルサインオンを可能にする認証方式です。
シングルサインオンによる認証時、ユーザーに属性情報を付与できるのがSaml認証の大きな特徴となります。
この属性情報を付与することで、サーバーを提供している側はユーザーのアクセス制御がより簡単になります。
たとえば「属性Aを持つユーザーしか利用できない機能」などを設定することで、会員専用サイトや社員専用システムなどを効率よく運用できます。
シングルサインオンとは
シングルサインオンとは、一度のログインで認証したユーザー情報を他のシステムやサービスに紐付けることで、追加の認証が不要となる仕組みです。
これにより、提携サイトをユーザー認証なしで利用できるようになります。
ユーザー認証の回数を減らすことで、ユーザーの利便性がより高くなります。
Samlとは異なるシングルサインオン方式に、「リバースプロキシ方式」「エージェント方式」「代理認証方式」などがあります。
シングルサインオンについては、下記の記事もご参照ください。
Saml認証の流れ
Saml認証が行われる流れには、「ユーザー」「SP」「Idp」が関わってきます。
- ユーザー:システムにログインしたい利用者
- SP:Service Provider。ユーザーがログインしたいシステム
- Idp:Identity Provider。SPに認証情報を提供するシステム
ここからは、Saml認証の流れを解説していきます。
ユーザーによるSPへのアクセス
ユーザーはシステムを利用したいため、SPにアクセスします。
SPからIdpへの通信
アクセスを受けたSPはSamlの認証要求を作成し、Idpに送信します。
Idpによるユーザーのチェック、SPへの応答
認証要求を受け取ったIdpはユーザーをチェックし、SPにログインできるか否かを確認します。
確認の結果を応答内容として作成し、SPに送信します。
SPによるログイン処理
SPはIdpから受け取った情報を元に、ユーザーのログイン処理を行います。
このように水面下でSPとIdpがやりとりし、シングルサインオンが実現します。
ユーザーには、ユーザーによるSPへのアクセスとSPによるログイン処理しかみえていないため、ユーザーからすれば非常に手軽な仕組みと言えるでしょう。
ケルベロス認証との違い
Saml認証と近しいシングルサインオン方式に、「ケルベロス認証」があります。
ケルベロス認証では、ユーザー認証を行った際、「チケット」と呼ばれる情報を発行します。
このチケットは有効期限のついた鍵のようなものであり、サーバー側はチケットを持っているか否かによって、ユーザーのアクセス権を判断します。
ユーザーに属性を付与するものがSaml認証、チケットを発行するものがケルベロス認証というように区別するといいでしょう。