SAML
「SAML(Security Assertion Markup Language)」は、シングルサインオンやフェデレーションを実現する仕組みのひとつです。標準化団体のOASIS(Organization for the Advancement of Structured Information Standards)によって策定された、XML ベースの標準規格となっています。SAMLを使うことで、異なるインターネットドメイン間であっても、ユーザーの属性情報や権限などの認証に必要な情報をスムーズにやりとりすることができます。利用するクラウドサービスやWebアプリケーションがSAMLに対応していれば、シングルサインオンやフェデレーションを容易に実現でき、横断的な利用が可能となります。
SAML認証による シングルサインオンの メリット・デメリット
メリット
ユーザーの利便性向上
デジタルトランスフォーメーションの推進や働き方の多様化にあわせ、企業ではクラウドサービスの利用が拡大しています。SAML認証により、1回の認証で複数のサービスにログインできるようになるため、ユーザーの利便性が向上します。
セキュリティリスクの低減
利用するサービスごとにID・パスワードを設定し管理することは、ユーザーにとって負担となるだけではなく、忘れないようにとメモしておいたID・パスワードの情報が万が一漏洩してしまった場合、大きなセキュリティリスクとなります。SAML認証を利用することで、複数のID・パスワードを管理する必要がなくなるため、セキュリティリスクを低減させることができます。
デメリット
ID・パスワードの漏洩により 全サービスへのログインが可能
万が一ID・パスワードが漏洩してしまうと、利用するすべてのサービスにログイン可能となってしまい、セキュリティ被害が発生する恐れがあります。そのため、SAML認証ではID・パスワードの認証に加えて、二要素認証や二経路認証などで認証を強化することが推奨されています。
SAML非対応の場合は 別途対策が必要
SAML認証に対応していないクラウドサービスやWebアプリケーションへのシングルサインオンを実施したい場合はリバースプロキシサーバーの追加など別途対策する必要があります。
SAML認証の仕組み
SAML認証では、利用するサービスへの認証を行う際、ユーザーのパスワードではなく、IDや属性などのユーザー情報を記述した「SAMLアサーション」をやり取りします。認証方式には、「IdP Initiated」と「SP Initiated」の2種類があります。 IdP(IDプロバイダー)は、ユーザーの認証情報を管理し、ユーザーがサービスにアクセスしようとした際に、ユーザーの認証を行います。SP(サービスプロバイダー)は、ユーザーが利用するクラウドサービスやWebアプリケーションを指します。IdPでのユーザー認証結果をSPに共有することで、ユーザーはサービスの利用が可能となります。
IdP Initiated方式による 認証の流れ
-
ユーザーが、IdPにアクセスし、ユーザーIDとパスワードを入力
-
IdP側でユーザーが入力した情報を確認し、内容に問題なければ認証OKとなり、SP選択画面を表示。同時に、ユーザーの認証情報や属性情報、ユーザーに許可されている権限情報などが含まれた「SAMLアサーション」をユーザーに送信
-
ユーザーは、利用したいSPを選択し、SPに対し「SAMLアサーション」を送信
-
サービスへのログイン完了
SP Initiated方式による 認証の流れ
-
ユーザーが、対象のSPにアクセス
-
SPはユーザーからのアクセスをIdPへリダイレクトさせる
-
ユーザーが、IdPにユーザーIDとパスワードを入力
-
IdP側でユーザーが入力した情報を確認し、内容に問題なければ認証OKとなり、「SAMLアサーション」をユーザーに送信。同時に、ユーザーをSPへリダイレクトさせる
-
ユーザーが1.でアクセスしたSPに対し「SAMLアサーション」を送信
-
サービスへのログイン完了
こんな課題は
ありませんか?
システムごとに管理している
IDを一元的に管理したい
認証情報の管理が煩雑
確実な本人認証ができていない
特権IDが共有されている