Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp:upgrade [2020/10/21 12:12] Silke Meyerde:shibidp:upgrade [2023/08/01 14:19] (aktuell) – Änderungen an dfnMisc.xml bei IdP 4.2.0 Silke Meyer
Zeile 1: Zeile 1:
-====== Upgrade auf Shibboleth IdP 4.x ======+====== Upgrades von Shibboleth IdP 4.x ======
  
-Laut der [[https://wiki.shibboleth.net/confluence/display/IDP4/Upgrading|Shibboleth-Dokumentation]] **//soll//** der IdP 4.0 direkt auf einen funktionsfähigen IdP Version 3.4.6 oder 3.4.7 installiert werden! Man erhält //kein// fehlerfrei funktionierendes System, wenn man die Version 4.x separat installiert und die Konfiguration der alten Version einfach in die neue Installation hineinkopiert. Es ist natürlich möglich, die geprüften Inhalte in eine Neuinstallation zu übertragen. +<callout color="#ff9900" title="Empfehlung: Neuinstallation der Version 4.1.x"> 
- +Es ist möglichwie gewohnt auf die Version 4.1.x zu aktualisierenAb 4.1.x enthält der IdP jedoch einige grundsätzliche Änderungen und viele Vereinfachungen. **Das Aufräumen einer aktualisierten Installation ist sehr [[https://wiki.shibboleth.net/confluence/display/KB/Example+4.1+Upgrade|kleinteilig]]**, fehleranfällig und aufwändigWir empfehlen daher, die Version 4.1.x neu aufzusetzen.
-<callout color="#ff9900" title="Vorgehen in Abhängigkeit Ihrer IdP-Version"> +
-Wir empfehlenje nach dem, welche 3er-Version Sie betreiben, unterschiedliche Wege zu gehen, die unten dokumentiert sind: +
-  * [[de:shibidp:upgrade#upgrade_von_346_oder_347|Upgrade von 3.4.6 / 3.4.7]] +
-  * [[de:shibidp:upgrade#upgrade_von_341_-_345| Upgrade von 3.4.1 - 3.4.5]] +
-  [[de:shibidp:upgrade#neuinstallation_bei_idp_33x_oder_aelter | Neuinstallation bei 3.3.x oder älter]]+
 </callout> </callout>
  
-===== Upgrade von 3.4.oder 3.4.7 =====+===== Vortrag ===== 
 +Hier können Sie unseren **Vortrag "Upgrade auf Shibboleth IdP 4.0.x"** vom **17.11.2020** anschauen oder sich die {{ :de:idp4:idp4-upgrade.pdf |Folien }} herunterladen. Zu dem Zeitpunkt war der **IdP 4.1.x noch nicht erschienen**. Die Themen: 
 +  * Intro (bis Minute 3:00) 
 +  * Allgemeine Neuerungen im IdP 4.0.x (3:00 - 7:16) 
 +  * Neuerungen, die nur auf neu installierten 4er IdPs aktiv sind (7:16 - 13:42) 
 +    * Die Attribute Registry (13:42 - 21:53) 
 +    * Attribut-Export aus Data Connectors (21:53 - 23:17) 
 +  * Vorstellung der neuen Attribute SAML Subject ID und SAML Pairwise ID (23:17 - 31:17) 
 +  * Vorgehensweise beim Upgrade (31:17 - 36:35) (siehe auch unten auf dieser Seite)  
 +  * Wann empfehlen wir eine Neuinstallation? (36:35 - 39:10) 
 +  * Ausblick auf Shibboleth 4.1 (ab 39:10) 
 +Die Aufzeichnung enthält Kapitelmarken, mit denen Sie in einem geeigneten Player springen können.
  
-Die groben Schritte: +{{ :de:idp4:idp_upgrade.mp4 |}}
-  * Datensicherung von idp.home und Datenbank +
-  * [[https://wiki.shibboleth.net/confluence/display/IDP4/ReleaseNotes|Release Notes]] studieren +
-  * neue Version [[https://shibboleth.net/downloads/identity-provider/latest4/|herunterladen]] und entpacken +
-  * den Installer (''./bin/install.sh'') aufrufen und den IdP - wie bei den vorherigen Updates ins gewohnte Verzeichnis installieren +
-  * die Datei ''./war/idp.war'' neu bauen mit ''./bin/build.sh'' +
- +
-Was geschieht mit den Änderungen am eigenen IdP? +
-  * Dateien im Ordner ''idp.home/system'' werden (schon immer) bei Upgrades überschrieben. Dies war nie der Ort für eigene Anpassungen - sollten Sie doch Anpassungen vorgenommen haben, übertragen Sie sie bitte an die entsprechenden Stellen in den anderen Ordnern. +
-  * Dateien in folgenden Ordnern werden bei Upgrades nicht überschrieben: ''./conf'', ''./views'', ''./messages'' und ''./edit-webapp''. Hier sollten Sie also Ihre Konfigurationen, Views oder Templates untergebracht haben. +
- +
-<callout color="#ff9900" title="Attribute Resolver erst später umbauen"> +
-Da die IdP-Version 4.1 voraussichtlich etliche Konfigurationsänderungen mit sich bringen wird ([[https://wiki.shibboleth.net/confluence/display/DEV/2020/09/08/September+Update|[1]]], [[https://wiki.shibboleth.net/confluence/display/DEV/2020/10/12/October+Update|[2]]]), empfehlen wir, nach einem Upgrade von 3.4.6 bzw. 3.4.7 auf 4.0.1 die alte ''conf/attribute-resolver.xml'' beizubehalten. Den Umbau der Syntax und das Einbeziehen der neuen Attribute Registry sollten Sie dann später vornehmen. +
-</callout>+
  
-===== Upgrade von 3.4.1 - 3.4.5 ===== 
  
-In den letzten 3.4.x-Releases wurden bereits alle Syntax- und Konfigurationsparameter-Änderungen als veraltet bemängelt, die in Version 4.0 nicht mehr möglich sindMit einer entsprechend mitgepflegtenlaufenden IdP 3.4.6-Installation ist das Upgrade auf 4.0 möglich. Je nach demwelche genaue IdP-Version Sie betreiben, sollten Sie abwägen, welchen Weg Sie gehen möchtenAb Version 3.4.2 war die Datei ''conf/attribute-resolver.xml'' anzupassenDies war der aufwändigste Schritt. Wenn Sie ihn schon hinter sich haben, ist es sicher weniger Aufwand, dem Upgradepfad zu folgen.+===== Ihre Anpassungen und IdP-Upgrades ===== 
 +Dateien in folgenden Ordnern werden bei Upgrades nicht überschrieben: ''./conf''''./views''''./messages'' und ''./edit-webapp''Hier sollten Sie also Ihre Konfigurationen, Views oder Templates untergebracht haben.
  
-==== Schritt 1: Update auf IdP 3.4.====+===== Mitpflegen der Konfiguration im IdP 4.x =====
  
-Daher bringen Sie Ihren IdP bitte zunächst auf die Version 3.4.7: [[de:shibidp3upgrade|Hinweise zum Upgrade innerhalb der IdP v3 Produktlinie]] Auf der Seite finden Sie auch einen [[de:shibidp3upgrade#ueberblick_ueber_die_konfigurationsaenderungen_ab_idp_v340_-_vorbereitung_auf_idp_v4x| Überblick über die Konfigurationsänderungen]], die im IdP v3.4.7 laufen müssen. Beobachten Sie das ''idp-process.log'' und bereinigen Sie alle Deprecation Warnings. +==== Auslagern von Secrets (empfohlen) ====
- +
-==== Schritt 2: Upgrade von 3.4.7 auf 4.0.x ==== +
- +
-Ab hier gehen Sie vor, wie im Abschnitt [[de:shibidp:upgrade#upgrade_von_346_oder_347|Upgrade von 3.4.6 oder 3.4.7]] beschrieben. +
- +
-===== Neuinstallation bei IdP 3.3.x oder älter ===== +
- +
-Wir empfehlen IdP-Betreiber*innen, die noch Shibboleth 3.3.x oder älter haben, eine [[de:shibidp:uebersicht|Neuinstallation nach unserem Tutorial]] durchzuführen. Der Aufwand, alle Änderungen der 3.4.er-Versionen nachzupflegen, ist nicht ganz gering und fehleranfällig. Zudem haben Sie auf einem neuen System die aktuellen Konfigurationsdateien mit den jetzt gesetzten Standardeinstellungen und Konfigurationsparametern. **Das neue Produktivsystem sollte am Ende dieselbe EntityId wie das alte Produktivsystem haben.** Hier finden Sie eine Schritt-für-Schritt-Anleitung für die [[de:shibidp:migration|Migration des IdP im laufenden Betrieb]]. +
- +
-===== Mitpflegen der Konfiguration ===== +
- +
-==== Auslagern von Secrets (optional) ====+
  
 In einer Neuinstallation von Shibboleth IdP 4.x werden IdP-interne Secrets in der separaten Datei  ''secrets.properties'' gespeichert. Informationen wie LDAP-Bind- oder Datenbank-Credentials sind durch die Zugangsbeschränkungen dieser neuen Datei besser geschützt. Wir empfehlen, das auch bei aktualisierten IdPs nachzuziehen und die entsprechenden Informationen aus ''idp.properties'', ''ldap.properties'' oder ''global.xml'' auszulagern. In einer Neuinstallation von Shibboleth IdP 4.x werden IdP-interne Secrets in der separaten Datei  ''secrets.properties'' gespeichert. Informationen wie LDAP-Bind- oder Datenbank-Credentials sind durch die Zugangsbeschränkungen dieser neuen Datei besser geschützt. Wir empfehlen, das auch bei aktualisierten IdPs nachzuziehen und die entsprechenden Informationen aus ''idp.properties'', ''ldap.properties'' oder ''global.xml'' auszulagern.
Zeile 73: Zeile 54:
 Ein von 3.4.x aktualisierter Shibboleth-IdP verhält sich in Bezug auf den gewählten Verschlüsselungsalgorithmus so wie vor dem Upgrade. Der Algorithmus, der bisher zum Einsatz kam, gilt jedoch nicht mehr als sicher. Bitte schauen Sie sich die unter [[de:shibidp:config-encryption|Konfiguration des Verschlüsselungsalgorithmus]] gezeigten Möglichkeiten an. Wir zeigen dort einen empfohlenen Weg mit dem neueren Algorithmus AES-GCM und Ausnahmen für SPs, die den Algorithmus noch nicht kennen. Ein von 3.4.x aktualisierter Shibboleth-IdP verhält sich in Bezug auf den gewählten Verschlüsselungsalgorithmus so wie vor dem Upgrade. Der Algorithmus, der bisher zum Einsatz kam, gilt jedoch nicht mehr als sicher. Bitte schauen Sie sich die unter [[de:shibidp:config-encryption|Konfiguration des Verschlüsselungsalgorithmus]] gezeigten Möglichkeiten an. Wir zeigen dort einen empfohlenen Weg mit dem neueren Algorithmus AES-GCM und Ausnahmen für SPs, die den Algorithmus noch nicht kennen.
  
-==== Deprecation Warnings ab 4.====+==== Umstellung auf die Nutzung der Attribute Registry (empfohlen) ==== 
 + 
 +Ab der Version 4.x kommt der IdP mit der neu eingeführten [[https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1272054306/AttributeRegistryConfiguration|Attribute Registry]]. Sie können Ihre Datei ''conf/attribute-resolver.xml'' deutlich vereinfachen, wenn Sie auf die Registry umstellen. Außerdem bietet der IdP dann die Möglichkeit, Attribute direkt zu nutzen (zu "exportieren"), die in Ihrem IdM dieselbe ID haben wir in der Attribute Registry. Dadurch können Sie eventuell etliche Attributdefinitionen komplett loswerden. Die Schritte: 
 +  * Alle im Resolver definierten Attribute, die nach außen übermittelt werden sollen (die also nicht nur eine Dependency für eine andere Attributdefinition sind), müssen in der Attribute Registry (unterhalb von ''conf/attributes'' existieren. In der Registry müssen die jeweiligen Transcoding-Regeln und Kurzbeschreibungen stehen. Ist dies der Fall, können Sie die Transcoding-Regeln und Kurzbeschreibungen aus dem Resolver entfernen ([[de:shibidp:config-attributes-aaiplus|Beispiele]]). 
 +  * Wenn Sie beim DataConnector "exportAttributes" nutzen, müssen Sie sicherstellen, dass bei allen Attributdefinitionen, die von diesen "exportierten" Attributen abhängen, jetzt InputDataConnector statt InputAttributDefinition stehen muss. 
 +  * Aktivieren Sie die Registry verwenden soll, indem Sie ''conf/services.xml'' editieren und folgenden Abschnitt shibboleth.AttributeRegistryResources einkommentieren:<file xml /opt/shibboleth-idp/conf/services.xml>    <util:list id ="shibboleth.AttributeRegistryResources"> 
 +        <value>%{idp.home}/conf/attribute-registry.xml</value> 
 +        <value>%{idp.home}/conf/attributes/default-rules.xml</value> 
 +        <value>%{idp.home}/conf/attribute-resolver.xml</value> 
 +    </util:list> 
 +</file> 
 + 
 +==== Deprecation Warnings ab 4.0.1 ====
  
 Direkt nach der Aktualisierung auf einen 4.xer IdP erscheinen im Log neue Deprecation Warnings. Wir empfehlen, sie über die Minor Updates hin gleich zu bearbeiten. Hier finden Sie fortlaufend die Einstellungen, die ab 4.x abgekündigt sind. Direkt nach der Aktualisierung auf einen 4.xer IdP erscheinen im Log neue Deprecation Warnings. Wir empfehlen, sie über die Minor Updates hin gleich zu bearbeiten. Hier finden Sie fortlaufend die Einstellungen, die ab 4.x abgekündigt sind.
Zeile 105: Zeile 98:
  
 === attribute-filter.xml === === attribute-filter.xml ===
-  * Das XML-Element ''ignoreCase'' wird ersetzt durch ''caseSensitive''. Um die gleiche Aussage zu erhalten, geben Sie statt ''ignoreCase='true' '' jetzt ''caseSensitive='false' '' ein. Ein Beispiel: <file xml conf/attribute-resolver.xml>+  * Das XML-Element ''ignoreCase'' wird ersetzt durch ''caseSensitive''. Um die gleiche Aussage zu erhalten, geben Sie statt ''ignoreCase='true' '' jetzt ''caseSensitive='false' '' ein. Ein Beispiel aus den Filter Policies (dasselbe kann auch im Attribute Resolver vorkommen): <file xml conf/attribute-filter.xml>
 <AttributeFilterPolicy id="LibraryTermsToAnyone"> <AttributeFilterPolicy id="LibraryTermsToAnyone">
   <PolicyRequirementRule xsi:type="ANY" />   <PolicyRequirementRule xsi:type="ANY" />
Zeile 119: Zeile 112:
 </AttributeFilterPolicy> </AttributeFilterPolicy>
 </file> </file>
 +
 +==== Deprecation Warnings ab 4.1.0 ====
 +  * Der ''xsi:type="SAML2NameID"'' im Attribute Resolver wird für das nächste Major Release abgekündigt. Sie sehen die Warnung, wenn Sie das veraltete Attribut ''eduPersonTargetedID'' im Resolver definiert haben. Bitte **ignorieren** Sie die Warnung vorerst. Sehr viele Service Provider verlangen das Attribut nach wie vor.<code>WARN [DEPRECATED:125] - xsi:type 'SAML2NameID', (file [/opt/shibboleth-idp/conf/attribute-resolver.xml]): This will be removed in the next major version of this software; replacement is (none)</code>
 +
 +==== Automatische Suche nach ''.properties''-Dateien ====
 +  * In ''conf/idp.properties'' können bzw. sollten Sie ab Version 4.1.x die folgende Zeile einfügen, damit der IdP alle Properties-Dateien unterhalb des ''conf''-Ordners einliest, ohne, dass Sie sie einzeln angeben müssen:<code properties>idp.searchForProperties=true</code>
 +
 +==== Prüfen der dfnMisc.xml ab 4.2.0 ====
 +Vor der Version 4.2.0 liefert der IdP die Transcoding-Regeln und die Bezeichnungen / Beschreibungen der Attribute aus dem schac-Schema nicht mit. Wir hatten zu der Zeit eine Datei ''dfnMisc.xml'' erstellt, die die gängigsten schac-Attribute und einige andere in der DFN-AAI verbreitete Attribute für die Attribute Registry des IdP zusammenstellten. Ab der Version 4.2.0 kam der IdP mit einer eigenen ''schac.xml''-Datei im Ordner ''conf/attributes/''. Prüfen Sie beim Upgrade Ihre ''dfnMisc.xml''. Dopplungen zwischen ihr und der ''schac.xml'' führen zu doppelten Attributen, was zu vermeiden ist. Ersetzen Sie bei Bedarf die ''dfnMisc.xml'' mit der [[de:shibidp:dfn_misc_transcoder|aktuelleren Version]].
  
 ====== Upgrades innerhalb der Produktlinie IdP 4.x ====== ====== Upgrades innerhalb der Produktlinie IdP 4.x ======
-Laut [[https://wiki.shibboleth.net/confluence/display/IDP4/Upgrading|Shibboleth-Wiki]] werden die Minor- oder Patch-Updates - genau wie bereits im IdP 3.x - jeweils über die laufende IdP-Version drüber installiert: +Laut [[https://wiki.shibboleth.net/confluence/display/IDP4/Upgrading|Shibboleth-Wiki]] werden die Minor- oder Patch-Updates jeweils über die laufende IdP-Version drüber installiert: 
-  * Sie laden dazu die [[http://shibboleth.net/downloads/identity-provider/latest/|neueste IdP-Version]] herunter und entpacken sie. +  * Sie laden dazu die [[http://shibboleth.net/downloads/identity-provider/latest/|neueste IdP-Version]] herunter (unter Linux standardmäßig nach ''/opt/install''und entpacken sie. 
-  * Dann führen Sie das Installationsskript erneut aus. Wichtig ist, dass Sie als Zielverzeichnis das Verzeichnis der laufenden Installation angeben, z.B. ''/opt/shibboleth-idp'' unter Linux. +  * Dann führen Sie das interaktive Installationsskript erneut aus. Wichtig ist, dass Sie als Zielverzeichnis das Verzeichnis der laufenden Installation angeben, z.B. ''/opt/shibboleth-idp'' unter Linux. Unter Linux ist außerdem zu beachten, dass beim Upgrade die Schreib-/Leseberechtigungen korrekt gesetzt werden (Parameter'' -Didp.conf.filemode=644'' beim Aufruf von ''./bin/install.sh'').<code>root@idp:/opt/install/shibboleth-identity-provider-4.1.4# ./bin/install.sh  -Didp.conf.filemode=644 
-  * Unter Linux ist außerdem zu beachten, dass beim Upgrade die Schreib-/Leseberechtigungen korrekt gesetzt werden (Parameter'' -Didp.conf.filemode=644'' beim Aufruf von ''./bin/install.sh'').+Buildfile: /opt/install/shibboleth-identity-provider-4.1.4/bin/build.xml 
 + 
 +install: 
 +Source (Distribution) Directory (press <enter> to accept default): [/opt/install/shibboleth-identity-provider-4.1.4] ?  
 + 
 +Installation Directory: [/opt/shibboleth-idp] ?  
 + 
 +INFO [net.shibboleth.idp.installer.V4Install:155] - Update from version 4.1.3 to version 4.1.4 
 +INFO [net.shibboleth.idp.installer.BuildWar:72] - Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.4 
 +INFO [net.shibboleth.idp.installer.BuildWar:81] - Initial populate from /opt/shibboleth-idp/dist/webapp to /opt/shibboleth-idp/webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:90] - Overlay from /opt/shibboleth-idp/edit-webapp to /opt/shibboleth-idp/webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:99] - Creating war file /opt/shibboleth-idp/war/idp.war 
 + 
 +BUILD SUCCESSFUL 
 +Total time: 42 seconds 
 +</code>
  
 ====== Upgrade-Anleitung mit manueller Tomcat-Installation ====== ====== Upgrade-Anleitung mit manueller Tomcat-Installation ======
  • Zuletzt geändert: vor 3 Jahren