...
3.4.0以降Shibboleth IdPのディレクトリ構成が
webapp/
からdist/webapp/
に変更になりました。以前のバージョンから該当するバージョンへアップデートする場合は、$CATALINA_BASE/lib/
等に当該ディレクトリへのシンボリックリンクがないか確認し、もしあれば修正しておいてください。3.4.0以降ではserver.keyのパーミッションへの特殊な扱いが不要になりました。3.3.xおよびそれ以前から3.4.xおよびそれ以降へのアップデートの場合は、以下を実行してください。xおよびそれ以降へのアップデートの場合は、技術ガイドにおける設定と一致するように、以下を実行してください。
パネル # chown root:tomcat /opt/shibboleth-idp/credentials/server.key
# chmod 640 /opt/shibboleth-idp/credentials/server.key
- 3.4.0へのアップデートで、idp.sealer.storePasswordもしくはidp.sealer.keyPasswordにシングルクオートを含む場合、アップデート後の起動に失敗するという情報があります。該当する場合は3.4.0を避け3.4.1およびそれ以降にアップデートしてください。
attribute-resolver.xmlにおいて厳密な記述が不可能だった<Dependency>要素は非推奨となり、代わりに<InputAttributeDefinition>要素および<InputDataConnector>要素が導入されました。
3.4.0よりcommons-dbcp2-2.x.x.jarが同梱されるようになっています。つまりTomcatのバージョン等によらずMySQL等のデータソースの指定に以下のclassが指定できます。
コード ブロック class="org.apache.commons.dbcp2.BasicDataSource"
- 以前同梱されていたconf/mvc-beans.xmlは同梱されなくなりました。特に修正していなければ削除しても大丈夫です。
...
3.3.xにて(3.2.xでも同様かは不明)、かつTomcat 8.0.xを使用している一部の環境の場合、IE / EdgeでSLOした後再度認証しようとするとエラーになるという問題があります。同様の問題で困っているかたはidp.xmlの記述を最新版にしてください。
詳細その1: https://issues.shibboleth.net/jira/browse/IDP-1141
詳細その2: 貴学にてIdPv3をインストールする場合の構築手順 の「5. idp.war の登録」の<CookieProcessor alwaysAddExpires="true" />
の行
...
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送出に関する従来の記述は不要になっております。当該記述は削除することをお勧めします。
...
IdP 2.x.x から IdP 3.x.x へアップグレードする場合の手順および関連情報
- シボレス実習活用編旧メニュー
- NIIオープンフォーラム2016の「IdP ver.3に向けたNIIの取り組み」および「Shibboleth IdP ver.3との戦い」
- GakuNinShare:Shibboleth IdP 3
- 貴学にてIdPv3をインストールする場合の構築手順貴学にてIdPv4をインストールする場合の構築手順
- 上記資料で網羅されておりませんが、スクリプトやQueryTemplateで
$requestContext
を使っている場合、メソッド等が存在しない場合があるという情報があります。以下を参考に修正してください。
⇒ScriptedAttributeDefinitionの"V2 Compatibility"の項, QueryTemplate NameIDにTransient IDを入れて送る方法、および他のIDを入れて送る方法が大幅に変更になっており、従来の方法は使えません。紛らわしさをなくすため、attribute-resolver.xmlおよびattribute-filter.xmlにおける従来の設定(IdPv3では意味を持ちません)を削除しておくことをお勧めします。
展開 title 無効なTransient ID送出設定の例 以下の記述があれば、丸ごと削除可能です。ただし少しでも変更があれば意図しない挙動の変化を生じる可能性がありますので、一字一句差異がないことを確認してください。
attribute-resolver.xml:
コード ブロック language xml <!-- Name Identifier related attributes --> <resolver:AttributeDefinition id="transientId" xsi:type="TransientId" xmlns="urn:mace:shibboleth:2.0:resolver:ad"> <resolver:AttributeEncoder xsi:type="SAML1StringNameIdentifier" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" nameFormat="urn:mace:shibboleth:1.0:nameIdentifier" /> <resolver:AttributeEncoder xsi:type="SAML2StringNameID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" /> </resolver:AttributeDefinition>
attribute-filter.xml:
コード ブロック language xml <!-- Release the transient ID to anyone --> <AttributeFilterPolicy id="PolicyforAnyone"> <PolicyRequirementRule xsi:type="basic:ANY" /> <AttributeRule attributeID="transientId"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> </AttributeFilterPolicy>