SAML認証とは?SSO(シングルサインオン)の仕組みやフロー、メリットを解説
目次
SAML認証とは、SSO(シングルサインオン)を実現するための手段のひとつです。
SAML認証の仕組みやフローを理解することで、SAML認証によるSSOのメリットやデメリットをより理解しやすくなるでしょう。
SAML認証の仕組みや、SAML認証によるSSOのメリットなどを解説します。
SAML認証とは
SAML認証とは、SSO(シングルサインオン)を実現するための手段のひとつであり、SAMLは「サムル」と読みます。
SAMLは「Security Assertion Markup Language」の頭文字をとった言葉であり、インターネットドメイン間でユーザー認証をおこなうXMLベース規格のことです。
一度のログインで複数サービスにログインできるSSOを実現できるだけでなく、ユーザー認証以外の属性認証も可能になるため、アクセス制限をかけることもできます。
SAML認証とOAuthの違い
SAML認証はその名のとおり認証の管理をおこなうものですが、OAuthは認可を管理しているものです。
認可とは「認めて許可すること」を意味し、認証とは「手続きを経て認められること」をいいます。
たとえば、Aというサイトに会員登録し、利用ができるようになったことは「認可された」ということになります。
また、Aというサイトにログインするために生年月日の入力など、本人確認を求められることがありますが、そのような本人確認を経てログインする工程のことを「認証」といいます。
認証をおこなうSAML認証と、認可をおこなうOAuthは、認証するか認可するかの違いがあることを覚えておきましょう。
SSOにSAML認証が必要な理由
SSO(シングルサインオン)は、一度のログインで複数サービスにログインできる仕組みのことです。
そのため、IDの管理と認証を担うIdP(Identify Provider)と、ユーザーが利用したいクラウドサービスを提供するSP(Service Provider)をつなぐシステムが必要になります。
IdPとSPをつなぐ役割をするのが、SAML認証です。
SAML認証はIdPとSPをつなぐことができるため、SSOを実現することができます。
クラウドサービスの多くがSAML認証を利用しているため、SSOを実現するためにはSAML認証が必須になるといえます。
SAML認証の仕組み
SAML認証は、ユーザー、SP、IdPという3つの要素で成り立っています。
3つの要素それぞれの意味を解説します。
ユーザー
ユーザーとは、クラウドサービスの利用者のことをいいます。
識別子はNameIDで、SAML認証で認証がおこなわれると、ユーザーの情報がSPに伝えられます。
SP
SP(Service Provider)は、クラウドサービスのことをいいます。
たとえば、GoogleドライブやOneDriveなどがクラウドサービスといわれるものです。
SAML認証においては、ユーザーがクラウドサービスを利用しようとした際に、IdPからユーザーの認証情報をうけとるという役割を持っています。
IdP
IdP(Identify Provider)は、IDの管理と認証をおこなうシステムのことです。
ユーザーがクラウドサービスを利用しようとした際に、チェックしたユーザーの認証情報をSPへ渡すという役割を持っています。
SAMLの認証フロー
SAMLにはSPからの認証フローと、IdPからの認証フローの2種類の認証フローがあります。
それぞれの認証フローについて解説します。
SPからのフロー
SPからの認証フローの場合は、ユーザーがSPにログインしようとすることから始まります。
ユーザーがログインしようとしていることを認識したSPは、SAML認証をおこなうことをユーザーに伝え、ユーザーはIdPにSAML認証実施を要求します。
IdPからSAML認証対応の案内がユーザーに届いたら、ユーザーとIdPがそれぞれ認証処理をおこないます。
認証処理をおこなったことをユーザーを介してSPに伝えることで、ユーザーはSPにログインできるようになります。
SPからのSAML認証フローの場合、ユーザー、SP、IdPの3点を行き来することで、ログインが可能です。
IdPからのフロー
IdPからのフローは、SPからのフローよりもシンプルです。
まず、ユーザーがIdPにアクセスし、IdPはユーザーに認証を求めます。
ユーザーとIdPのそれぞれが認証処理をおこなうと、ユーザーはIdPにアクセスすることが可能になります。
ユーザーがIdPでクラウドサービスを利用しようとアプリをクリックした場合、IdPは認証をおこなったことをユーザーを介してSPに伝え、ユーザーはSPにもログインできるようになります。
IdPからのSAML認証フローの場合は、ユーザーとIdP間のやりとりがほとんどのため、SPはSAML認証がおこなわれたことをIdPからうけとるだけです。
SAML認証によるSSOのメリット
SAML認証によるSSOのメリットを3つ紹介します。
ユーザー満足度の向上
SAML認証でSSOをおこなうことで、パスワード管理の必要がなくなります。
複数のサービスごとにIDやパスワードを使い分けていると、IDやパスワードが増えてしまい、管理することが難しくなります。
パスワードを忘れてしまった場合はパスワードの再発行をおこなえますが、再発行手続きに手間がかかることや、サービスによってはすぐに再発行できないこともあります。
SSOを利用することで、管理するIDとパスワードがひとつになるという点は、ユーザーの精神的負担の減少につながるメリットがあります。
セキュリティ性の向上
SSOによってセキュリティ性の向上が見込まれます。
複数サービスを利用している場合、覚えやすいからと同じIDやパスワードを使用する人も多いでしょう。
または、忘れないためにPCにメモ書きを貼っている人もいるかもしれません。
しかし、パスワードの使いまわしやパスワードのメモ書きは、セキュリティ上とても危険な行為です。
SSOを利用すれば、ひとつのIDとパスワードのみの管理で、複数サービスを利用できるようになるため、セキュリティ的にも安全といえます。
業務効率化の向上
従業員が多い企業の場合、上司が部下のクラウドサービス利用を管理していることもあるでしょう。
部下がパスワードを忘れてしまったり、パスワードロックがかかってしまったりすると、クラウドサービスの利用管理者の対応が必要になります。
トラブルがある度に管理者の対応が必要になると、管理者の業務に支障が出る可能性があります。
SAML認証によるSSOをおこなうことで、管理するパスワードがひとつになるため、パスワードを忘れることも減少し、企業全体の業務効率化を期待できます。
SAML認証によるSSOのデメリット
SAML認証によるSSOには、メリットの反面デメリットも存在します。
デメリットの発生により、大きな損害が発生する可能性もあるため、デメリットを把握したうえで利用することが重要です。
サービス停止するとログイン不可になる
SSOをおこなうことで、認証情報の管理がひとつにまとめられます。
そのため、SSOのサービス自体が停止してしまうと、まとめられている複数サービスへのログインできなくなります。
SSOのサービス停止によるログイン不可のデメリットを回避するためには、それぞれのサービスの認証情報を別で管理するか、サービスが停止する恐れのないSSOを選ぶことが必要です。
SSO導入は高コストになる恐れがある
SSOはひとつのIDとパスワードで管理できるため、管理の手間などが省かれますが、導入するには高コストになる恐れがあります。
たとえば、自社が使用しているサーバー内に、ソフトウェアを導入するようなオンプレミス型SSOの場合は、初期費用が高くなる可能性があります。
クラウド型のSSOもありますが、初期費用が安い分、月額使用料がかかり、長期的に見ると結果的にコストが高くなる恐れもあります。
不正アクセスによる悪用に注意
SSOはひとつのIDとパスワードで管理するため、管理しているIDとパスワードが漏洩した場合、SSOでまとめられている複数サービスすべてを悪用される恐れがあります。
ひとつのIDとパスワードでさまざまなサービスの利用が可能となるため、甚大な被害をもたらす恐れがあります。
SSOを利用する際には、IDとパスワードだけでなく生体認証などのほかの認証方法も登録しておくことをおすすめします。
SAML認証によるSSOはデメリットに注意
SAML認証はユーザーとSP、IdPの三者間をつなぐ役割を担います。
SAML認証によるSSOはIDとパスワードの一元管理化ができるため、ユーザーや管理者は複数のパスワードを管理する必要がなくなります。
一方で、IDとパスワードが漏洩した場合、該当IDとパスワードで利用できるサービスはすべて悪用される恐れがあるため、厳重な管理をする必要があります。
SSOは種類によって導入コストが変わってくるため、複数のSSOを比較検討し、自社に合ったSSOを導入しましょう。
Chatwork(チャットワーク)は多くの企業に導入いただいているビジネスチャットです。あらゆる業種・職種で働く方のコミュニケーション円滑化・業務の効率化をご支援しています。