【シングルサインオン解説】シングルサインオン実装「SAML編」
シングルサインオン実装の1つである「SAML」の概要について紹介します。
「シングルサインオン」とは
「シングルサインオン(SSO:Single Sign-On)」とは、1回のユーザー認証処理によって、それぞれ独立した複数のソフトウェアシステムにログインすることを可能とする仕組みを指します。
シングルサインオンの概要についてはこちらも参照ください。
→シングルサインオンの概要
「SAML」とは
「SAML(Security Assertion Markup Language)」とは、XMLをベースにした異なるインターネットドメイン間でユーザー認証を行うための規格で、「ユーザーの認証情報をやり取りするルールおよびプロトコル」を規定しています。
「SAML」を利用することで企業が保有するアイデンティティ情報(Active Directoryなど)を利用して、複数のクラウドサービスへのシングルサインオンを実現できます。
「認証情報のみ受け渡しする」ことが可能であるため、「IDaaS(Identity as a Service: クラウド型IDパスワード管理ツール)」「シングルサインオンツール」「ID連携(フェデレーション)」などで用いられています。
「SAML」の特徴
オープン標準技術
SAMLは、オープン標準技術の普及促進活動を行う非営利団体「OASIS」によって策定されています。
→oasis-open.org →セキュリティアサーションマークアップ言語(SAML)V2.0 技術概要
アクセス制御機能
SAMLはユーザーの属性情報なども付与できるため、各リソースに対するアクセス制御も可能です。
SAML規格の主要コンポーネント
SAML規格の主要コンポーネントとして「IdP(ID Provider)」と「SP(Service Provider)」の2つがあります。
IdP(Identify Provider)
「IdP(Identify Provider)」は、認証情報を提供するシステムで、シングルサインオンのエージェント型やリバースプロキシ型でのSSOサーバに該当します。
ユーザー認証成功後に「アサーション」を発行します。
「アサーション」とはセキュリティトークンのことで、「認証ユーザー」「ユーザー属性」「期限情報」「発行IdP情報」「署名情報」などによって構成されています。アサーションを利用することで、認証情報のやり取りを効率化できます。
SP(Service Provider)
「SP(Service Provider)」は、SAML認証方式に対応しているWebコンテンツを提供するWebサーバなどが該当します。
有効なアサーションを提示された場合に、対象ユーザーの属性や属性値によって、適したコンテンツを提供します。
「アサーション」による認証制御
基本的に以下の手順でSAML認証が実施されます。
①ユーザーがSPにアクセス
②SPはリクエストをSAML認証要求と共にIdPへリダイレクト
③IdPはユーザーの認証処理を実行
④IdPはユーザー認証が成功した場合、SPに対してアサーションを発行
⑤SPはIdPから提示されたアサーションによりアクセス制御を実施
以上のようにSAMLは「ユーザー認証システム」と「各サービスの認証システム」を連携させるための機能を提供します。
アサーションを介することで、IdPとSPの間でパスワードのやり取りが実施されないため、セキュリティを高めることができます。
最後に
「SAML」を利用することで、ローカルだけではなく、各種クラウドサービスに対するシングルサインオンを実現できます。
弊社にご連絡いただければ「SAMLを利用するシングルサインオンについてのご提案」「既存システムとの整合性調査」など、トータルサポートでご支援できます。
まずは、お気軽にお問い合わせください。
参考元サイト