1.
...
はじめに
本メニューでは、Shibboleth化を行うWebアプリケーションとしてDrupalを使用します。
Drupalは、Shibboleth認証用のモージュールがあるので、そのモジュールを使ってShibboleth化を行います。
作業は、既にDrupalがSPサーバに構築済みとなっているので、Shibboleth認証モジュールの導入となります。
本メニューでは、Shibboleth化を行うWebアプリケーションとしてログイン機能を持つ簡易的なテストページ(テストWebアプリ)を使用します。
このテストWdbアプリのID/パスワードのログイン機能部分をShibbolethを使ったログイン処理に変更します。
...
2. 実習セミナーでは
プラグインの手順書もありますが、以下の手順で作業を進めてください。
・テストWebアプリケーションについて
・構築済みのDrupal情報について
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
SPサーバのトップページにテストWebアプリのリンクがあります。 予めShibbolethを使った認証でない状態を確認してください。 データベース(MySQL) データベース名:drupaldb アカウント :root/rootpass、drupal/drupalpass Drupal URL :https://ex-sp-test01.ecloudgakunin.nii.ac.jp/drupal/ ※1番を割り振られた場合 アカウント :admin/DrupalPass(管理者)、test001@nii.ac.jp/Test01Pass(一般ユーザ) |
・Shibboleth認証モジュールのインストール
アカウント :簡易的なもので ID:test001 、パスワード:test001 のみログインできます。 ソース :/var/www/html/testapp 配下 |
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
・認証をShibbolethを利用するように変更
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
予めサーバ内にShibboleth認証モジュールを準備しています。
/etc/ root/PKG配下にあるので、こちらを使用してください。 (shib_auth-6.x-4.0.tar.gz) 以下のように展開後、モジュールを配置します。 # cd /root/PKG # tar zxvf shib_auth-6.x-4.0.tar.gz # mv shib_auth /var/www/html/drupal/modules |
・DrupalのサイトをShibboleth認証に設定
httpd/conf.d/shib.confの末尾に以下の設定を追記します。
設定ファイルの変更後、Apacheの再起動します。 |
・ログイン処理を受信した属性値を使うように変更
...
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
/etc/httpd/conf.d/shib.confに以下の設定を追加します。
<Location /drupal>
AuthType Shibboleth
ShibRequireSession Off
# the following single line is only valid for Shib2
ShibUseHeaders On
require shibboleth
</Location>
設定ファイルの変更後、Apacheの再起動します。
# service httpd restart |
・管理画面によるShibboleth認証の設定
管理者ユーザでDrupalにログインし、管理画面で設定を行います。
ここでは、ePPN(eduPersonPrincipalName)をIDとして取得し、セッションに設定します。 /var/www/html/testapp/login.phpを以下のように変更します。
|
・ログアウト処理も変更
...
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
・管理セクション-サイトの構築-モジュール <リストタブ> Shibboleth authentication: チェックする ※設定後、保存ボタンをクリックしてモジュール設定を有効にします。 ・管理セクション-ユーザの管理-Shibboleth settings <General settingsタブ> Server variable for username: eppn Server variable for e-mail address: mail ※設定後、保存ボタンをクリックしてモジュール設定を有効にします。 <Advanced settingsタブ> URL to redirect to after logout: 空白 ※設定後、保存ボタンをクリックしてモジュール設定を有効にします。 |
3.手順書
本メニューでの手順を「実習セミナーでは」に記載していますが、詳しくは手順書を参照ください。
4.動作確認
① 各自が使用するSPサーバのDrupalページにアクセスします。
ここでは、ローカルログアウト機能を使用しています。 /var/www/html/testapp/testapp.phpを以下のように変更します。
|
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
...
3. 手順書
本メニューでは、ありません。
「2.実習セミナーでは」を順に設定してください。
...
4. 動作確認
① 各自が使用するSPの接続確認用ページにアクセスします。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
例)1番を割り振られた場合
https://ex-sp-test01. ecloudgakunin.nii.ac.jp/drupal / |
② Shibboleth ログインリンクをクリックします。 テストWebアプリのリンクをクリックします。
③ DSサーバの所属機関の選択画面が表示されるので、各自が使用するIdPサーバを選択します。 DSの設定を行っている場合、所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。
④ IdPサーバのログイン画面が表示されるので、UsernameIdPのログイン画面が表示されるので、Username/Passwordを入力して認証を行います。
※test001は、既にtest001@nii.ac.jpユーザとして登録されていますが、test002やtest003は未登録です。
しかし導入したプラグインでは、ユーザ登録とマッピングが自動的に行われるため、Drupalにユーザが
登録されていないtest002、test003も自動的に登録されログインする事ができます。 ※uApproveが稼働している場合、email属性を送信してください。送信しない場合、ログインできません。
⑤ Shibboleth認証時ユーザのeppnがDrupalユーザ名となり、正しくログイン出来る事を確認します。
⑤ Shibboleth認証時ユーザのeppnのローカルパートがユーザIDとなり、正しくログイン出来る事を確認します。
⑥ ユーザ情報は、DBのマッピングテーブルにも登録されているので、確認してください。ログアウト後、SPサーバのトップページが表示されることを確認します。 以下のコマンドで確認する事ができます。
⑦再度「②」から行うと認証要求がある(再度ログインから行う必要がある)事を確認します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
・データベースに接続
mysql -u drupal -pdrupalpass drupaldb
・ユーザ情報の確認
mysql> select * from users\G
・マッピングテーブルの確認
mysql> select * from shib_authmap\G |
Prevnextbuttons |
---|