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