比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。
コメント: 3.4.0対応
ヒント

Shibboleth SPのアップデートに関してはこちらをご覧ください。⇒SPv3アップデートに関する情報

目次

バージョン共通

1. アップデート前の注意点

  1. 3.4.0以降Shibboleth IdPのディレクトリ構成が webapp/ から dist/webapp/ に変更になるという情報がありますので、該当バージョンへアップデートする場合は、$CATALINA_BASE/lib/等に当該ディレクトリへのシンボリックリンクがないか確認し、もしあれば修正しておいてください。

  2. 3.4.0以降ではserver.keyのパーミッションへの特殊な扱いが不要になりましたので、3.3.xおよびそれ以前から3.4.xおよびそれ以降へのアップデートの場合は以下を実行してください。

    パネル

    # chown root:tomcat

    /opt/shibboleth-idp/webapp/ がまだ存在するバージョン(3.3.xおよびそれ以前)の場合、サードパーティ製のJARファイルのアップデートのみを行う場合に注意が必要です。
    例えば tiqrshibauthn-2.0.jar から tiqrshibauthn-2.1.jar に更新する場合、古いファイルを削除する

    書式設定済み
    rm

    /opt/shibboleth-idp/

    edit-webapp/WEB-INF/lib/tiqrshibauthn-2.0.jar

    とともに webapp/ 配下の同名ファイルを削除しておいてください。

    書式設定済み
    rm /

    credentials/server.key
    # chmod 640 /opt/shibboleth-idp/

    webapp/WEB-INF/lib/tiqrshibauthn-2.0.jar

    credentials/server.key

2. アップデート手順

shibboleth-identity-provider-3.x.x.tar.gzパッケージを展開したディレクトリで、以下のコマンドで設定ファイルの変更点を確認し、適宜反映した上で、アップデートを実行します。

...

ヒント

uApproveJPをインストールしている場合はsystem/以下の修正が元に戻ってしまうので、アップデート前に展開したディレクトリの当該ファイルを修正した上でアップデートを行うのがお勧めです。system/以下の修正箇所をパッチ形式にしたものを置いておきますので、展開したディレクトリにて適用してください。
uapprovejp3-system.patch

書式設定済み
$ patch -p0 < .../uapprovejp3-system.patch
注意

3.3.xおよびそれ以前から3.4.xへのアップデートの場合はディレクトリ構造が変わっておりますので、展開したインストールパッケージ同士を比較して設定ファイルの変更点を確認してください。例:

パネル

# diff -rb ../shibboleth-identity-provider-3.3.3/ ../shibboleth-identity-provider-3.4.0/

パネル

# diff -rb /opt/shibboleth-idp/dist/ dist/
(変更点の確認)
# bin/install.sh -Didp.conf.filemode=640 -Didp.conf.credentials.filemode=640

パネル

Source (Distribution) Directory (press <enter> to accept default: [/root/shibboleth-identity-provider-3.3.0]
[Enter] ←入力なし
Installation Directory: [/opt/shibboleth-idp]
[Enter] 
←入力なし
Rebuilding /opt/shibboleth-idp/war/idp.war ...

...done

BUILD SUCCESSFUL
Total time: 5 seconds

最後に、アップデートプロセスにより変更されたserver.keyのパーミッションを元に戻します。

パネル

# chmod 400 /opt/shibboleth-idp/credentials/server.key

注意

本アップデート手順はTomcatを起動したまま行うことを前提としております。もしTomcatが起動していない状態の場合は、古いバージョンのキャッシュを削除するため以下のコマンドを実行してください。

パネル

# rm -r $CATALINA_BASE/webapps/idp $CATALINA_BASE/work/Catalina/localhost/idp

なお、Tomcat 8.0.21およびそれ以降を使っており、autoDeploy="true"およびdeployOnStartup="true"の設定になっている場合は、上記操作の必要なく、起動したままでも停止した状態でも、自動デプロイが機能するはずです。

...

  1. /opt/shibboleth-idp/の下にold-2016MMDD-XXXX/というようなディレクトリが作成されるようですが、運用には不要です。

    書式設定済み
    # ls /opt/shibboleth-idp/old-20160509-0810/
    bin/    dist/   doc/    system/ webapp/
  2. $CATALINA_BASE/lib/等に/opt/shibboleth-idp/webapp/WEB-INF/lib/以下もしくは/opt/shibboleth-idp/dist/webapp/WEB-INF/lib/以下のJARファイルへのシンボリックリンクがある場合は、アップデート後にバージョンが変わっりファイル名が変更になっている可能性があるのでその場合はシンボリックリンクを変更し、Tomcatを再起動すること。以下のJARファイルへのシンボリックリンクがある場合は、アップデート後にバージョンが変わりファイル名が変更になっている可能性があるのでその場合はシンボリックリンクを変更し、Tomcatを再起動すること。
  3. 次節以降で取り上げたバージョン間の変更点以外にも、細かな変更が存在する場合があります。変更点はShibboleth WikiのReleaseNotesに網羅されていますのでご参照ください。
    https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes

...

展開
コード ブロック
languagediff
@@ -66,12 +66,16 @@
                 <input class="form-element form-field" id="password" name="j_password" type="password" value="">
               </div>
 
+              ## You may need to modify this to taste, such as changing the flow name its checking for to authn/MFA.
+              #if (!$authenticationContext.getActiveResults().containsKey('authn/Password'))
               <div class="form-element-wrapper">
                 <input type="checkbox" name="donotcache" value="1" id="donotcache">
                 <label for="donotcache">#springMessageText("idp.login.donotcache", "Don't Remember Login")</label>
                </div>
+              #end
+
 
+            #end
+ 
               <div class="form-element-wrapper">
                 <input id="_shib_idp_revokeConsent" type="checkbox" name="_shib_idp_revokeConsent" value="true">
                 <label for="_shib_idp_revokeConsent">#springMessageText("idp.attribute-release.revoke", "Clear prior granting of permission for release of your information to this service.")</label> 

その他の情報

  • 3.3.xに限りませんが、/opt/shibboleth-idp/webapp/ がまだ存在するバージョン(3.3.xおよびそれ以前)の場合、サードパーティ製のJARファイルのアップデートのみを行う場合に注意が必要です。
    例えば tiqrshibauthn-2.0.jar から tiqrshibauthn-2.1.jar に更新する場合、古いファイルを削除する

    書式設定済み
    rm /opt/shibboleth-idp/edit-webapp/WEB-INF/lib/tiqrshibauthn-2.0.jar

    とともに webapp/ 配下の同名ファイルを削除しておいてください。

    書式設定済み
    rm /opt/shibboleth-idp/webapp/WEB-INF/lib/tiqrshibauthn-2.0.jar
  • 3.3.xに限りませんが、Java 7からJava 8へ移行する場合は以下の情報を参照してください。
    貴学にてIdPv3をインストールする場合の構築手順の動作要件の「Java 7 or 8」の項
  • 3.3.xに限りませんが、Tomcatの起動に10分前後時間がかかり、それが問題になるような場合は以下の情報を参照してください。
    貴学にてIdPv3をインストールする場合の構築手順の動作要件の「Java 7 or 8」の項
  • 2.xからのアップグレードの項に追記した通りスクリプトやQueryTemplateでの$requestContextの使用が制限されておりますが、V4では$requestContext自体がなくなる見込みです。代替手段をご検討ください。
    ScriptedAttributeDefinitionの"V2 Compatibility"の項, QueryTemplate
  • 2.xからのアップグレードの項に追記した通り、NameIDの送出方法が大幅に変更されており、Transient ID送出に関する従来の記述は不要になっております。当該記述は削除することをお勧めします。

...