Inhalt

Support für externe Einrichtungen (via SSO)

Die FAUBox des RRZE befindet derzeit im Testbetrieb für die Anbindung externer Einrichtungen via SSO. Bis zum Start des Produktivbetriebes ensteht an dieser Stelle die Dokumentation zur Anbindung.

Bitte beachten Sie, das sich diese Seite noch im Aufbau befindet und mit den Erfahrungen aus dem Testbetrieb ständig erweitert und aktualisiert wird.


FAUBox für alle!

Seit 20.04.2016 steht eine Testinstanz der FAUbox auch für externe Einrichtungen bzw. andere Hochschulen zur Nutzung bereit. Die Authentifizierung erfolgt über SSO (Single Sign On) unter Nutzung des jeweiligen Identity Providers (IdP) der Heimathochschule.

Das SSO Verfahren ist für viele webbasierte Dienste bereits sehr verbreitet. Neuerdings können allerdings über die ECP (Enhanced client or proxy) Erweiterung des SSO-Standards nicht nur Webseiten sondern auch Anwendungen wie der FAUbox Client und auch die entsprechenden Handy-Apps über SSO authentifiziert werden.

Dies ermöglicht es die Sync & Share Dienste der FAUbox in vollem Umfang auch anderen Hochschulen zur Verfügung zu stellen.

Bei Interesse wenden Sie sich gerne an rrze-faubox@fau.de

FAQ

Links

Eine kleine Linksammlung zu nützlichen Informationen im Web.


Wie funktioniert die Nutzung der FAUbox?

Alle nötigen Storage- und Server-Systeme werden vom RRZE (Regionales Rechenzentrum Erlangen) gestellt und betrieben. Lediglich die Benutzerauthentifizierung findet via SSO auf dem IdP der Heimateinrichtung statt und muss entsprechend konfiguriert werden.

Nach erfolgreicher Anbindung kann die FAUbox über Webbrowser, Desktop-Client und Handy-App genutzt werden.
Versionen der Anwendungen stehen für alle gängigen Systeme zur Verfügung.

Was brauche ich für die Anbindung an die FAUbox?

Anbindung über DFN-AAI Föderation

Der FAUbox-SP (Service Provider) ist Mitglied der DFN-AAI Föderation.
Im Optimalfall ist daher z.B. ein Shibboleth IdP für Web-SSO bereits vorhanden und ist Mitglied der DFN-AAI Föderation. So bekommt Ihr IdP alle nötigen Informationen direkt aus der DFN-AAI Föderation.

Sollte noch kein IdP vorhanden sein kann dieser nach der Anleitung auf der DFN Homepage entsprechend eingerichtet werden:

Wichtig!
Da die FAUbox nicht pauschal allen Mitgliedern der DFN-AAI Föderation zur Verfügung gestellt wird, muss abschließend noch Ihr IdP bei uns freigeschalten werden.
Teilen Sie uns hierfür bitte abschließend die einzutragende EntityId ihres IdPs mit.

Anbindung ohne Föderation

Falls eine Anbindung über die DFN-AAI Föderation nicht möglich sein sollte, kann in Ausnahmefällen auch eine direkte Anbindung einzelner IdPs erfolgen.

Bitte nehmen Sie in diesem Fall mit uns Kontakt auf (rrze-faubox@fau.de).

Woher bekomme ich die Metadaten des FAUbox SP?

Die Metadaten des „FAUbox TEST“ Service Providers können Sie unter
https://fauboxtest.rrze.uni-erlangen.de/Shibboleth.sso/Metadata
herunterladen.

Die Metdaten der Produktivversion der „FAUbox“ werden bei Aktivierung der SSO-Funktionalität unter
https://faubox.rrze.uni-erlangen.de/Shibboleth.sso/Metadata
zum Download verfügbar sein.

Welche Attributfreigaben benötigt die FAUbox?

Neben einigen Standardattributen zur Accountverwaltung sind haben insbesondere die folgenden Attribute eine besondere Bedeutung:

  • o, organizationName
    Wird verwendet, um die Person Ihrer Organisation zuzuordnen.
    Dieses Attribut ermöglicht eine eindeutige Zuordnung zu Ihrer Organisation und muss bei allen Mitgliedern auf den gleichen Wert gesetzt sein.
  • eduPersonEntitlement (urn:rrze:entitlement:faubox:user)
    Wird verwendet, um Zugang zur FAUbox zu gewähren.
    Dieses Attribut muss für alle Benutzer, denen Sie Zugang zur FAUbox ermöglichen möchten, auf urn:rrze:entitlement:faubox:user gesetzt sein, bzw. diesen Wert enthalten.

Insgesamt müssen die folgende Attributfreigaben in der Datei attribute-filters.xml konfiguriert werden:

<AttributeFilterPolicy id="faubox">
    <PolicyRequirementRule xsi:type="OR">
        <Rule xsi:type="Requester" value="https://faubox.rrze.uni-erlangen.de/shibboleth" />
        <Rule xsi:type="Requester" value="https://fauboxtest.rrze.uni-erlangen.de/shibboleth" />
    </PolicyRequirementRule>

    <AttributeRule attributeID="eduPersonPrincipalName">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="eduPersonScopedAffiliation">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="givenName">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="mail">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="sn">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="o">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>

    <AttributeRule attributeID="eduPersonEntitlement">
        <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
</AttributeFilterPolicy>

Wie konfiguriere ich ECP für die Anbindung der FAUbox Clients/Apps?

ECP für Client Anwendungen stellt einen zusätzlichen Weg dar, Authentifizierung gegen die bereits vorhandene SSO-Benutzerbasis durchzuführen. Die Technik nutzt allerdings andere Mechanismen, die parallel zum Web-SSO konfiguriert und eingerichtet werden müssen (siehe auch cilogon.org ecp, Schaubild am Ende der Seite).

Bei Problemen hat der DFN eine umfangreiche Dokumentation zur Konfiguration des Shibboleth 3 IdP erstellt, die viele wertvolle Informationen enthält (siehe Konfiguration des Shibboleth IdP 3.x).

1. Metadaten aktualisieren

Vorraussetzung für die Nutzung von ECP ist das Einrichten eines funktionierenden ECP SOAP/PAOS Endpunktes am IdP. Um den Endpunkt nach außen bekannt zu machen, muss dieser zunächst in den Metadaten des IdPs ggf. ergänzt werden (DFN-Login).

Konfiguration des ECP Endpunktes in den DFN-Metadaten

2. Apache Proxy Konfigurieren

Zur Absicherung des eben konfigurierten ECP Endpunktes muss Basic Authentication für die eingetragene Location konfiguriert werden. Auch wenn es prinzipiell möglich ist, dies mit dem Shibboleth IdP und Tomcat direkt umzusetzen, ist dies nur recht umständlich möglich (siehe auch IDP3+ECP+with+Tomcat+and+Apache-Managed+Authentication).
Im Folgenden wird daher die Konfiguration von Basic Auth an einem vorangestellten Apache 2.4 Proxy mittels mod_proxy_http und  mod_authnz_ldap beschrieben.

Reverse Proxy Konfiguration

Im VirtualHost Eintrag des IdP ist die Weiterleitung der Anfragen an das Shibboleth Backend wie folgt zu konfigurieren (siehe auch mod_proxy_http):

ProxyPass         /idp/profile/SAML2/SOAP/ECP http://[IDP-IP]:8080/idp/profile/SAML2/SOAP/ECP
ProxyPassReverse  /idp/profile/SAML2/SOAP/ECP http://[IDP-IP]:8080/idp/profile/SAML2/SOAP/ECP

Basic Authentication Konfiguration

Im VirtualHost Eintrag des IdP kann die Basic Authentifizierung wie folgt aktiviert werden (siehe auch mod_authnz_ldap):

<Location /idp/profile/SAML2/SOAP/ECP>
    AuthType Basic
    AuthName "FAU Shibboleth Identity Provider - ECP profile"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://[SSO-LDAP-IP]:389/[SEARCH-BASE-DN]?uid" STARTTLS
    AuthLDAPBindDN "[BIND-DN]"
    AuthLDAPBindPassword "[BIND-PASSWORD]"
    Require valid-user
</Location>

Die beschriebene Variante nutzt einen speziellen Benutzer, um die Suche bei Authentifizierungsanfragen durchzuführen. Standardmäßig würde das Apache Modul die Suche nach einem Anonymous Bind durchführen, was aus Sicherheitsgründen am LDAP Server deaktiviert wurde.

3. Shibboleth 3 IdP Konfigurieren (nameIDFormatPrecedence)

Um die korrekte Übertragung der persistentID sicherzustellen, muss die Konfiguration des SAML2.ECP Endpuktes in der conf/relying-party.xml noch wie unten angepasst werden (siehe auch PersistentNameIDGenerationConfiguration und RelyingPartyConfiguration):

<bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty">
       <property name="profileConfigurations">
           <list>
               <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
               <ref bean="SAML1.AttributeQuery" />
               <ref bean="SAML1.ArtifactResolution" />
               <bean parent="SAML2.SSO" p:encryptAssertions="false" p:postAuthenticationFlows="attribute-release" p:nameIDFormatPrecedence="#{{'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'}}"/>
               <!--<ref bean="SAML2.ECP" />-->
               <bean parent="SAML2.ECP" p:nameIDFormatPrecedence="#{{'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'}}" />
               <ref bean="SAML2.Logout" />
               <ref bean="SAML2.AttributeQuery" />
               <ref bean="SAML2.ArtifactResolution" />
               <ref bean="Liberty.SSOS" />
           </list>
       </property>
   </bean>

4. Test

Sie können die Funktion des Apache Proxies mit Basic Authentifizierung einfach testen, indem Sie die URL des ECP Endpunktes direkt in einem Webbrowser aufrufen.
In unserem Fall wäre das https://www.sso.uni-erlangen.de/idp/profile/SAML2/SOAP/ECP
(Sie würden dementsprechend die Domain mit der Ihres Apache Proxies ersetzen).

Bei funktionierender Apache Konfiguration sollte das bekannte Fenster zur Basic Authentifizierung auffordern und nachdem Sie sich mit Ihren Login-Daten an Ihrem SSO-LDAP authentifiziert haben, sollte folgende Fehlermeldung erscheinen:

ecp-test

Wenn soweit alles funktioniert, können Sie mit dem vollständigen Test der ECP Konfiguration durch Verwenden der FAUbox Clients fortfahren (siehe: Wie kann ich die Anbindung testen? > Client-Login via ECP)

Wie kann ich die Anbindung testen?

Die Testinstanz der FAUbox ist zu erreichen unter https://fauboxtest.rrze.uni-erlangen.de.

1. Web-Login

Testen Sie bitte immer als Erstes, ob der Web-Login funktioniert.
Dazu gehen Sie wie folgt vor:

  1. Rufen Sie https://fauboxtest.rrze.uni-erlangen.de in einem Webbrowser Ihrer Wahl aus und wählen Sie „SSO Anmeldung“.
    Falls das nicht funktioniert, steht alternativ unter „SSO Anmeldung (DFN-AAI)“ auch der WAYF-Service des DFN zur Verfügung.
  2. Im darauffolgenden Auswahldialog wählen Sie Ihre Heimateinrichtung aus.
  3. Authentifizieren Sie sich mit Ihrem Benutzernamen und Passwort am IdP Ihrer Heimateinrichtung.
  4. Nach erfolgreicher Authentifizierung sollten Sie auf das FAUbox Webfrontend weitergeleitet werden.

Nach erfolgreichem Web-Login können Sie den Client-Login via ECP testen.

2. Client-Login via ECP (Desktop-Clients und Handy-Apps)

Hinweis: Während des Testbetriebes müssen diverse Einstellungen vorgenommen werden, die im späteren Produktivbetrieb entfallen. Ebenso muss die generische PowerFolder App statt der offiziellen FAUbox App verwendet werden.

Test des Desktop-Client
  1. Laden Sie den Desktop-Client für Ihr System von https://fauboxtest.rrze.uni-erlangen.de/download_client herunter und installieren Sie das Paket auf Ihrem System.
  2. Nur für den Testbetrieb:
    Nach dem Start des Desktop-Clients ändern Sie
    Einstellungen > Erweitert >Server auf https://fauboxtest.rrze.uni-erlangen.de
    und bestätigen Sie mit OK.
  3. Nach Neustart der Client-Anwendung sollte Ihnen ein Login Dialog mit einer Auswahlmöglichkeit für Ihre Heimateinrichtung angezeigt werden.
    Bitte wählen Sie Ihre Heimateinrichtung aus der Liste aus und authentifizieren Sie sich mit Ihrem Benutzernamen und Passwort.
  4. Nach erfolgreicher Authentifizierung sollten Ihnen alle Funktionen des FAUbox Clients zur Verfügung stehen.
Test der Handy-App
  1. Nur für den Testbetrieb:
    Installieren Sie die generische FAUbox App auf Ihrem mobilen Gerät (z.B. PowerFolder für Android)
  2. Nur für den Testbetrieb:
    Starten Sie die App und konfigurieren Sie bei Anzeige der Login-Maske https://fauboxtest.rrze.uni-erlangen.de als Server.
  3. Nach Neustart der FAUbox App sollte Ihnen ein Login Dialog mit einer Auswahlmöglichkeit für Ihre Heimateinrichtung angezeigt werden.
    Bitte wählen Sie Ihre Heimateinrichtung aus der Liste aus und authentifizieren Sie sich mit Ihrem Benutzernamen und Passwort.
  4. Nach erfolgreicher Authentifizierung sollten Ihnen alle Funktionen der FAUbox App zur Verfügung stehen.