IdPv3アップデートに関する情報
Shibboleth IdPバージョン5がすでにリリースされております。V5へのアップデートに関してはこちらの両ページをご覧ください。⇒IdPv4アップデートに関する情報, IdPv5アップデートに関する情報
Shibboleth SPのアップデートに関してはこちらをご覧ください。⇒SPv3アップデートに関する情報
- 1 バージョン共通
- 1.1 1. アップデート前の注意点
- 1.2 2. アップデート手順
- 1.3 3. アップデート後の注意点
- 2 IdP 3.4.x から IdP 3.4.x へのアップデートに関する情報
- 3 IdP 3.3.x から IdP 3.4.x へアップデートする場合の注意点
- 4 IdP 3.3.x から IdP 3.3.x へのアップデートに関する情報
- 4.1 その他の情報
- 5 IdP 3.2.x から IdP 3.3.x へアップデートする場合の注意点
- 5.1 その他の情報
- 6 IdP 3.2.x から IdP 3.2.x へのアップデートに関する情報
- 6.1 その他の情報
- 7 IdP 3.1.x から IdP 3.2.x へアップデートする場合の注意点
- 8 IdP 2.x.x から IdP 3.x.x へアップグレードする場合の手順および関連情報
バージョン共通
1. アップデート前の注意点
$CATALINA_BASE/conf/Catalina/localhost/idp.xmlにunpackWAR="false"が含まれると構成が大きく変更されるアップデート時(自動デプロイ時)にエラーが発生する場合があるようです。当該ファイルを確認し指定があれば削除しておいてください。(技術ガイドに沿った構築では含まれません)
2. アップデート手順
shibboleth-identity-provider-3.x.x.tar.gzパッケージを展開したディレクトリで、以下のコマンドで設定ファイルの変更点を確認し、適宜反映した上で、アップデートを実行します。
/opt/shibboleth-idp/以下に存在しないファイル/ディレクトリはアップデート時に自動的に作成されますが、インストール後修正したファイルのほか、修正していないファイルも一切上書きはされませんので、新バージョンの内容を適宜反映してください。各自で修正していないファイルはdist/以下のファイルで上書きする、各自で修正したファイルは新バージョンでの変更点をマージする形になります。
反映しない場合、旧来の機能は変わらず動作することが保証されますが、新バージョン以降の新機能が(デフォルトで有効な場合と有効化した場合いずれも)正しく動作することが保証されません。このため、将来的な新機能利用も見据えて、アップデート後でもかまいませんのでなるべく早く反映するようにしてください。
uApproveJPをインストールしている場合はsystem/以下の修正が元に戻ってしまうので、アップデート前に展開したディレクトリの当該ファイルを修正した上でアップデートを行うのがお勧めです。system/以下の修正箇所をパッチ形式にしたものを置いておきますので、展開したディレクトリにて適用してください。
$ patch -p0 < .../uapprovejp3-system.patch3.3.xおよびそれ以前から3.4.xへのアップデートの場合はディレクトリ構造が変わっておりますので、展開したインストールパッケージ同士を比較して設定ファイルの変更点を確認してください。例:
なお、3.3.xへのアップデートの場合は以下のようにdistディレクトリ同士を比較していました。(dist/以下のファイルにはファイル名の末尾に .dist が付いていました)
# diff -rb -x LICENSE.txt -x bin -x credentials -x doc -x idp_ant\\.log -x logs -x metadata -x system /opt/shibboleth-idp/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 ......doneBUILD SUCCESSFULTotal time: 5 seconds#
本アップデート手順はTomcatを起動したまま行うことを前提としております。もしTomcatが起動していない状態の場合は、古いバージョンのキャッシュを削除するため以下のコマンドを実行してください。
なお、Tomcat 8.0.21およびそれ以降を使っており、autoDeploy="true"およびdeployOnStartup="true"の設定になっている場合は、上記操作の必要なく、起動したままでも停止した状態でも、自動デプロイが機能するはずです。
アップデート後、以下のコマンドでバージョンが更新されていることを確認してください。
$ /opt/shibboleth-idp/bin/status.sh | grep idp_version
idp_version: 3.3.1
アップデート直後は古いバージョンを示すことがあるので、その場合はしばらくしてから再度確認してください。
3. アップデート後の注意点
/opt/shibboleth-idp/の下にold-2016MMDD-XXXX/というようなディレクトリが作成されるようですが、運用には不要です。# ls /opt/shibboleth-idp/old-20160509-0810/ bin/ dist/ doc/ system/ webapp/$CATALINA_BASE/lib/等に/opt/shibboleth-idp/webapp/WEB-INF/lib/以下もしくは/opt/shibboleth-idp/dist/webapp/WEB-INF/lib/以下のJARファイルへのシンボリックリンクがある場合は、アップデート後にバージョンが変わりファイル名が変更になっている可能性があるのでその場合はシンボリックリンクを変更し、Tomcatを再起動すること。次節以降で取り上げたバージョン間の変更点以外にも、細かな変更が存在する場合があります。変更点はShibboleth WikiのReleaseNotesに網羅されていますのでご参照ください。
⇒https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes
IdP 3.4.x から IdP 3.4.x へのアップデートに関する情報
3.4.6でのコード変更により一部の特殊なIdPプラグインを使っている場合にエラーが発生するという報告が上がっていますのでご注意ください。またそのようなプラグインがありましたら学認事務局まで情報提供いただけましたら幸いです。
詳細: https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes#ReleaseNotes-3.4.6(Oct2,2019)
参考: https://marc.info/?l=shibboleth-users&m=157019539119083&w=2
3.4.2に限らないと思われますが、Mapped AttributeDefinitionにて空文字列になる属性値を生成した場合、エラーになるという情報があります。このような使い方は想定されておりませんのでご注意ください。
詳細: https://issues.shibboleth.net/jira/browse/IDP-1389
3.4.2固有の問題で、Template AttributeDefinitionにてDependencyを用いた古い記法を使っている場合にエラーになります。記述をInputAttributeDefinitionおよびInputDataConnectorを用いた新しい記法に改めるか、3.4.3もしくはそれ以降にアップデートしてください。
詳細: https://issues.shibboleth.net/jira/browse/IDP-1386
3.4.2にて以下のDEPRECATED warningを出力するようになりましたが、実際には<SourceAttribute>を使用していなくても出力されることがあります。<SourceAttribute>を使用していない場合は無視してください。
08:38:46.114 - - WARN [DEPRECATED:118] - XML Element 'SourceAttribute', (file [/opt/shibboleth-idp/conf/attribute-resolver.xml]): This will be removed in the next major version of this software; replacement is by using <InputAttributeDefinition> and <InputDataConnector>詳細: https://issues.shibboleth.net/jira/browse/IDP-1383
3.4.1までで認証後に下記エラーが出るときがあるとの報告があります。該当する場合は3.4.2もしくはそれ以降にアップデートしてください。
org.springframework.binding.expression.EvaluationException: An ELException occurred getting the value for expression 'authenticationContext.setAttemptedFlow(thisFlow)' on context [class org.springframework.webflow.engine.impl.RequestControlContextImpl]詳細: https://issues.shibboleth.net/jira/browse/IDP-1163
attribute-resolver.xmlで記述する sourceAttributeID はDEPRECATEDでv4で削除予定ですが、3.4.1まではComputedIdおよびStoredId DataConnecterにおいて代替の記述をするとエラーで起動できなくなります。申し訳ありませんが該当するバージョンをお使いの場合は当該DataConnectorのみ古い記述をお使いください。
詳細: https://issues.shibboleth.net/jira/browse/IDP-1359
3.4.0で配布されている設定ファイルのうち conf/admin/general-admin.xml に誤字がありましたので、3.4.0の配布ファイルをご利用の場合は以下を参考に修正してください。