Dies ist eine alte Version des Dokuments!
Migration auf IdP 4.x
Um einen IdP 3.x in der DFN-AAI ohne Downtime auf 4.x zu migrieren, empfehlen wir folgende Vorgehensweise, in der beide IdP-Versionen während der Migration parallel betrieben werden:
Schritt 1: Testsystem aufsetzen
- Lassen Sie den produktiven IdP 3.x zunächst unverändert weiter laufen.
- Installieren Sie den aktuellsten IdP 4.x auf einem (neuen) Testsystem von Grund auf wie in unserem Tutorial beschrieben.
- Testen Sie damit ausführlich in der DFN-AAI-Test, bis Sie gut mit der Konfiguration vertraut sind:
- Kopieren Sie keine Konfigurationsdateien unbesehen aus dem alten IdP in den neuen IdP! Es haben sich diverse Standardeinstellungen oder Einstellungsmöglichkeiten geändert.
- Übertragen Sie die definierten Attribute in die neue, abgespeckte
conf/attribut-resolver.xml
. Die Syntax der Datei hat sich gegenüber dem IdP 3.3.x stark verändert und ist seit dem IdP 3.4.x ausgedünnt worden. - Die Datei
conf/attribut-filter.xml
können Sie in den neuen IdP kopieren. Überzeugen Sie sich mithilfe unserer Test-SPs, dass die Attribute so übermittelt werden, wie es Ihr IdP 3.x tut. - Übertragen Sie die
conf/relying-party.xml
und prüfen Sie, welche der von Ihnen genutzten Service Provider den Algorithmus AES-GCM noch nicht unterstützen. Konfigurieren Sie für diese SPs Ausnahmen mit AES-CBC, wie in unserer Dokumentation beschrieben. - Bearbeiten Sie die Attribute in der Attribut Registry: Entfernen Sie die SAML1 Transcoder. SAML 1 wird in der DFN-AAI bald abgekündigt. Es gibt keine SPs mehr, die ausschließlich den veralteten SAML1-Standard sprechen. Ergänzen Sie die Attribute Registry für den Einsatz in der DFN-AAI, falls Sie das während des Tutorials nicht schon getan haben.
- Die persistentIds müssen unverändert bleiben, damit Ihre Nutzer*innen bei den Service Providern wiedererkannt werden! Migrieren Sie die bestehende persistentId-Datenbank vom IdP 3.x auf die Testinstallation und verifizieren Sie, dass die alten persistentIDs weiterverwendet statt neu generiert werden. So gehen Sie auf einem Test-IdP vor:
- Achten Sie darauf, dass Quellattribut(e) (Datei
conf/saml-nameid.properties
:idp.persistentId.sourceAttribute
) und Salt (Dateicredentials/secrets.properties
:idp.persistentId.salt
) die gleichen sind wie auf dem alten IdP. - Suchen Sie sich für eine Stichprobe einen SP aus der Datenbanktabelle
shibpid
aus, z.B. testsp3.aai.dfn.de. - Suchen Sie dann einen PrincipalName aus, der für diesen SP schon eine persistentId in der Datenbank hat.
- Dort setzen Sie localEntity auf die EntityID Ihres Test-IdPs.
- Melden Sie sich an dem SP an und prüfen, ob die bereits in der Datenbank liegende persistentID übermittelt wird (idp-audit.log enthält den Wert). Wenn das nicht der Fall ist, sondern eine neue persistentId für den UserAccount und den SP generiert wurde, dann stimmt noch etwas nicht.
- Wir empfehlen Ihnen, diesen Test-IdP zu behalten. So haben Sie für künftige Upgrades ein funktionierendes Testsystem, das Sie bei Bedarf einfach wieder in die Testföderation aufnehmen können.
Schritt 2: Neues Produktivsystem vorbereiten
- Installieren Sie den IdP 4.x so auf einem neuen Produktivsystem, dass die Metadaten identisch zu Ihrem IdP 3.x sind, indem Sie bei der Installation den gleichen DNS-Namen wählen wie auf Ihrem bestehenden 3.x-System!
- Die entityID des IdP 4.x entspricht damit der des IdP 3.x.
- Die Kommunikations-URLs in den Metadaten bleiben unverändert.
- Ersetzen Sie auf dem IdP 4.x die automatisch generierten private-Key- und Zertifikatsdateien für die SAML-basierte Kommunikation durch die entsprechenden Dateien vom IdP 3.x (Dokumentation).
- Die Metadaten des IdP 4.x sind jetzt identisch zum IdP 3.x. Es muss nichts in der DFN-AAI-Metadatenverwaltung eingetragen oder geändert werden. Insbesondere ist dort nach wie vor nur ein produktiver IdP eingetragen!
- Übernehmen Sie die Attribut-, NameID-, Datenbank- und sonstige Konfigurationen von Ihrer 4.x Testinstallation auf das neue Produktiv-System.
Schritt 3: DNS-Eintrag schwenken
- Ersetzen Sie in Ihrem DNS-Server die IP-Adresse(n) des alten IdP 3.x durch die des neuen IdP 4.x.
- Lassen Sie den IdP 3.x noch so lange laufen, bis sich die DNS-Änderung weltweit verbreitet hat.
- Wenn Sie sehen, dass am IdP 3.x keine Zugriffe mehr erfolgen, können Sie ihn abschalten.