Webアプリケーションのシボレス化

Webアプリケーションを修正することなく、HTTPサーバ(Apache)の設定や追加のプログラムのみでShibboleth化する方法としては、下記3つのパターンが考えられます。

以下の方法はいずれも「既存のWebアプリケーションを修正しない」ことに主眼を置いています。特に、シボレス認証された個々人をWebアプリケーションの(個々の)ユーザに紐付けて扱うことはできません。
(2.のProxyでIdPから受信した属性によって送信するID/パスワードを変化させる場合を除く)
(また、3.の方法は一部Webアプリケーションに手を加えている( before_filter の部分)という点で厳密に言うと上記に従っていません)
Webアプリケーションを改変することが可能であれば、以下の方法ではなく、IdPからの属性を元にユーザセッション生成、必要に応じてユーザ作成などを行ってWebアプリケーションに引き渡す方法の方がお勧めです。

  1. 特定のリソースをShibboleth認証されたユーザにのみ見せる
    Shibbolethの導入のみで実現するパターンであり、特別にユーザ管理機能の構築は必要としません。

  2. 既存のアプリケーションのユーザ管理へのProxy(代行システム)を用意する
    既存のアプリケーションにユーザ管理機能が存在する場合、ユーザ認証をShibbolethに代行させる機能(ログインプロキシ)を構築するパターンです。

  3. Shibbolethのセッションをもとにユーザ管理を行う
    ユーザ管理機能を新たに構築し、アプリケーションへのアクセスをユーザの持つ権限により制御したい場合のパターンです。

Shibboleth対応システム構築にあたっては、以下のログアウトに関する説明もあわせてお読みください。
ログアウト処理

 

  • ラベルがありません