トレンド解説

SAML認証とは?シングルサインオンの仕組みやメリット・デメリットなどを解説

アイキャッチ
目次

SAML認証はシングルサインオン(SSO)を実現する仕組みの一つです。クラウドサービスの普及などにより、業務で多くのサービス・システムを利用するようになった昨今、シングルサインオンは業務の効率化や利便性の向上のために欠かせない技術となりました。そんなシングルサインオンで多く利用されるSAML認証とは具体的にどのようなものなのでしょうか。

この記事では、SAML認証の概要や仕組み、メリット・デメリットについて解説するとともに、同じくシングルサインオンでよく使われるOAuthやOpenID Connectとの違い、利用例や導入の際のポイントを解説します。

 

SAML認証とは

 SAML(Security Assertion Markup Language)とは、インターネットドメイン間でユーザー認証を行うためのXMLをベースとした標準規格です。

 異なるインターネットドメイン間でもユーザー情報や権限などの情報をやり取りできるため、シングルサインオンの仕組みとして利用されています。

 

シングルサインオンとは

シングルサインオンとは、一度のログインで複数のシステム、サービスにアクセスする仕組みです。

 近年では、業務で自社システムだけでなくクラウドサービスも利用することが増えていますが、シングルサインオンがない場合はそれぞれ都度ログインしなければなりません。対して、シングルサインオンを導入していれば、一度のログインで自社システムや複数のクラウドサービスに自動的にログインして利用できるようになります。

 シングルサインオンについてより詳しく知りたい方は、こちらの記事も併せてご覧ください。

シングルサインオンとは? 仕組みやメリットを解説

 

OAuthとSAMLの違い

OAuth(OAuth2.0)とSAMLの違いを簡単に表すと「OAuthは認可」「SAMLは認証」の技術という違いです。

 

認可:権限を与えること

認証:誰なのかを特定すること

 

例えば、自動車の運転の権限(免許)を与えることが認可であり、その免許証が発行された人物を特定することが認証です。運転免許証を持っているかといった認可と、その免許証は本人のものかといった認証の仕組みを、デジタルの世界で実現するための技術の一つがOAuthとSAMLというわけです。

 

OpenID ConnectとSAMLの違い

OpenID ConnectとSAMLはともに認証の技術(プロトコル)ですが、仕組みが異なります。OpenID ConnectはOAuthをベースにJSON Web Token(JWT)と呼ばれるIDトークンを利用します。対して、SAMLはOAuthとは独立したものであり、XMLをベースとした情報のやり取りによって認証を実現する技術です。

  

SAML認証の仕組み

 ここではSAML認証の仕組みとして、構成要素と認証のプロセスを簡単に解説します。

 

SAML認証の構成要素

SAML認証では次の3者間で情報をやり取りすることで認証を実現しています。

 

  • 利用者(ユーザー)
  • SP(Service Provider):ログイン先のシステム・サービス
  • IdP(Identity Provider):認証情報の管理を行うサービス

 

通常の認証では利用者とSPの間で認証情報をやり取りするのみです。SAML認証では、IdPによって認証情報を一元管理することで、利用者の認証状態を維持して複数のSPに対して自動的なログインを実現しています。

 

SAML認証のプロセスとフロー

SAML認証のプロセスは、利用者がSPとIdPのどちらにアクセスするかによって2種類存在します。

 

・利用者がSPにアクセスする場合(SP initiated)

  1. SPにアクセス
  2. SPが認証要求を発行し、利用者に応答
  3. 利用者は認証要求をIdPに送信し、認証処理(ID/パスワード入力等)を行う
  4. 認証が成功したらIdPは認証応答を発行する
  5. 利用者はIdPから受け取った認証応答をSPに送信し、ログイン

 

・利用者がIdPにアクセスする場合(IdP initiated)

  1. IdPにアクセス
  2. 利用者は認証処理(ID/パスワード入力等)を行う
  3. ログイン後利用者は利用するSPを選択し、IdPは認証応答を発行する
  4. 利用者はIdPから受け取った認証応答をSPに送信し、ログイン

  

SAML認証とシングルサインオン(SSO)

 SAML認証ではIdPで認証情報を管理しているため、SPがSAMLに対応していれば簡単にシングルサインオンを実現できます。

 

SPではユーザーのID/パスワードを管理する必要がなく、IdPとはユーザーの属性などの情報をやり取りするだけです。そのため、IdP側でユーザーの認証情報やSPへのアクセス権限などを一元的に管理でき、シングルサインオンが実現できます。

 

フェデレーション方式とは

シングルサインオンの方式にはいくつか種類がありますが、SAMLを利用する場合はフェデレーション方式でシングルサインオンを実現しています。

 

フェデレーション方式とは、異なるドメイン間で認証情報を連携する方式です。前述のとおり、IdPとSPの間ではユーザーの認証情報を直接やり取りせず、チケットと呼ばれるユーザーの属性などが含まれる情報をやり取りしています。フェデレーション方式を利用するためには、SP側が対応している必要がありますが、業務利用することが多いクラウドサービスの多くが対応しています。

 

シングルログアウトとは

シングルログアウト(SLO)とは、SPまたはIdPのどちらかでログアウト処理を実行した際に、すべてのユーザーセッションを終了する仕組みです。シングルサインオンとは反対に、一度のログアウトで複数のシステム・サービスからログアウトできます。シングルサインオンでは複数のシステム・サービスへ自動的にログインするため、ログアウトする際にも同様の仕組みがなければ非常に手間がかかってしまいます。また、ログアウトし忘れが発生する可能性もあります。シングルログアウトはシングルサインオンを利用する上で、ユーザーの利便性やセキュリティをさらに向上させるでしょう。

 

 

SAML認証のメリット

 SAML認証、シングルサインオンの利用はさまざまな場面で推奨されていますが、具体的にはどのようなメリットが考えられるでしょうか。ここでは、主な3つのメリットについて解説します。

 

ユーザー体験の向上

近年では一人で複数のシステム・サービスを同時に利用することが一般的になりました。そのようななかで、個別にログインしようとすると時間も手間もかかってしまいます。SAML認証によって一つの認証サーバーにログインするだけで他のシステムも利用できるようになれば、ユーザーは何度もID/パスワードを入力する必要がなくなるため、利便性が向上します。

 

セキュリティの強化

SAML認証ではユーザーのID/パスワードといった認証情報をSPに渡しません。そのため、SPからユーザーの認証情報が漏れる心配がなく、セキュリティの強化に繋がります。SP側としてもユーザーの重要な情報を保持するリスクから開放されるため、双方にとってのメリットとなっています。また、パスワードの使い回しの問題も解決でき、脆弱なパスワードの利用による不正アクセスのリスクも低減することが可能です。

 

アクセス権限の一元管理

IdPによってユーザーのID/パスワード、アクセス権限の一元管理が実現できます。これらの情報を一元管理することで、ユーザーのアクセス制御を容易に行えるようになります。不正アクセスや権限の誤使用を防ぎ、特定のサービスへのアクセスも制御することが可能です。また、ユーザーがパスワードを忘れた際の再発行などの運用も容易に行えるようになり、セキュリティの向上だけでなく、運用の簡略化も実現できます。

 

 

SAML認証のデメリット

 さまざまなメリットが挙げられる一方で、実際に導入・利用する際にはデメリットについても理解しておく必要があります。

 

パスワード漏えい時のリスク

認証情報を一元的に管理することはメリットとデメリットの両方の面があります。例えば、IdPにログインする際のパスワードが漏れた場合、対象ユーザーが利用可能なSPのすべてに不正アクセスされる可能性があります。認証情報の一元管理はさまざまなメリットをもたらしますが、リスクが存在することを認識して適切なセキュリティ対策を行うことが重要です。

 

実装の複雑さ

SAML認証を実現するためには、SPとIdPの両方がSAMLに対応していなければなりません。クラウドサービスなどの多くは対応していますが、社内システムなどで導入しようとする場合には認証部分のカスタマイズが必要です。また、連携する社内システム間での認証方式や属性情報の交換方法なども検討しなければならず、実装の複雑さがデメリットの一つとなっています。

 

 

SAML認証の実際の使用例

SAML認証の実際の使用例・導入事例を簡単に紹介します。

 

企業でのSAML認証の使用例

IT化が進んだ昨今、社内システムと一言でいってもその種類はさまざまです。業務システム、グループウェア、勤怠管理システムなど、複数の社内システムを利用している場合が多いでしょう。従来Active Directoryなどで管理していたものにSAML認証を加え、より柔軟性の高い認証基盤を構築している事例も多く見られます。

 

クラウドサービスでのSAML認証の使用例

クラウドサービスの業務利用が増えたことで、シングルサインオンの重要性が増しました。多くの場合、社内システムとの認証の統合が課題になるでしょう。多くのクラウドサービスはSAMLに対応していることから、SAML認証を導入して社内のID/パスワードを使ってクラウドサービスを利用する事例も多くなってきています。

 

 

SAML認証の導入を考える際のポイント

 SAML認証を導入する際には、次の2つのポイントを考慮することが重要です。

 

導入のメリットとコストを評価する

SAML認証には多くのメリットがある一方、パスワード漏えい時のリスクの高さや実装の複雑さといったデメリットへの対策が必要です。導入の際にはハードウェアやソフトウェアの導入費用や人件費だけでなく、セキュリティ対策にかかる費用やトレーニングコストなども考慮しなければなりません。導入におけるメリットとコストを十分に評価した上で、導入するかどうかを判断する必要があります。

 

適切なSAMLソリューションを選択する

SAML認証を実現するためのソリューションはさまざまで、オープンソースのものから商用製品まで選択肢が豊富です。そのなかでも、特にセキュリティ要件はしっかりと定めてそれを満たすソリューションを選択する必要があります。認証情報を一元的に管理することから、セキュリティ事故が発生した際のリスクが大きくなるため、有事の備えとして対策をしなければなりません。

 

また、クラウドサービスにおける認証統合の可否や企業規模、拡張性なども指標となります。自社のニーズを明確にした上で、ニーズを満たす適切なSAMLソリューションを選択しましょう。

  

まとめ

 SAML認証はインターネットドメイン間でユーザー認証を行うためのXMLをベースとした標準規格です。シングルサインオンを実現するための方式としても利用されており、近年特に重要度が増しています。

 SAML認証の仕組みは複雑に見えますが「利用者、SP、IdPの3者間で情報をやり取りすること」「IdPによって認証情報が一元管理されていること」を理解しておけばわかりやすいでしょう。導入の際にはメリット・デメリットをしっかりと理解し、自社のニーズを明確にした上で検討を進めてみてはいかがでしょうか。

記事を書いた人

ソリトンシステムズ・マーケティングチーム