CYBERNET
  

SAMLとは

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対応にすることも可能です。

主な機能を見る

skysea

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」とは

ƒ[ƒƒgƒ‰ƒXƒgŽÀŒ»‚Ö‚Ì‘æˆê•à