こんにちは。スプラッシュトップ編集部です。
シングルサインオン(SSO)を実現するための手段として、SAML認証はよく話題に挙げられます。しかし、名前は聞いたことがあっても具体的な仕組みや他の方式との違いまではわからないという方が多いのではないでしょうか。
そこで今回は、SAML認証の概要や仕組み、認証の流れから、導入のメリットまでわかりやすく解説します。併せて、SAML認証と一緒に聞くことの多いOAuthとの違いについても見ていきましょう。
SAML認証とは?
SAMLはSecurity Assertion Markup Languageの略称で“サムル”と読みます。
SAML認証はインターネットドメイン間でユーザー認証を行なうためのXML(マークアップ言語)をベースにした標準規格です。一度のログインで複数のサービスにログインできるシングルサインオンを実現するための規格として利用されることが多いです。
SAML認証を用いたログインの際、ユーザー認証だけでなく属性情報も認証できるため、ユーザーのアクセス範囲も制限できるという特徴を持ちます。
つまり、SAML認証を用いればシングルサインオンを実現できることに加え、一部の機能は特定の部署のみにしかアクセスさせない、といったアクセス制御も可能です。
シングルサインオンについてもっと詳しく知りたい方は、以下の記事をご覧ください。
SAML認証の仕組みと流れ
ここからはSAML認証の仕組みと認証の流れについて詳しく見ていきましょう。
ユーザー、SP、IdPからなる認証フロー
SAML認証ではユーザー・SP・IdPの三者間で認証情報をやり取りします。
- ユーザー:利用者
- SP(サービスプロバイダ):ログイン先となるクラウドなどのサービス
- IdP(Identity Provider):シングルサインオンのサービス提供者
SPは主にOffice 365やDropboxなどのクラウドサービスが該当し、IdPはユーザーとSPとの橋渡し役として実際にユーザーの認証を行なう役割を持つものです。IdPはクラウドサービスだけでなく、オンプレミス環境のWindowsの認証基盤であるActive Directoryとも連携できます。
SAML認証はこの三者が相互に通信することでシングルサインオンを実現しています。
2パターンの認証の流れ
実際の認証の流れについては、SPとIdPの両者を起点として2パターンのフローが考えられます。
- SPを起点とするSP Initiatedの場合
- ①ユーザーがSPにアクセス
- ②SPがSAML認証要求を作成してユーザーに応答
- ③ユーザーはSPから受け取ったSAML認証要求をIdPに送信
- ④IdPの認証画面が表示される
- ⑤ユーザーはログインIDとパスワードを入力してIdPとの間で認証処理を行なう
- ⑥認証が成功したらIdPからSAML認証応答が発行される
- ⑦ユーザーはIdPから受け取ったSAML認証応答をSPに送信
- ⑧SPにSAML認証応答が届くとログインできる
- IdPを起点とするIdP Initiatedの場合
- ①ユーザーがIdPにアクセス
- ②IdPの認証画面が表示される
- ③ユーザーはログインIDとパスワードを入力してIdPとの間で認証処理を行なう
- ④認証が成功したらIdPにログインできる
- ⑤IdPの画面からアプリケーションのアイコン(対象のSP)を選択
- ⑥IdP側でSAML認証応答が発行される
- ⑦ユーザーはIdPから受け取ったSAML認証応答をSPに送信
- ⑧SPにSAML認証応答が届くとログインできる
SAML認証を用いたシングルサインオン(SSO)のメリット
SAML認証を用いればシングルサインオンを実現でき、そのことで大きなメリットを得られます。また、シングルサインオンを実現する方式はSAML認証以外にも存在しますが、そのなかでもSAML認証が選ばれる理由をメリットと併せて見ていきましょう。
業務効率化とセキュリティ向上
シングルサインオンは一度のログインで複数のサービスへのログインが自動化されるため、ユーザーの利便性が向上するメリットがあります。
さらに、SAML認証を用いてシングルサインオンを実現すれば、ユーザー・管理者ともに煩雑なパスワード管理から解放され、セキュリティの向上も期待できるのです。
例えば、管理者側にとっては、ユーザーのパスワードロックやパスワード忘れによる対応など、業務負荷の軽減が見込めます。
また、ユーザー側にとっては、多くのサービスを利用する場合にありがちなパスワードの使い回しや、パスワードを覚えておくために紙や付箋にメモをとるなど、パスワード管理としては好ましくない状態を回避することも可能です。
これらのシングルサインオンのメリットについては、以下の記事で詳しく解説していますので、ぜひご覧ください。
多くのクラウドサービスに対応可能
複数のシングルサインオンを実現する方式のなかでもSAML認証が選ばれる理由の一つとして、多くのクラウドサービスがSAML認証に対応していることが挙げられます。
近年では新型コロナウイルスの感染拡大の影響もあり、テレワークが普及し社外で仕事をすることも多くなりました。テレワークに合わせてクラウドサービスを利用する機会も増え、シングルサインオンはより重要なものになっています。
このような状況下において、多くのクラウドサービスがSAML認証に対応していることは、自社でシングルサインオンを導入する際にSAML認証を選択するための大きなメリットになっているといえるでしょう。
さらに、社内システムとクラウドサービスのID統合管理においてIDaaS(複数のID管理を一元的に行うクラウドサービス)が注目されていますが、前述の通りSAML認証ではユーザー認証と併せてユーザー属性情報も同時にやり取りできるため、IDaaSと連携したクラウドサービスのアクセス権限の管理も可能です。
SAML認証とOAuthの違いは認証と認可
最後に、SAML認証と併せて聞くことの多い“OAuth”について触れます。OAuthはアプリケーションを連動させるためのAPIを活用し、複数のサービスでシングルサインオンが利用できる環境を作る技術です。
例えば、クラウドのアルバムサービスに写真を登録すると、自動的にTwitterで投稿するなどの使い方が考えられます。このとき、クラウドのアルバムサービスはTwitterのAPIを利用して投稿を行なっていますが、結果的にはクラウドのアルバムサービスにログインすることで、Twitterにもログインできている状態です。
このように、シングルサインオンを実現するという点ではSAML認証とOAuthは同じといえるでしょう。両者の違いを理解するためのポイントは“認証”と“認可”の違いです。
認証とはユーザーを証明するプロセスであり、認可はアクセスの権限を与えるプロセスです。
SAML認証は認証と認可を行ない、OAuthは原則認証を行なわずに認可のみとなります。OAuthではAPIを利用する際に認証が行なわれていない、という点がSAML認証との大きな違いなのです。
まとめ
SAML認証はインターネットドメイン間でユーザー認証を行なうための標準規格です。
SAML認証の認証フローを理解するためには、ユーザー・SP・IdPの三者の存在を理解することが重要です。加えて、認証フローもSPとIdPのそれぞれが起点となる2パターンが存在しています。
SAML認証を用いてシングルサインオンを実現すると、ユーザビリティの向上やセキュリティの強化などのメリットが得られます。
また、多くのサービスがSAML認証に対応しており、シングルサインオンの標準技術であること、IDaaSとの相性が良い点もメリットとして挙げられる点です。
テレワークの普及によってクラウドサービスの利用が増えている今こそ、シングルサインオンの実装のためにSAML認証を利用してみてはいかがでしょうか。
>SAML 2.0認証方式を採用したリモートデスクトップはこちら