1 ユーザ認証を受けた権限で アプリケーションを利用するために ログインプロキシにアクセスします 2 ログインプロキシにより Shibboleth SP から Shibboleth IdP の認証画面にリダイレクトされます 3 ブラウザに認証画面を表示します 4 認証画面にユーザ / パスワードを入

Similar documents
金沢大学における   Shibboleth構築とSP実装例

内容 CAS 対応アプリケーションの紹介 熊本大学の事例 CAS 対応サイト アプリの構築方法

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

HeartCoreインストールマニュアル(PHP版)

OSSTechドキュメント

はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

9 WEB監視

Handbook_User_iPhone_ja

プレポスト【問題】

Microsoft Word - AT _A.doc

TestDesign for Web

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

スライド 1

SpringSecurity

KS_SSO_guide

Active Directory フェデレーションサービスとの認証連携

SeciossLink クイックスタートガイド Office365 とのシングルサインオン設定編 2014 年 10 月株式会社セシオス 1

OSSTechプレゼンテーション

SAML認証

クイックセットアップ for モバイル(iOS/Android)

CA Federation ご紹介資料

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

forever朝活

PowerPoint プレゼンテーション

注意 インストール中に ユーザアカウント制御 ( 以下 UAC といいます ) の実行確認画面が表示されることがあります 表示された場合ははいをクリックして インストールを進めてください なお 管理者以外の場合 管理者への昇格を求める UAC 画面が表示される場合がありますので 管理者アカウントのパ

WEBシステムのセキュリティ技術

スライド 1

SinfonexIDaaS機能概要書


クイックセットアップ for モバイル(iOS/Android)

(8) [ 全般 ] タブをクリックします (9) [ インターネット一時ファイル ] の [ 設定 ] ボタンをクリックします (10) [ 保存しているページの新しいバージョンの確認 ] から [ ページを表示するごとに確認する ] をクリックします (11) [OK] ボタンをクリックしていき

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

V-CUBE One

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

これらの情報は 外部に登録 / 保存されることはございません 5 インターネット接続の画面が表示されます 次へ > ボタンをクリックしてください 管理者様へ御使用時に設定された内容を本説明文に加筆ください 特に指定不要で利用可能であった場合は チェックボックスを オフ していただきますようご案内くだ

MAPインストーラー起動時のエラーメッセージへの対処方法

目次 はじめに 1サーバ作成 2 初期設定 3 利用スタート 付録 Page.2

Webプログラミング演習

TGBrowserユーザマニュアル

パソコン画面イメージ 既に トークン発行 ボタンをクリックされ スマートフォン等に 専用アプリのダウンロード (P3) は終了しているが 初回のワンタイムパスワード認証 (P7) を行っていない場合は トークン発行の省略 ボタンが表示されますので これをクリックしてください この場合は 次の画面で

中規模私立大学における総合認証基盤の構築と大学間共有LMSへの発展

POWER EGG 3.0 Office365連携

利用者

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

<4D F736F F D20836C A F834E E E096BE8F912E646F63>

(株) 殿

SeciossLink クイックスタートガイド

3 メニュー選択後 Web ブラウザ画面にセキュリティ証明の証明書エラー画面が表示された場合は このサイトの閲覧を続行する ( 推奨されません ) をクリックします このサイトの閲覧を続行する ( 推奨されません ) をクリック セキュリティ証明の証明書エラー画面 4 Web ブラウザ画面に URL

システム設定編

内容 ( 演習 1) 脆弱性の原理解説 基礎知識 脆弱性の発見方法 演習 1: 意図しない命令の実行 演習解説 2

プロアクシアコンサルティング株式会社 Outlook アドインマニュアル Office365 社外メール送信警告 & 添付ファイル暗号化アドイン (WEB 版 )V1.3.2 内容 添付ファイルの暗号化... 2 パスワード通知メールの送信... 8 社外メール送信時の警告 デスクトップ

Bank of china( )

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

intra-mart Accel Platform

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

PowerPoint プレゼンテーション

Microsoft Word - XOOPS インストールマニュアルv12.doc

目次 1. はじめに... 1 動作環境... 1 その他 他の人が利用する ID を発行したい... 2 ユーザー ID 作成を作成しましょう パソコンのデータを自動でアップロードしたい... 4 PC 自動保管機能を使用してみましょう 不特定多数の

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

スライド 1

Googleカレンダー連携_管理者マニュアル

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17

オープンソース・ソリューション・テクノロジ株式会社 会社紹介

intra-mart Accel Platform — OAuth認証モジュール 仕様書   初版  


アクセスゲートウェイ (UAG) J-PRO システムアクセス手順 (IE6-7) v4.0 三菱重工業 IT 推進部目次お問い合わせ先 目的 システムログオンまでの一連の流れ 利用前提 手順 1 アクセスゲートウェイログオン... 6

HeartCoreインストールマニュアル

Microsoft PowerPoint - SSO.pptx[読み取り専用]

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします

WTM2019SingleSignOn

Flex Signal for AirGRID

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

アドバンスト事例紹介

目次 1. ユーザー登録 ( 初期セットアップ ) を行う Office365 の基本的な動作を確認する... 6 Office365 にログインする ( サインイン )... 6 Office365 からサインアウトする ( ログアウト )... 6 パスワードを変更する... 7

オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

国立大学法人金沢大学 構成員 学生 ( 院生含む ) 約 10,300 名 教職員 ( 非常勤含む ) 約 3,800 名 2016/5/26(Thu) 2

Microsoft Word - CBESNet-It連携ガイドver8.1.doc

セットアップガイド ( 管理者向け ) (1.3 版 ) KDDI 株式会社

( レセプトコンピュータ開発メーカー向け ) - Mac 用 - このマニュアルでは 労災レセプト電算処理システムを利用するための端末のセットアップ方法を説明しています なお 労災レセプト電算処理システムを利用するためには 端末がオンライン請求システムのネットワークに接続されていることが前提となりま

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

第 3 版 はじめに 06 年 0 月 6 日から Active!mail にログインする際は DOUBLE GATE( 多要素認証システム ) を使用して認証します ログイン認証方法は 学内ネットワークを利用する場合と学外ネットワークを利用する場合で異なります 学内から利用する場合

つくば市 様

Microsoft Word - 【掲載用】True Keyマニュアル_1.0版_ r2.docx

クライアント証明書導入マニュアル

OSSTech OpenSSO社内勉強会資料

クライアントソフトの導入方法 (macos 版 ) 日本医師会 ORCA 管理機構株式会社

<V3

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

GXS-I WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 20

Twitterクライアントに学ぶASP.NETアプリ

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

Microsoft PowerPoint - shib-training-r13_ pptx[読み取り専用]

10 完了 をクリック 13 このサーバーは認証が必要 をチェックして 設定 をクリック Windows メール Windows Vista に標準のメールソフト Windows メール の設定方法を説明します 1 スタート から 電子メール Windows メール をクリック 11 続いて設定ファ

メディプロ1 Javaサーブレット補足資料.ppt

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

Microsoft Word - Gmail-mailsoft_ docx

WeChat 認証ベースのインターネット アクセス

Microsoft Word - MyWebPortalOffice_Levelup.doc

Transcription:

既存のアプリケーションのユーザ管理への Proxy( 代行システム ) を用意する 既存のアプリケーションのユーザ管理への Proxy( 代行システム ) を用意する 既存のアプリケーションにユーザ管理機能が存在する場合 ユーザ認証を Shibboleth に代行させる機能 ( ログインプロキシ ) を構築するパターンです 概要図 ユーザ管理には Shibboleth のセッション情報からユーザ管理機能のセッション情報を作成する機能を組み込む必要があります Shibboleth にユーザ認証させるため ログインプロキシを Shibboleth SP 配下に配備します ユーザ管理では ユーザ認証後に Shibboleth から返されるセッション情報をもとにユーザ管理機能のセッション情報を作成します Shibboleth SP 側の設定 Apache の設定ファイル httpd.conf.htaccess あるいは shib.conf(rpm でインストールした場合のみ ) の何れかに Location を追加することで行います /etc/shibboleth/shibboleth2.xml ファイルの RequestMapper 要素に type="native" が設定されている場合に有効です 設定例 ) AppLoginProxy を Shibboleth 化するための設定例 <Location /AppLoginProxy> AuthType shibboleth ShibCompatWith24 On ShibRequestSetting requiresession true Require shib-session </Location> この設定により /AppLoginProxy 下の全リソースは Shibboleth により認証されます 処理イメージ図 : 初回起動時

1 ユーザ認証を受けた権限で アプリケーションを利用するために ログインプロキシにアクセスします 2 ログインプロキシにより Shibboleth SP から Shibboleth IdP の認証画面にリダイレクトされます 3 ブラウザに認証画面を表示します 4 認証画面にユーザ / パスワードを入力し Shibboleth IdP で認証を行います 5 認証結果を Shibboleth SP に返す 6 ログインプロキシは Shibboleth のセッション情報と共にアプリケーションのトップページにリダイレクトします 7 認証が成功した場合は アプリケーションのトップページでは ユーザ管理機能により Shibboleth のセッション情報をもとにユーザ管理機能のセッション情報を作成し アプリケーションのトップページを表示します 認証が失敗した場合は 認証失敗画面を表示します 処理イメージ図 : 初回起動後にアプリケーションセッションが存在する場合

1 トップページから目的のアプリケーションにアクセスします 2 既に Shibboleth 認証されているユーザからのアクセスであるため Shibboleth 認証は行わずにアプリケーションを実行し 結果をブラウザに返します サンプルコード サンプルコードとして 既存のアプリケーションがユーザー管理を実装している場合の対応例を示します ログインプロキシ アプリケーションでは Shibboleth のセッション情報から 既存アプリケーションのセッション情報を生成します またこのサンプルでは以下を前提します 既存のアプリケーションでは認証ずみのセッション情報をクライアントのブラウザの Cookie に保存しているものとします また セッション情報の Cookie 名称は 'session_cookie' ログインプロキシは 既存アプリと同じドメインに配置される必要があります 上記 Cookie を既存アプリと共有するためです Cookie の保存ドメインが共通化できれば FQDN レベルでの一致は必要ありません ここでは 'application.example.net' とします ログインが成功した後に表示される サービスのトップページを 'http://application.example.net/' とします PHP のサンプルでは 既存アプリとの連携部に PEAR の HTTP_Request クラスライブラリを利用しています

<?php require_once "HTTP/Request.php"; /* Shibboleth の認証状態の確認 # このアクションが実行された時点で Shibboleth のセッションは確立されています # 必要に応じて SP の返却したパラメータを参照して権限の確認等を行います # SP の返却したパラメータは HTTP 環境変数に追加されています */ if(!$_server['persistent-id']){ // edupersontargetedid が存在しない場合は認証エラー header("http/1.1 403 Forbidden"); exit; } /* 既存アプリケーションのセッション情報を生成する # この部分の実装は既存アプリケーションの構成に依存します # ここでは 'http://application.example.net/login' に諸元を POST すると セッションが生成され # クライアントに返却すべき Cookie が得られるものとします */ $http =& new HTTP_Request("http://application.example.net/login"); $http->setmethod(http_request_method_post); $http->addpostdata("user_id", "shibboleth_user"); $http->addpostdata("password", "shibboleth_password"); $app_response = $http->srequest(); $app_cookies = $http->getresponsecookies(); // 取得されたアプリケーションのセッション Cookie をレスポンスに設定する setcookie('session_cookie', $app_cookies["session_cookie"], 0, "/", "application.example. net"); // ログイン後のトップページへリダイレクトする header("http/1.1 302 Found"); header("location: http://application.example.net");?>

#!/bin/env ruby # encoding : utf-8 require 'webrick/cgi' require 'net/http' Net::HTTP.version_1_2 class LoginProxy < WEBrick::CGI # GET request def do_get(request, response) # Shibboleth の認証状態の確認 # このアクションが実行された時点で Shibboleth のセッションは確立されています # 必要に応じて SP の返却したパラメータを参照して権限の確認等を行います # SP の返却したパラメータは HTTP 環境変数に追加されています unless ENV.key?('persistent-id') # edupersontargetedid が存在しない場合は認証エラー response.staus = 403 # 403 Forbidden return # 既存アプリケーションのセッション情報を生成する # この部分の実装は既存アプリケーションの構成に依存します # ここでは 'http://application.example.net/login' に諸元を POST すると セッションが生成され # クライアントに返却すべき Cookie が得られるものとします http = Net::HTTP.start('application.example.net', 80) app_response = http.post('/login', 'user_id=shibboleth_user&password=shibboleth_password') app_cookies = app_response.get_fields('set-cookie').inject({}) do cookies, cookie_string key, value = cookie_string[/[^;]*/].split('=') cookies[key] = value # 取得されたアプリケーションのセッション Cookie をレスポンスに設定する session_cookie = WEBrick::Cookie.new('session_cookie', app_cookies['session_cookie']) session_cookie.path = '/' session_cookie.domain = 'application.example.net' response.cookies << session_cookie # ログイン後のトップページへリダイレクトする redirect_url = 'http://application.example.net' response.set_redirect(webrick::httpstatus::found, redirect_url) alias do_post do_get LoginProxy.new.start Apache 設定ファイルの編集 (httpd.conf に設定する場合 ) /etc/httpd/conf.d/httpd.conf に下記コードを追加します

<Location /proxyapp> AuthType shibboleth ShibCompatWith24 On ShibRequestSetting requiresession true Require shib-session </Location>