比較バージョン

キー

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

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

目次

バージョン共通

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

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

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

    パネル# chown root:tomcat

    localhost/idp.xml に unpackWAR="false" が含まれると構成が大きく変更されるアップデート時(自動デプロイ時)にエラーが発生する場合があるようです。当該ファイルを確認し指定があれば削除しておいてください。(技術ガイドに沿った構築では含まれません)

2. アップデート手順

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

情報

/opt/shibboleth-idp/

...

以下に存在しないファイル/ディレクトリはアップデート時に自動的に作成されますが、インストール後修正したファイルのほか、修正していないファイルも一切上書きはされませんので、新バージョンの内容を適宜反映してください。各自で修正していないファイルはdist/以下のファイルで上書きする、各自で修正したファイルは新バージョンでの変更点をマージする形になります。

反映しない場合、旧来の機能は変わらず動作することが保証されますが、新バージョン以降の新機能が(デフォルトで有効な場合と有効化した場合いずれも)正しく動作することが保証されません。このため、将来的な新機能利用も見据えて、アップデート後でもかまいませんのでなるべく早く反映するようにしてください。

ヒント

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

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

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

パネル

# diff -rb ../

...

2. アップデート手順

shibboleth-identity-provider-3.

...

3.

...

3/ .

...

.

...

情報
注意
/opt

/shibboleth

-idp/以下に存在しないファイル/ディレクトリはアップデート時に自動的に作成されますが、インストール後修正したファイルのほか、修正していないファイルも一切上書きはされませんので、新バージョンの内容を適宜反映してください。各自で修正していないファイルはdist/以下のファイルで上書きする、各自で修正したファイルは新バージョンでの変更点をマージする形になります。

反映しない場合、旧来の機能は変わらず動作することが保証されますが、新バージョン以降の新機能が(デフォルトで有効な場合と有効化した場合いずれも)正しく動作することが保証されません。このため、将来的な新機能利用も見据えて、アップデート後でもかまいませんのでなるべく早く反映するようにしてください。

ヒント

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

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

-identity-provider-3.4.0/

なお、

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

パネル
パネル

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

なお、3.3.xへのアップデートの場合は以下のようにdistディレクトリ同士を比較していました。(dist/以下のファイルにはファイル名の末尾に .dist が付いていました)

# diff -rb /opt/shibboleth-idpidp/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

...

IdP 3.3.x から IdP 3.4.x へアップデートする場合の注意点

IdP 3.3.x から IdP 3.4.x へアップデートする場合の注意点

  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/credentials/server.key
    # chmod 640 /opt/shibboleth-idp/credentials/server.key

  3. 3.4.0へのアップデートで、idp.sealer.storePasswordもしくはidp.sealer.keyPasswordにシングルクオートを含む場合、アップデート後の起動に失敗するという情報があります。該当する場合は3.4.0を避け3.4.1およびそれ以降にアップデートしてください。

以下準備中準備中

<Dependency>
< #idp.authn.flows.initial = Password
< #idp.authn.resolveAttribute = eduPersonAssurance
./webapp/WEB-INF/lib のみに存在: commons-dbcp2-2.1.1.jar
../shibboleth-identity-provider-3.3.3/conf のみに存在: mvc-beans.xml
web.xml COOKIE http-only secure
idp.hsts idp.frameoptions idp.csp -> web.xml DynamicResponseHeaderFilter 2か所
テストはweb.xml更新してから SLO省かれているカスタマイズして 空にすれば出さなくできる
diff -r ../shibboleth-identity-provider-3.3.3/views/logout.vm ./views/logout.vm
"Use of secure property is strongly advised" WARNログ
AttributeQuery Consent
>     <bean id="shibboleth.consent.AttributeQuery.Condition" parent="shibboleth.Conditions.FALSE" />
attended restart
impersonate
>         p:checkAddressCondition="#{getObject('%{idp.session.consistentAddressCondition:null}'.trim()) ?: %{idp.session.consistentAddress:true}}" />
p:reuseCondition="false" MFA
shibboleth.ComputedIdExceptionMap

...