Comments
Description
Transcript
シングルサインオンに対応した 遠隔地からの電子ジャーナル利用事例
シングルサインオンに対応した 遠隔地からの電子ジャーナル利用事例 –名古屋大学情報連携統括本部 –山本哲也 発表の内容 ● ● ● 解決したかったこと EZproxyの特徴 名古屋大学CASとの連携、SSOの実現 ユーザーのやりたいこと ● サイトライセンスのWebサービスを 自宅・出張先からも使いたい – – 電子ジャーナル データベース どうやって実現している? ● プロキシ(キャッシュ)サーバ、squidとか ● VPN接続から ● ユーザー認証さえちゃんとしていれば サービス提供側から許される、ことが多い – サービスごとに利用許諾の詳細は違う 名大はVPNからEZproxyへ ● ● シングルサインオンができそうだ 今よりも楽したい(どう楽かは後述) EZproxyの動作原理 ユーザーはそれぞれのWebサーバに アクセスしてるつもり www.e-journal.com www.database.com www.licenced.com でもEZproxyがトラフィックを 全部横取りしてる www.e-journal.com www.database.com www.licenced.com サポート外のホストは代理取得しない www.e-journal.com キャッシュサーバーには これはできない www.database.com www.licenced.com HTTPSなサイトもサポート www.e-journal.com www.database.com HTTP HTTPS PS HTT HTTP HTT www.licenced.com P ひとつだけホストを抜き出してみる HTTP HT こ アク に こ もり つ いる て し セス TP www.e-journal.com HTMLをこんなふうに書き換えている ● どのリンク先も、EZproxyの動くホストに向けられた HTMLをこんなふうに書き換えている ● JavascriptやCookieもうまく書き換えられている – – ● ● ● 一律のルールでうまくいかない書き換えパターンもある が、個別設定で微調整できる 個別設定は試行錯誤を伴う。非公式の設定例データ ベースが存在する。日本語圏ではまだない。利用機関 が増えてほしい理由のひとつ。 Pdfやswfの内部までは書き換えない サポートしないサイトへのリンクは書き換えない DeleGateも似たような書き換えができるが、ここま できめ細かくはない。多分 書き換えルール:proxy by hostname ● DNSにちょっと操作が必要 書き換えルール:proxy by port(参考) ● ホスト名でなくて、待ちうけポート番号ごとに対応ホ ストを決めている。ポート番号がたくさん必要 最初の一歩を管理しておかないと、 その後の書き換えができない ● ● なので、スタートページを提供する ここから順にたどるリンクが「圏内」となる – – サポート範囲を外れると圏外になる。 ブラウザのアドレスバーを見ていればわかる リンク先のブックマークは、可能 ユーザー認証 EZproxyとブラウザのセッション ● 単純なHTTP(S)+セッションCookie方式 – 各ウェブサービスとのCookieとは区別される – キャッシュサーバーのように、Proxy-Authorizationヘッ ダで認証を行わない EZproxyがサポートする 認証方式はたくさん ● 今回使ったCASも含む * Athens * Blackboard * Central Authentication Service (CAS) * DRA Web2 * FTP * IMAP (e-mail server) * Innovative Interfaces, Inc. * Insignia * L4U * LDAP (including Active Directory) * Library card numbers with a specific prefix * POP (e-mail server) * RADIUS * Referring URL * Shibboleth * SirsiDynix Horizon Information Portal 3.x * SIP * Text file * Ticket * TLC * Windows Domain (EZproxy for Windows only) * Virtual reference * Multiple authentication server issues 自作CGI等との連携もサポートされる ● 簡単なID/PASSの判定フィルタから ● セッション発行APIといった感じのものまで ● 今回はここまでやっていないが、既存の認証の仕 組みを有効に利用できるだろう 名大CASとの連携 基本的には設定を書いて終わり ::CAS LoginURL https://----.----.jp/cas/login ServiceValidateURL https://----.----.jp/cas/validate /CAS だけどちょっとズレがあった ● ● ので、小手先の調整も行った CASサーバーからのレスポンスを都合に合わせて 書き換えてからEZproxy側に渡した – DeleGateを使って、入力をperlスクリプトにくぐらせた – Apacheでもよかったけど、より軽量だと思ったので while<STDIN> { ...; print; } まとめ ● VPNのころはトラブルシュートがしんどかったけど 競合ソフト ファイアウォール IPアドレス変換 プロキシ設定 無線ネットワーク経由 対応OS・バージョン 認証用DBの食い違い 楽になりました 標準的なWebブラウザ さえ動けばOK! どんな通信環境からもOK! 認証プロセスを一本化! おわり