学認 Shibboleth とOpenAM を連携させて 学外と学内をシングルサインオン オープンソース ソリューション テクノロジ株式会社 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 1 -
目次 会社紹介 OpenAM のご紹介 概要 開発の歴史 シングルサインオン方式 認証方式 ( 認証連鎖による多様素認証 ) レルムによるユーザー管理 冗長化 導入事例 学術認証フェデレーション ( 学認 ):GakuNin とは? 学認 (Shibboleth) の特徴 OpenAM と Shibboleth との連携 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 2 -
会社紹介 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 3 -
OSSTech 会社紹介 OS に依存しない OSS のソリューションを中心に提供 Linux だけでなく Windows/Solaris/AIX へも対応 Windows/UNIX から Linux への移行も支援! OSS を利用した認証基盤構築が得意分野 LDAP 認証 Windows ドメイン認証 Web アプリケーション認証 クラウド認証 Samba,OpenLDAP,OpenAM,IDM などによる認証統合 / シングルサインオン ID 管理ソリューションを提供 OSS の製品パッケージ 製品サポートを提供 OSS の改良 バグ修正などコンサルティングにも対応 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 4 -
OSSTech ソリューション システム管理者 ID 管理 ID 管理 ID 管理 Active Directory Google Apps Salesforce ファイルサーバー バ LDAP Web アプリ クラウド Windows ドメインログオン ログイン ログイン ユーザー Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 5 -
OSSTech の製品群とソリューション Unicorn IDM ID 管理 ID 連携 システム管理者 Active Directory Google Apps Salesforce ファイルサーバー バ LDAP Web アプリ SSO クラウド Windows ドメインログオン ログイン ユーザー Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 6 -
OpenAM 概要 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 7 -
OpenAM とは Web アプリケーションにおけるシングルサインオンを実現するためのプラットフォームとなるソフトウェア シングルサインオン (SSO): 一度のログイン操作さえ完了すれば 複数の Web アプリケーションにログイン操作することなくログインすることが可能 ユーザー情報を格納するためのユーザーリポジトリ ( ユーザーデータストア ) として様々な LDAP サーバー RDB に対応 RDB への対応は OpenAM からサポート開始 SAML OpenID OAuth ID-WSF などの認証 認可に関連した複数のプロトコルをサポート Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 8 -
用語解説 SSO : Single Sign On 一度 (IdP で ) 認証されたら すべての ( 認証なしで ) アプリ (SP) が利用可能とする技術 認証は IdP で行い 認可は SP でやるのが一般的 IdP : Identity Provider 認証プロバイダー : 認証サーバー 通常 ID とパスワードを入れて認証してもらう ワンタイムパスワードや生体認証 IC カードで認証も可能 SP : Service Provider ユーザへサービスを提供するアプリケーション この資料の中では Web アプリを指す 上記 IdP で認証されたユーザは すべての SP で SSO 可能となる ユーザ情報を元に認可を行うのは SP の一般的な役割だが OpenAM ではエージェントを使うことで SP の代わりに認可を行わせることが可能 SAML : Secure Assertion Markup Lauguage 認証情報を XML でやりとりするための取り決め ID とパスワードはネットワーク上を流れない DS : Discovery Service 1 つの SP に対し 複数の IdP が存在する場合 IdP をユーザーに選択 ( 発見 ) させるためのサービス Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 9 -
OpenAM の歴史 - その 1 AOL による買収 AOL からの分離 認証連携機能の強化 オープンソース化! 開発主体 Netscape iplanet Sun Microsystems 製品名 dsame Identity Server Access Manager OpenSSO Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 10 -
OpenAM の歴史 - その 2 Oracle による買収 OpenSSO は非戦略的な製品という位置づけ Sun Oracle OpenSSO Oracle OpenSSO ForgeRock 社 Oracle から分離 新プロジェクトの開始! OpenAM OSSTech との協業 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 11 -
OpenAM の機能 ( その 1) 多様なシングルサインオン方式 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 12 -
シングルサインオンの方式 (1) SAML OpenAM (SAML IdP) 認証基盤 (1) ログイン ユーザー アサーション ( 認証情報 ) (2)Web アプリへアクセス SAML Web アプリ (SAML SP) Web Application Web アプリが SAML に対応している必要がある この図は HTTP Redirect Binding/HTTP POST Binding の場合の例 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 13 -
シングルサインオンの方式 (2) エージェント方式 (1) ログイン OpenAM( 認証サーバ ) (3)Cookie の正当性を確認 Web サーバー ユーザー Cookie (2)Web アプリへアクセス Agent ユーザ情報 Web Application リバースプロキシ方式 (1) ログインユーザー (3)Web OpenAM ( 認証サーバ ) リバースプロキシ アプリへアクセス (2) ユーザー認証 HTTP ヘッダー Web Application Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 14 -
シングルサインオンの方式 (3) 代理認証方式 (1) ログイン OpenAM ユーザー (2) ユーザー認証 ID/ パスワードを初回アクセス時のみ代理で送信する ID/ パスワード (3) 代理認証 Web アプリ Form 認証 ID PW (4) 代理認証後は直接アクセス リバースプロキシー方式で代理認証する方法もある上記は代理認証用ポータルを用意する方法 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 15 -
OpenAM の機能 - シングルサインオン SAML によるシングルサインオン Secure Assertion Markup Lauguage 認証 認可 ユーザ属性情報などを XML で送受信するためのフレームワーク 標準化団体 OASIS により策定 GoogleApps Salesforce などが採用 エージェント方式 SSO 対象の Web アプリが動作するサーバー上にアクセス制御用のモジュールを配置する方式 サーバーのバージョンに影響を受ける Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 16 -
OpenAM の機能 - シングルサインオン リバースプロキシ方式 リバースプロキシを使用してアクセス制御を行う ユーザーデータの受け渡しは HTTP ヘッダーを利用 SSO 対象 Web アプリのバージョンや設定変更の影響が少ない リバースプロキシが性能上のボトルネックになる可能性がある 代理認証方式 SSO 対象 Web アプリの既存ログイン画面に対して OpenAM がユーザーの代理でログイン ID/ パスワードを送信する SSO 対象 Web アプリの改修が不要 細かなアクセス制御はできない ( ログイン処理の代理実行のみ ) Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 17 -
OpenAM の機能 ( その 2) 認証方式 ( 多様素認証 ) Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 18 -
OpenAM の機能 - データストアと認証方式 認証方式 ワンタイムパスワード 指静脈認証 Windows Desktop SSO クライアント証明書 外部 DB 認証連鎖 OpenAM Web Application ユーザー ログイン ログイン ID PW SSO Web Application User Data Store Web Application ユーザーデータストア ( ユーザー情報 DB) Active Directory OpenLDAP RDB Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 19 -
OpenAM の機能 - 認証方式 基本的には OpenAM のユーザーデータストアに保存された ID/ パスワードにより認証を行なう ユーザー認証時に外部のデータベースを参照することも可能 ( 更新できない参照のみのものでも可能 ) LDAP Active Directory RADIUS RDB(JDBC) よりセキュアな認証方式も使用可能 ワンタイムパスワード ( 電子メールを利用 ) クライアント証明書による認証 Windows Desktop SSO( 統合 Windows 認証 ) 複数の認証方式を組み合わせて使用可能 : 認証連鎖 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 20 -
OpenAM の機能 - ユーザー情報 DB ユーザーデータストア OpenAM のユーザー情報を格納する LDAP サーバー / データベースサーバー ( 更新権限が必須 ) Active Directory Open LDAP Sun Directory Server OpenDS(Sun Directory Server のオープンソース版 OpenAM に標準で組み込まれている ) RDB(OpenAM から対応 ) Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 21 -
OpenAM の機能 - 認証連鎖 多様素認証の必要性 複数の認証方式を組合わせて認証を行うことにより個々の認証方式の欠点を補完 認証連鎖 複数の認証方式を組み合わせて利用可能 認証方式にはそれぞれ適用条件を指定する 必須 : 失敗したらそこで終了 十分 : 成功したらそこで終了 必要 : 成功しても失敗しても次に継続 任意 : 認証結果には関係しない付随的な処理 認証方式 1( 必須 ) ID/PW 認証 認証方式 2( 必須 ) ワンタイムパスワード ログイン完了 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 22 -
OpenAM の機能 ( その 3) レルム によるユーザー管理 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 23 -
OpenAM の機能 - レルム レルム :OpenAM の設定を管理するための単位の 以下の設定をレルム単位で管理 ユーザーデータストア (LDAP ベース DN 検索フィルタなども指定可能 ) アクセス制御ポリシー 認証方式 基本的には ユーザー情報 DB 単位でレルムを分ける レルム毎に管理者を置き管理を委任することが可能 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 24 -
OpenAM の機能 - レルム使用の具体例 複数組織 ( 複数の企業など ) のシングルサインオン基盤を OpenAM で構築し 組織毎に設定を行なう 組織内に存在する複数の DB を一つのレルムに登録し 全てのユーザーに同一のシングルサインオン環境を提供する ( 例 B) DB 内の特定のユーザーに対してのみ シングルサイオン可能にする ( 例 C) OpenAM レルム A レルム B レルム C Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 25 -
OpenAM の機能 ( その 4) 冗長化 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 26 -
OpenAM の機能 - 冗長化 シングルサーバ構成 OpenAM サイト構成 Load Balancer User Data Store セッションフェールオーバー構成 Load Balancer OpenAM OpenAM OpenAM OpenAM User Data Store セッションフォワーディング レプリケーション / マルチマスタ User Data Store セッション情報 User Data Store セッションフォワーディング セッションフェールオーバー レプリケーション / マルチマスタ セッション情報 User Data Store Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 27 -
学術認証フェデレーション 学認 :GakuNin とは? Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 28 -
学認とは? 参考 ) 学術認証フェデレーションシンポジウム の資料より https://www.gakunin.jp/docs/open/3 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 29 -
学認の構成 参考 ) 学術認証フェデレーションの資料より https://www.gakunin.jp/ Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 30 -
学認の動作の仕組み 参考 ) 学術認証フェデレーションシンポジウム の資料より https://www.gakunin.jp/docs/open/3 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 31 -
学認 (Shibboleth) の特徴 SSO 方式として SAML を標準 代理認証やヘッダ認証などの方式には対応していない 多要素認証に対応していない 学認では認証強度を伝える取り決めがない レルムといったマルチテナントの考え方がない 職員 学生 卒業生といった属性で認証方式を切り替えられない ロードバランサーで負荷分散は可能だが セッションルーティングやセッションフェイルオーバーの機能は持っていない SP のための専用 Web サーバー (Apache) が必要 OpenAM は Fedlet を使ってアプリを SAML 対応にできる 認可は SP 側の役割で Shibboleth IdP では行えない OpenAM ではエージェント使って (SAML や代理認証 ヘッダ認証のアプリでも ) 認可を OpenAM で集中管理可能 GUI の管理ツールがない OpenAM には IdP と SP( エージェント ) を集中管理できる Web GUI が付属 1 つの Shibboleth を IdP と SP の両方同時に動かすのは容易ではない OpenAM は IdP でありながら SP としても動作させることが可能 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 32 -
OpenAM と Shibboleth との連携 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 33 -
Shibboleth と OpenAM の連携 Shibboleth は SAML を使うので Shibboleth の代わりに OpenAM を使うことは可能 学認では まず Shibboleth ありき となっているが Shibboleth を入れてすべての Web アプリを Shibboleth SP としてしまうのが理想だが SAML 対応にするのは容易ではない OpenAM では代理認証やヘッダ認証などの方式が利用でき 既存アプリの修正を最小限 ( 修正なし ) で SSO 対応させることが可能 OpenAM は IdP としても (SAML の )SP としても振る舞うことが可能 Shibboleth を IdP としても (SAML の )SP としても振る舞わせるには難しい Shibboleth の足りない部分を OpenAM で補い 連携させることで柔軟で高機能な SSO システムが可能となる Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 34 -
OpenAM と Shibboleth との連携どの IdP で認証されても どの SP へアクセス可能 学認 :NII Shibboleth SP OpenAM IdP SAML OpenAM リバプロ 認証連携 Shibboleth IdP OpenAM SP SAML に対応できない既存アプリ ヘッダ認証または代理認証 SAML Shibboleth SP Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 35 -
OpenAM と Shibboleth との連携 (1) Shibboleth で認証されたユーザから OpenAM の SP へアクセス 学認 :NII Shibboleth SP OpenAM IdP SAML OpenAM SP OpenAM リバプロ 6 ヘッダ認証または代理認証 25 1 認証連携 34 Shibboleth IdP SAML Shibboleth SP Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 36 -
OpenAM と Shibboleth との連携 (2) OpenAM で認証されたユーザから Shibboleth の SP へアクセス 学認 :NII Shibboleth SP OpenAM IdP SAML OpenAM リバプロ SAML 認証連携 34 Shibboleth IdP OpenAM SP ヘッダ認証または代理認証 1 25 SAML Shibboleth SP Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 37 -
まとめ 今後 学認 (Shibboleth) の導入は大学 ( 教育機関 ) での導入は必須となっていく Shibboleth だけで SSO 環境を構築するのは容易ではない OpenAM は商用製品なので 実績のある商用 SSO ソリューションが多数存在する IC カード ワンタイム 生体認証など 代理認証やヘッダ認証など既存アプリの変更を最小限にして SSO 化が可能 OpenAM と Shibboleth を連携させることで既存環境と学認環境を平行運用しながら順次 SSO 対応化させていくことが可能 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 38 -