SAMLとは、Security Assertion Markup Languageの略称であり、OASISによって策定された異なるインターネットドメイン間でのユーザー認証を実現するXMLベースの標準規格です。この規格は2002年に策定され、2005年にはバージョン2.0がリリースされました。
SAMLを活用することで、企業は自らが管理するアイデンティティ情報源(例:Active Directory)を用いて、シングルサインオン(SSO)を多数のクラウドサービスやWebアプリケーションで可能にします。これにより、ユーザーは一度だけ認証サーバーへのログインを行えば、SAML対応の各種アプリケーションにアクセスできるようになります。
また、SAMLはユーザーの属性情報なども付与することができます。単純にユーザーの認証を行うだけでなく、ユーザーがクラウドサービス内のどの機能を許可するなどの認可も行えるプロトコルです。例えば、営業部や情報システム部といった属性情報をユーザー認証に付与することで、この機能は営業部にしか使わせないといったリソースへのアクセス制御が容易にできるようになります。
IdPとして動作するOneLogin、6,000以上のサービスに対応可能
SAMLでは認証情報を提供する側をIdentity Provider(IdP)と呼び、認証情報を利用する側(一般的にアプリケーションサービス側)をService Provider (SP)と呼びます。
SAMLによる認証フロー:SP Initiated(SP起点の認証フロー)
ユーザーがSPにアクセスすると、SPはそのリクエストをSAML認証要求と共に、IdPへとリダイレクトします。IdPはこの認証要求に基づき、ユーザーの認証処理を実行します。IdPでのユーザー認証が成功すると、IdPはSPに対して認証情報やユーザーの属性等の情報を発行します。これらの情報を「アサーション」と呼ばれ、SPはこのアサーションを元に、アクセス制御を行います。両者の間ではパスワードのやり取りが行われないため、高いセキュリティが確保されます。
SAMLによる認証フロー:IdP Initiated(IdP起点の認証フロー)
IdPを起点とした場合、ユーザーは、まずIdPにログイン(認証)し、次にIdPに対して SPの利用を要求します。IdPはSPにアクセスするための情報(SAMLアサーション)を作成し、ユーザー(ブラウザー)に渡します。ユーザー(ブラウザー)は、受け取った 情報をSPに渡します。SPは受け取った情報の内容を確認し、ユーザーにサービスの利用を許可(認可)します。
OneLoginは、SAML対応のSSOサービスをSaaS形式で提供しています。OneLoginはIdPとして動作し、事前にOneLoginへのログインを行っていれば、各サービスへのSAML認証応答(アサーション)が、自動的に生成されるようになっています。
またSAMLによる認証連携だけではなく、BASIC認証やフォーム認証の入力代行によるSSOも可能です。このような仕組みを併用することで、OneLoginは6,000以上のクラウドサービスやWebアプリケーションへの対応を実現しています。さらに開発者向けに「SAML Toolkit」も用意。これを利用することで既存アプリケーションをSAML対応にすることも可能です。
OneLoginのSAML対応アプリケーション
OneLogin Appカタログには、Office 365やSalesForce.com、Box、G Suite以外にもCybozu.comなどの国産のクラウドサービスを含めて約450以上ものSAML対応クラウドサービスが事前に登録されているので、容易にシングルサインオンを実現することが可能です。
OneLoginのSAML未対応アプリケーションにはSAML ToolKitを用意
OneLoginのSAML未対応アプリケーションには「SAML Toolkit」が用意されており、これを用いることで、自社開発のWebアプリケーションやクラウドサービスをSAML対応にすることが可能です。
SAML Toolkit一覧
- ASP/.NET SAML Toolkit
- Java SAML Toolkit
- PHP SAML Toolkit
- Python SAML Toolkit
- Ruby SAML Toolkit
関連ページ:
パスワード管理の無駄な時間はこれで解消!クラウド時代だからこそ必要なシングルサインオン
ユーザーIDは企業システムの新たな防御ライン。その統合管理を可能にする「IDaaS」とは