本サイトではShibbolethとApacheを組み合わせてSPの構築およびシングルサインオンに対応したサイトを作るための各種情報を公開しています。

概要

Shibbolethは組織内・組織間でのweb single sign-on(SSO)を実現するオープンソースソフトウェアパッケージで、Internet2のプロジェクトとして2000年に発足したプロジェクトです。Webサイト上で保護されたオンラインリソースに対して、プライバシーを保護するようなやり方で情報を得て、アクセス権の決定を行うことができます。

学内では、個人情報を厳密なポリシーのもと、必要なものだけ個々のSPに開示することにより、データベースの散逸・乱立の抑制や、アプリケーション開発の工数削減が見込めます。

Shibbolethでは、ApacheのDirectoryやLocation、Files等のディレクティブを使ってディレクトリやURL単位でアクセス制限を設定し、Basic認証やDigest認証といった認証機能を拡張する形でSSOに対応できるようになります。

SP利用開始までの流れ

筑波大学の統一認証システムIdPを利用して認証を行うWebコンテンツを設置するまでの流れは、大まかに以下のようになります。

  1. 導入するWebサーバにShibboleth SPをインストールする
  2. IdPに連携先として登録するための、SPのメタデータを作成する
  3. このメタデータを添えて登録申請する
  4. 申請が認められるとテスト用IdPが利用可能になるので、Webアプリの動作確認を行う
    1. SPの設定
    2. Apacheの設定
    3. Shibbolethの動作確認
    4. 実際のコンテンツに対するアクセス制限の設定
  5. 動作確認が完了し問題なければ、本運用IdPへ登録依頼をする
  6. 本運用IdPでの設定完了の連絡を受けたら、SPの設定を本運用IdPに切り替える

各手順の詳細についてはリンク先を参照してください。 なお、汎用レンタルサーバではオプションでSPやApacheモジュールの導入の完了までの設定を代行することも可能です。詳細や費用に関しては汎用レンタルサーバの担当までお問い合わせください。

SPの設定が完了し利用を開始した後は、設定を行った領域ではアクセスが制限され、IdPによる認証を経ないと配下のコンテンツが見えないように保護されます。静的なドキュメントやファイルであれば、これだけで統一認証システムにアカウントを持っているユーザーのみに情報公開する、といったことができるようになります。

また、Shibbolethのアクセス制限下におかれたディレクトリにCGI等を設置することにより、SSOに対応したWebアプリケーションを構築することもできます。単純に全ての操作にアクセス制限をかける場合、プログラム側では認証に関する処理をする必要はなく、「実行される=認証手続きが完了し、環境変数にセッション等に関する情報がセットされている」という前提で処理を実装する形になります。

外部の情報源

本サイトでは、筑波大学の統一認証システムとの連携に必要な情報を主に取り扱っています。Shibboleth SPに関する一般的な情報は以下のサイトなどを参照してください。

問い合わせ窓口

ご不明な点は、統一認証システム問い合わせフォームより お問い合わせください。