Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:shibidp:config-advanced:config-azure [2024/03/14 14:11] – [Umkonfiguration Anmeldekennung] czerner@leuphana.de | de:shibidp:config-advanced:config-azure [2024/12/10 12:32] (aktuell) – czerner@leuphana.de | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== IDP als Saml-Proxy zum Entra-ID ====== | ====== IDP als Saml-Proxy zum Entra-ID ====== | ||
| - | + | {{ :de: | |
| - | * Status: Entwurf | + | |
| ====== Vorwort ====== | ====== Vorwort ====== | ||
| Zeile 9: | Zeile 8: | ||
| - Nach dem Authentifizierungsprozess hat der Benutzer eine gültige Shibboleth-Session gegen den IDP und eine gültige OAuth2-Session gegen das Entra-ID. | - Nach dem Authentifizierungsprozess hat der Benutzer eine gültige Shibboleth-Session gegen den IDP und eine gültige OAuth2-Session gegen das Entra-ID. | ||
| - Man benötigt zur Implementierung einer MFA-Umgebung jetzt nur noch die Token-Konfiguration im Azure. Man spart sich also den PrivacyIdea-Server plus eine zweimalige Einrichtung der Token. | - Man benötigt zur Implementierung einer MFA-Umgebung jetzt nur noch die Token-Konfiguration im Azure. Man spart sich also den PrivacyIdea-Server plus eine zweimalige Einrichtung der Token. | ||
| - | - Die Attribute die dem SP übergeben werden, können sowohl aus der lokaeln | + | - Die Attribute die dem SP übergeben werden, können sowohl aus der lokalen |
| ===== Wie muss ich mir das vorstellen? | ===== Wie muss ich mir das vorstellen? | ||
| Zeile 25: | Zeile 24: | ||
| getestet. | getestet. | ||
| - | Weiter bildet die Basis zur Umkonfiguration | + | Weiter bildet die Basis zur Umkonfiguration |
| ===== Konfiguration ===== | ===== Konfiguration ===== | ||
| Zeile 52: | Zeile 51: | ||
| </ | </ | ||
| Jetzt den Tomcat neustarten und Anmeldung probieren, im zweiten Schritt prüfen, ob die in der DB gespeicherten persistenten IDs korrekt zum SP geliefert werden. | Jetzt den Tomcat neustarten und Anmeldung probieren, im zweiten Schritt prüfen, ob die in der DB gespeicherten persistenten IDs korrekt zum SP geliefert werden. | ||
| + | ==== Konfiguration Azure ==== | ||
| + | |||
| + | |||
| + | === Eine Enterprise-Applikation erstellen === | ||
| + | |||
| + | |||
| + | Enterpriese applications | All Applications -> New Application -> Create your own application -> Namen eingeben und den Punkt " | ||
| + | |||
| + | === SAML konfigurieren: | ||
| + | |||
| + | In der Konfiguration der neuen Applikation auf Overview -> “2. Setup Single sign on” -> SAML | ||
| + | |||
| + | * Dann unter Entity-ID: https:// | ||
| + | * und unter Reply-Url: https:// | ||
| + | |||
| + | eintragen: | ||
| + | |||
| + | === Benutzer konfigurieren: | ||
| + | |||
| + | Unter “Users and Groups” einen ersten Benutzer hinzufügen. | ||
| + | |||
| + | === Zertifikat und Tenant-ID === | ||
| + | |||
| + | Unter Single-Sign-On -> mittig bei “SAML Certificates” die “Federation Metadata XML” herunterladen. Die Konfiguration auf dem Azure ist damit abgeschlossen. | ||
| + | ==== IDP ==== | ||
| + | === Metadaten === | ||
| + | Aus dem Zertifikat und der Tenant-ID und der {{ : | ||
| + | |||
| + | Die Metadaten aus dem Azure habe ich nicht ans Laufen bekommen. Aus diesem Grunde muss manuell eine Metadatei erstellt werden. | ||
| + | |||
| + | Hierzu steht ein {{ : | ||
| + | |||
| + | Die Metadaten aus dem Azure erst mal formatieren, | ||
| + | < | ||
| + | xmllint idp01-test.xml --format > idp01-test-format.xml | ||
| + | </ | ||
| + | Nun das Template öffnen und dort die Tenant-ID und das Zertifikat mit dem Daten aus der gerade formatierten Datei ersetzen. | ||
| + | |||
| + | Das Zertifikat muss zwischen die “< | ||
| + | |||
| + | Die Metadaten-Datein dann unter metadata/ | ||
| + | < | ||
| + | < | ||
| + | xsi: | ||
| + | metadataFile=" | ||
| + | </ | ||
| + | |||
| + | |||
| + | Nun sollte der IDP neugestartet werden, zeigt das Log keine Fehler, so war dies vermutlich erfolgreich. Ggf. das Log unter conf/ | ||
| + | === SAML-Auth konfigurieren === | ||
| + | Die Konfiguration einiger Attribute ist aus der Datei “conf/ | ||
| + | |||
| + | Wir edititieren die Datei “conf/ | ||
| + | < | ||
| + | Den Wert im Attribut von: idp.authn.flows = Password | ||
| + | |||
| + | In: idp.authn.flows = SAML | ||
| + | </ | ||
| + | ändern. Dann weiter unten in der Kategorie SAML: (TENANT-ID nicht vergessen zu ändern) | ||
| + | < | ||
| + | idp.authn.SAML.nonBrowserSupported = false | ||
| + | idp.authn.SAML.proxyEntityID = https:// | ||
| + | idp.authn.SAML.supportedPrincipals = \ | ||
| + | saml2/ | ||
| + | saml2/ | ||
| + | saml1/ | ||
| + | </ | ||
| + | |||
| + | Nun einmal den Tomcat neustarten und es sollte der Azure-Anmeldedialog kommen. | ||
| + | |||
| + | === c14n Flow === | ||
| + | Wir editieren die Datei conf/ | ||
| + | < | ||
| + | idp.c14n.attribute.attributeSourceIds = azureName | ||
| + | # Allows direct use of attributes via SAML proxy authn, bypasses resolver | ||
| + | idp.c14n.attribute.resolveFromSubject = true | ||
| + | idp.c14n.attribute.resolutionCondition = shibboleth.Conditions.FALSE | ||
| + | </ | ||
| + | |||
| + | |||
| + | Conf/ | ||
| + | |||
| + | Folgende Zeile einkommentieren: | ||
| + | < | ||
| + | <bean id=" | ||
| + | </ | ||
| + | |||
| + | In der v5 scheint das Subject zur ID Bestimmung anders zu funktionieren. | ||
| + | |||
| + | **Nur für v4.1.x und früher, v5 braucht diese Einstellungen NICHT** | ||
| + | |||
| + | |||
| + | |||
| + | nano conf/ | ||
| + | < | ||
| + | < | ||
| + | forCanonicalization=" | ||
| + | id=" | ||
| + | principalAttributeName=" | ||
| + | </ | ||
| + | nano conf/ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | A list of attributes to search for a value to produce as the normalized subject name. | ||
| + | This will normally be something you resolve above. | ||
| + | --> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | **ENDE Konfig v4.x -->** | ||
| + | === Daten === | ||
| + | Im ersten Schritt die Attribute des Azure definieren, dazu wird unter conf/ | ||
| + | |||
| + | Dann müssen die Werte geladen werden, dazu einen neuen < | ||
| + | |||
| + | Conf/ | ||
| + | < | ||
| + | <import resource=" | ||
| + | </ | ||
| + | Einen neuen Connector im attribute-resolver.xml definieren. | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | Dann im attribute-filter.xml die Werte für die interne Verarbeitung freigeben. ACHTUNG, die TENANT-ID wieder ersetzen! | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Achtung V4.1.x und früher** | ||
| + | |||
| + | Die “Conf/ | ||
| + | |||
| + | **Es wird nur der AzureClaims.xml geladen damit, sollten die Attribute noch im Resolver definiert sein, nichts kaputt geht.** | ||
| + | |||
| + | Nano “conf/ | ||
| + | < | ||
| + | < | ||
| + | This is suitable for new installs but will usually produce duplicate Attribute | ||
| + | output if a legacy resolver file is used that contains AttributeEncoders. | ||
| + | --> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **ENDE Konfig v4.x --->** | ||
| + | |||
| + | Nun noch die Attribute zum SP freigeben, Beispiel: | ||
| + | |||
| + | nano conf/ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <Rule xsi: | ||
| + | <Rule xsi: | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Nun den Tomcat neustarten und es sollte die Anmeldung gelingen und die Daten an den SP übergeben werden. ENDE :) | ||
| + | |||