Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:shibidp:config-storage [2022/09/01 15:40] – [Datenbank und Tabellen anlegen] utf8_bin collation for case sensitivity Silke Meyer | de:shibidp:config-storage [2025/05/20 09:35] (aktuell) – [Datenbank-Konfiguration] IdP5-Link zum Shib-Wiki Doreen Liebenau | ||
|---|---|---|---|
| Zeile 15: | Zeile 15: | ||
| ===== Datenbank-Konfiguration ===== | ===== Datenbank-Konfiguration ===== | ||
| - | Wir zeigen die Vorgehensweise hier anhand von MariaDB. Es ist aber möglich, andere Datenbank-Software zu verwenden, etwa MySQL, Oracle oder Postgres, siehe hierzu die Dokumentation im [[https://wiki.shibboleth.net/ | + | Wir zeigen die Vorgehensweise hier anhand von MariaDB. Es ist aber möglich, andere Datenbank-Software zu verwenden, etwa MySQL, Oracle oder Postgres, siehe hierzu die Dokumentation im [[https:// |
| ==== Installation ==== | ==== Installation ==== | ||
| + | 1. Im einfachsten Fall installieren Sie auf dem IdP einen lokalen Datenbank-Server. Sie können natürlich auch entfernte Datenbanken über das Netzwerk einbinden. | ||
| + | |||
| <code bash> | <code bash> | ||
| root@idp:~# apt install mariadb-server mariadb-client libmariadb-java | root@idp:~# apt install mariadb-server mariadb-client libmariadb-java | ||
| Zeile 24: | Zeile 25: | ||
| <code bash> | <code bash> | ||
| - | root@idp:~# ln -s / | + | root@idp:~# ln -s / |
| </ | </ | ||
| - | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren: | + | 2. Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren: |
| <code bash> | <code bash> | ||
| - | root@idp:~# systemctl restart | + | root@idp:~# systemctl restart |
| </ | </ | ||
| + | |||
| + | 3. Installieren Sie schließlich im IdP das JDBC-Plugin, | ||
| ==== Datenbank und Tabellen anlegen ==== | ==== Datenbank und Tabellen anlegen ==== | ||
| Die Datenbank und der Datenbank-Benutzeraccount müssen manuell erstellt werden. Dann werden noch zwei Tabellen angelegt: | Die Datenbank und der Datenbank-Benutzeraccount müssen manuell erstellt werden. Dann werden noch zwei Tabellen angelegt: | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| Zeile 74: | Zeile 77: | ||
| </ | </ | ||
| - | ==== JPAStorageService | + | ==== JDBCStorageService |
| - | Der DB-Zugriff wird über den [[https://wiki.shibboleth.net/ | + | Der DB-Zugriff wird über den [[https:// |
| <file xml ./ | <file xml ./ | ||
| Zeile 96: | Zeile 99: | ||
| | | ||
| <!-- Die folgenden Werte sind Default-Werte: | <!-- Die folgenden Werte sind Default-Werte: | ||
| - | p:maxActive=" | + | p:maxTotal=" |
| - | | + | |
| Es ist unter Umständen nötig, dass Sie diese Werte je nach Auslastung Ihres IdP anpassen, | Es ist unter Umständen nötig, dass Sie diese Werte je nach Auslastung Ihres IdP anpassen, | ||
| | | ||
| - | |||
| <bean id=" | <bean id=" | ||
| - | | + | |
| - | p: | + | p: |
| - | p: | + | p: |
| - | p: | + | p: |
| - | p: | + | p: |
| - | p:maxWait="15000" | + | p:maxTotal="100" |
| - | p:testOnBorrow="true" | + | p:maxIdle="100" |
| - | p:maxActive="100" | + | p:maxWaitMillis="15000" |
| - | p:maxIdle="100" | + | p:testOnBorrow="true" |
| - | p: | + | p: |
| - | p: | + | p: |
| - | <bean id="shibboleth.JPAStorageService" | + | <bean id="JDBCStorageService" |
| - | | + | |
| p: | p: | ||
| - | | + | |
| - | + | ||
| - | <bean id=" | + | |
| - | class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | <bean class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | <bean id=" | + | |
| - | class=" | + | |
| - | p: | + | |
| - | p: | + | |
| - | p: | + | |
| </ | </ | ||
| </ | </ | ||
| Zeile 140: | Zeile 126: | ||
| ==== Datenbank-Credentials hinterlegen ==== | ==== Datenbank-Credentials hinterlegen ==== | ||
| - | Die Properties für den Datenbank-Zugriff werden jetzt noch in '' | + | 1. Die Shibboleth-Entwickler empfehlen nicht mehr das tomcat-pooling zu verwenden, sondern |
| + | [[https:// | ||
| <file java / | <file java / | ||
| # ... | # ... | ||
| - | mysql.class | + | mysql.class |
| mysql.url | mysql.url | ||
| mysql.username = shibboleth | mysql.username = shibboleth | ||
| Zeile 150: | Zeile 137: | ||
| </ | </ | ||
| - | Das Passwort gehört wieder in die Datei '' | + | 2. Das Passwort gehört wieder in die Datei '' |
| <file / | <file / | ||
| mysql.password = GeHEIM007 | mysql.password = GeHEIM007 | ||
| </ | </ | ||
| - | Starten Sie Tomcat neu, um sicherzustellen, | + | 3. Starten Sie Tomcat neu, um sicherzustellen, |
| <code bash> | <code bash> | ||
| - | root@idp:~# systemctl restart | + | root@idp:~# systemctl restart |
| </ | </ | ||
| Zeile 187: | Zeile 174: | ||
| </ | </ | ||
| - | Der Salt-Hash, mit dem die persistentIds generiert werden, wird aus Sicherheitsgründen in der zugriffsbeschränkten Passwortdatei '' | + | Der Salt-Hash, mit dem die persistentIds generiert werden, wird aus Sicherheitsgründen in der zugriffsbeschränkten Passwortdatei '' |
| <file properties / | <file properties / | ||
| + | # Bitte durch einen zufällig generierten Salt ersetzen! | ||
| idp.persistentId.salt = my-very-very-long-hash | idp.persistentId.salt = my-very-very-long-hash | ||
| Zeile 236: | Zeile 224: | ||
| Meist sind Usernamen in IdM-Systemen unabhängig von Groß- und Kleinschreibung: | Meist sind Usernamen in IdM-Systemen unabhängig von Groß- und Kleinschreibung: | ||
| - | |||
| - | === bis IdP 4.0.1 === | ||
| - | <file xml ./ | ||
| - | ... | ||
| - | < | ||
| - | ... | ||
| - | </ | ||
| === ab IdP 4.1.0 === | === ab IdP 4.1.0 === | ||
| Zeile 269: | Zeile 250: | ||
| ... | ... | ||
| # Set to " | # Set to " | ||
| - | idp.session.StorageService = shibboleth.JPAStorageService | + | idp.session.StorageService = JDBCStorageService |
| # Set to " | # Set to " | ||
| - | idp.consent.StorageService = shibboleth.JPAStorageService | + | idp.consent.StorageService = JDBCStorageService |
| # Set to " | # Set to " | ||
| Zeile 296: | Zeile 277: | ||
| ===== User Consent zu Attributfreigabe bei Attribute Queries berücksichtigen ===== | ===== User Consent zu Attributfreigabe bei Attribute Queries berücksichtigen ===== | ||
| - | Damit bei Attribute Queries Nutzer-Entscheidungen zur Attributfreigabe berücksichtigt werden, muss in '' | + | Damit bei Attribute Queries Nutzer-Entscheidungen zur Attributfreigabe berücksichtigt werden, muss in '' |
| Dann modifizieren Sie die Datei wie folgt: | Dann modifizieren Sie die Datei wie folgt: | ||
| Zeile 310: | Zeile 291: | ||
| <code bash> | <code bash> | ||
| - | root@idp:~# systemctl restart | + | root@idp:~# systemctl restart |
| </ | </ | ||
| ===== Weitergabe der Persistent ID ===== | ===== Weitergabe der Persistent ID ===== | ||
| - | Um in den Fällen, in denen ein anfragender SP keine Präferenzen bzgl. Name ID Format signalisiert (Metadaten und/oder AuthnRequest), | + | Um in den Fällen, in denen ein anfragender SP keine Präferenzen bzgl. Name ID Format signalisiert (Metadaten und/oder AuthnRequest), |
| <file xml / | <file xml / | ||
| Zeile 338: | Zeile 319: | ||
| <code bash> | <code bash> | ||
| - | root@idp:/ | + | root@idp:/ |
| </ | </ | ||