SAMLとは、異なるクラウドサービス間においてユーザー認証を行うための規格です。
本記事では、SSO(シングルサインオン)の規格でもあるSAMLの仕組みや認証の流れ、SMAL認証によるSSOのメリットとデメリットメリットとデメリットについて解説します。
SAML認証とは?
SAMLは「Security Assertion Markup Language」の略で、シングルサインオンやフェデレーションを実現する仕組みのひとつです。
標準化団体のOASIS(Organization for the Advancement of Structured Information Standards)によって策定された、XML ベースの標準規格です。
SAMLを使うことで、異なるインターネットドメイン間であっても、ユーザーの属性情報や権限などの認証に必要な情報をスムーズにやりとりすることができます。
利用するクラウドサービスやWebアプリケーションがSAMLに対応していれば、シングルサインオンやフェデレーションを容易に実現でき、横断的な利用が可能となります。
SAML認証とOAuthの違い
SAML認証と一緒にあがるものに、「OAuth」があります。この、SAMLとOAuthの違いについて説明します。
SAML認証は「認証を管理」するものに対して、OAuthは「認可を管理」するものになります。
この認証と認可の違いは、認証とは「手続きを経て認められること」に対して、認可は「認めて許可すること」になります。
具体例をあげると、とあるサイトに会員登録し、利用ができるようになることを「認可された」といいます。
とあるサイトにログインするために本人確認が必要で、生年月日を入力しログインした場合、本人確認を経てログインできるようになったため、この一連の工程のことを「認証」といいます。
認証をおこなうSAML認証と、認可をおこなうOAuthは、このような違いがあります。
SAML認証の仕組みと認証フロー
SAML認証の仕組みと認証フローについて説明します。
SAML認証の仕組み
SAML認証は、「ユーザー」、「SP」、「IdP」という3つの要素で成り立っています。
ユーザー
クラウドサービスの利用者のことをいいます。識別子はNameIDで、SAML認証で認証がおこなわれると、ユーザーの情報がSPに伝えられます。
SP(Service Provider)
クラウド等で提供している各種サービスになります。身近な例をあげるとGoogleドライブやOneDrive、BOXなどが該当します。
SAML認証においては、ユーザーがクラウドサービスを利用しようとした際に、IdPからユーザーの認証情報をうけとるという役割を持っています。
IdP(Identify Provider)
IDの管理と認証をおこなうシステムのことです。
ユーザーがクラウドサービスを利用しようとした際に、チェックしたユーザーの認証情報をSPへ渡すという役割を持っています。
SAML認証フロー
SAML認証フローは、SPからの認証フローと、IdPからの認証フローの2種類の認証フローがあります。
SPからの認証フロー
このフローはユーザーがSPにログインしようとすることから始まります。
ユーザーがログインしようとしていることを認識したSPは、SAML認証をおこなうことをユーザーに伝え、ユーザーはIdPにSAML認証実施を要求します。
IdPからSAML認証対応の案内がユーザーに届いたら、ユーザーとIdPがそれぞれ認証処理をおこないます。
認証処理をおこなったことをユーザーを介してSPに伝えることで、ユーザーはSPにログインできるようになります。
IdPからの認証フロー
このフローもユーザーがSPにログインしようとすることから始まります。
ユーザーがIdPにアクセスし、IdPはユーザーに認証を求めます。ユーザーとIdPのそれぞれが認証処理をおこなうと、ユーザーはIdPにアクセスすることが可能になります。
ユーザーがIdPでクラウドサービスを利用しようとアプリをクリックした場合、IdPは認証をおこなったことをユーザーを介してSPに伝え、ユーザーはSPにもログインできるようになります。
SMAL認証によるSSOのメリットとデメリット
ここでは、SAML認証によるSSOのメリットとデメリットについて説明します。
SAML認証によるSSOのメリット
SAML認証によるSSOには、メリットの反面デメリットも存在します。
- ユーザー満足度の向上
- セキュリティ性の向上
- 業務効率化の向上
ユーザー満足度の向上
SAML認証でSSOをおこなうことで、パスワード管理の必要がなくなります。
SSOを利用することで管理するIDとパスワードがひとつになるという点は、ユーザーの精神的負担の減少につながるメリットがあります。
セキュリティ性の向上
SSOによってセキュリティ性の向上が見込まれます。
SSOを利用すれば、ひとつのIDとパスワードのみの管理で、複数サービスを利用できるようになるため、セキュリティ的にも安全になります。
業務効率化の向上
SAML認証によるSSOをおこなうことで、管理するパスワードがひとつになるため、パスワードを忘れることも減少し、企業全体の業務効率化を期待できます。
SAML認証によるSSOのデメリット
SAML認証によるSSOには、デメリットも存在します。
- サービスが停止してしまうとすべてログイン不可になる
- SSO導入に伴いコストが高くなる恐れがある
- 不正アクセスされた場合、悪用されるリスクがある
サービスが停止してしまうとすべてログイン不可になる
SSOをおこなうことで認証情報の管理がひとつにまとめられますが、SSOのサービス自体が停止してしまうと、まとめられている複数サービスへのログインできなくなるリスクがあります。
SSO導入に伴いコストが高くなる恐れがある
オンプレミス型SSOの場合は、初期費用がかかり、クラウド型のSSOの場合は月額使用料がかかり、長期的に見ると結果的にコストが高くなる恐れもあります。
不正アクセスされた場合、悪用されるリスクがある
SSOはひとつのIDとパスワードで管理するため、管理しているIDとパスワードが漏洩した場合、SSOでまとめられている複数サービスすべてを悪用される恐れがあります。
まとめ
SSOを活用すればクラウドサービスをログインして利用するときの、手間やストレスを軽減できます。
SSOを実現するための要素技術であるSAMLのメリット/デメリットを理解しSSOを活用してみてはいかがでしょうか?
最後に
セキュリティに関する記事や、情シスのキャリアやビジネスススキルに関する記事もありますので、ご興味あればご参照ください。
セキュリティ関連記事
https://digital-jyoshisu.com/archives/category/セキュリティ
キャリア関連記事
https://digital-jyoshisu.com/archives/category/キャリア