Shibboleth is een gratis en opensourceproduct dat een gefedereerde identiteitsoplossing biedt om gebruikers te verbinden met toepassingen, zowel binnen als buiten instellingen. Het flexibele SSO Module Provider-framework van Lumina is ontworpen om een breed scala aan identiteitsoplossingen te ondersteunen, waardoor u Shibboleth in een paar eenvoudige stappen volledig in uw infrastructuur kunt integreren.
Overzicht
Dit document begeleidt gebruikers bij het integreren van de Shibboleth IDP-server van hun instelling als SSO-systeem om gebruikers met het SAML 2.0-protocol bij Lumina in te laten loggen. Na correcte configuratie kunnen gebruikers een door de serviceprovider (SP) geïnitieerde aanmelding uitvoeren, worden doorgestuurd naar de identiteitsprovider (IDP) en om hun inloggegevens gevraagd, succesvol worden geauthenticeerd en vervolgens teruggestuurd naar Lumina, waar ze als gebruiker zijn ingelogd.
Shibboleth-installatie
De installatie omvat het maken van de SP-metadata voor Lumina en het toevoegen ervan als SP-metadataprovider voor de Shibboleth IDP. Daarna kunt u door de communicatie met de IDP in Lumina te configureren het nieuwe SSO-systeem testen en activeren.
Klik hier voor instructies voor het opbouwen van de SP-metadata.
Opmerking: Voor sommige stappen moet <organization> worden vervangen door de wildcard-DNS van de organisatie die aan Lumina is gekoppeld. Voor “https://hudson.yuja.com” wordt <organization> bijvoorbeeld vervangen door “hudson”.
De SP-metadata maken
- Ga naar https://www.samltool.com/sp_metadata.php.
-
Voer de volgende parameters in:
Parameter Waarde EntityId https://<organization>.yuja.com Attribute Consume Service Endpoint
(HTTP-POST)
https://<organization>.yuja.com/D/SamlReceiveResponse NameId Format urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress AuthnRequestsSigned False WantAssertionsSigned True - Laat de overige velden leeg en klik vervolgens op BUILD SP METADATA.
- Kopieer de tekst in het tekstveld SP Metadata.
- Open een willekeurige teksteditor. Plak de gekopieerde tekst en sla deze op als .xml-bestand. Sla het .xml-bestand op een handige locatie op, want u hebt het in de volgende stap nodig.
Shibboleth IDP-configuratie
- Open in de map van uw Shibboleth IDP het bestand %IDP_HOME%/conf/metadata-providers.xml in een willekeurige teksteditor.
- Voeg binnen het element <MetadataProvider> met xsi:type=”ChainingMetadataProvider” het volgende element toe, waarbij <someId> wordt vervangen door een geschikte identificatiestring: <MetadataProvider id="<someId>" xsi:type="FilesystemMetadataProvider" metadataFile="C:\path\to\YuJa\metadata" />
- Zorg ervoor dat de IDP de volgende attributen in het SAML-antwoord aan Lumina vrijgeeft:
- Principal Name (d.w.z. gebruikersnaam)
- Voornaam
- Achternaam
-
Rol
Opmerking: De attribuutnamen die in het SAML-antwoord worden gebruikt, heeft Lumina nodig om gebruikers in te richten en aan te maken. Geef deze waarden na de configuratie aan Lumina door.
De Role-claim wordt gebruikt om te bepalen of gebruikers worden geprovisioneerd als student (de standaardinstelling) of uitgebreidere rechten krijgen (docent/IT-manager). De voorgestelde waarden voor dit veld zijn IT Manager en Instructor (voor gebruikers aan wie u respectievelijk IT-manager- of docentrechten wilt geven), maar u kunt bestaande of aangepaste waarden gebruiken.
- Lumina versleutelt authenticatieverzoeken niet en herkent geen versleutelde antwoorden. De IDP moet daarom zo worden geconfigureerd dat versleuteling optioneel is:
- Open %IDP_HOME%/conf/idp.properties in een willekeurige teksteditor.
- Voeg indien nodig de volgende regel toe aan het eigenschappenbestand: idp.encryption.optional = true
- Open het IDP-metadatabestand, dat zich bevindt in %IDP_HOME%/metadata/idp-metadata.xml. U hebt dit nodig om de Lumina-kant te configureren.
SAML-configuratie in Lumina
Nadat de IDP is geconfigureerd, moet de SP worden geconfigureerd om met de IDP te communiceren. Sommige configuratieparameters vindt u in de IDP-metadata. Volg de onderstaande stappen om Shibboleth met Lumina te integreren.
- Log in bij Lumina als IT-manager en ga naar Admin Paneel → Integraties.
- Kies onder Selecteer integratie SSO – Shibboleth (SAML).
-
Voer de volgende gegevens in. Wanneer u het SSO-systeem voor het eerst aanmaakt, kunt u de velden voor gebruikersprovisioning leeg laten, zodat u eerst SAML-login testen kunt uitvoeren om de waarden op te halen. U kunt de waarden altijd later invoeren en uw configuratie opslaan.
Attribuut Verplicht? Beschrijving Shibboleth SSO-URL Ja De URL die voor SSO wordt gebruikt. Hier verstuurt Lumina AuthnRequest-tokens naartoe.
Te vinden in de Shibboleth IDP-metadata onder:
<IDPSSODescriptor> → <SingleSignOnService>
Zoek het element met de binding “SAML:2.0:bindings:HTTP-Redirect” en gebruik het attribuut “Location” van die tag.
Bijvoorbeeld: https://idp.example.com/idp/profile/SAML2/Redirect/SSO
Name ID-indeling Ja De indeling die de SP en de IDP gebruiken wanneer ze over een onderwerp communiceren.
Te vinden in de Shibboleth IDP-metadata onder:
<IDPSSODescriptor> → <NameIDFormat> als de waarde van die tag. Houd er rekening mee dat emailAddress, indien beschikbaar, de voorkeur heeft en moet worden gebruikt.
Bijvoorbeeld: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
Externe uitlog-URL Momenteel niet ondersteund Laat deze waarde leeg. Thumbprint van Shibboleth-ondertekeningscertificaat Nee, maar sterk
aanbevolen
De unieke vingerafdruk van het certificaat van de IDP dat wordt gebruikt om SAML-antwoorden te ondertekenen.
De thumbprint staat niet expliciet in de metadata, maar het certificaat waarmee het SAMLResponse of de Assertion wordt ondertekend wel.
Zie voor meer informatie het gedeelte De vingerafdruk van een certificaat afleiden in dit document.
Bijvoorbeeld: 7j2mka9cfe2d09j23eefe01442f6a49d1222391f
Voornaamattribuut Nee De naam van het attribuut in het SAML-antwoord** waarin de voornaam (given name) van de gebruiker staat.
Bijvoorbeeld: urn:oid:2.5.4.42
Achternaamattribuut Nee De naam van het attribuut in het SAML-antwoord** waarin de achternaam (family name) van de gebruiker staat. - Bijvoorbeeld: urn:oid:2.5.4.4 E-mailattribuut Nee De naam van het attribuut in het SAML-antwoord** waarin het e-mailadres van de gebruiker staat.
Bijvoorbeeld: urn:oid:0.9.2342.19200300.100.1.3
Rolattribuut Nee De naam van het attribuut in het SAML-antwoord** waarin de rol van de gebruiker staat.
Bijvoorbeeld: urn:oid:1.3.6.1.4.1.5923.1.1.1.5
IT-manager Nee Er kan een door komma's gescheiden lijst met waarden worden gebruikt
Als de waarde die in het rolattribuut wordt ontvangen overeenkomt met een van deze waarden, wordt de gebruiker als IT-manager geprovisioneerd.
Bijvoorbeeld: IT Manager
Docent Nee Er kan een door komma's gescheiden lijst met waarden worden gebruikt
Als de waarde die in het rolattribuut wordt ontvangen overeenkomt met een van deze waarden, wordt de gebruiker als docent geprovisioneerd.
Bijvoorbeeld: Instructor of Instructor,Teacher,TA
Gegevens automatisch synchroniseren bij inloggen van gebruiker Nee Indien ingeschakeld worden de basisgegevens van een gebruiker, telkens wanneer deze via Shibboleth inlogt, bijgewerkt op basis van de gegevens in het SAML-responstoken. Opmerking: Om een voorbeeld van een SAML-antwoord te verkrijgen, volgt u eerst de instructies onder Handige Chrome-extensie voor het debuggen van SAML-tokens in het gedeelte Aanvullende hulpmiddelen van dit document. Voer na het installeren van de extensie SAML-login testen uit, zoals beschreven in stap 7 van dit gedeelte. Zorg ervoor dat de extensie geopend is voordat u inlogt, zodat deze het SAML-responstoken kan lezen.
- Klik op Creëren.
- Klik in het bevestigingsdialoogvenster op OK .
- Indien nodig kunt u de configuratie-instellingen bijwerken als u een fout hebt gemaakt. Klik gewoon op Opslaan om de wijzigingen te bewaren.
- Om te testen of de configuratie correct is, klikt u in de rechterbovenhoek op SAML-login testen en volgt u de instructies. Hierdoor zou een nieuw tabblad moeten openen dat naar uw Shibboleth-server navigeert, waar u om inloggegevens wordt gevraagd.
- Voer geldige inloggegevens in en log in.
- U zou naar Lumina teruggestuurd moeten worden, ingelogd als nieuwe gebruiker. Log uit bij het nieuwe gebruikersaccount en log opnieuw in als IT-manager. Ga vervolgens terug naar Admin Paneel→ Integraties → SSO – Shibboleth (SAML).
- Zodra u hebt gecontroleerd dat Shibboleth SSO werkt, kunt u ervoor kiezen het nieuwe authenticatieschema voor uw instelling te activeren. Activeer het nieuwe authenticatieschema pas nadat u met succes een testlogin hebt uitgevoerd en u het voor alle gebruikers in uw instelling beschikbaar wilt maken. Klik hiervoor op Activeer en klik vervolgens op OK in het bevestigingsdialoogvenster.
Dubbele integratie met LTI
Als uw organisatie zowel LTI- als SAML SSO-toegang heeft ingeschakeld, kunt u ervoor kiezen de twee integraties te koppelen. Standaard krijgt een gebruiker die zowel via LTI als via SAML inlogt voor elke aanmelding een apart Lumina-account. Als uw LTI-provider is geconfigureerd om gebruikers via hun SAML-inloggegevens te authenticeren, is het mogelijk de twee accounts te koppelen, omdat de LTI-provider Lumina een unieke identificatie voor de gebruiker in het SAML-systeem doorgeeft.
- Configureer uw LMS zo dat het een aangepaste LTI-parameter met de naam lis_person_sourcedid doorgeeft die de overeenkomende SSO-waarde bevat. Dit kan een e-mailadres, personeelsnummer of een ander veld zijn. Lumina gebruikt deze functie om de twee aanmeldmethoden aan hetzelfde account te koppelen.
- Zoek de specifieke attribuutnaam op die in het SAML-responstoken wordt gebruikt en waarvan de waarde overeenkomt met de unieke identificatie die de LTI-provider gebruikt. Als de unieke identificatie bijvoorbeeld de sAMAccountName van de gebruiker is, kan het koppelingsattribuut 'urn:oid:1.2.840.113556.1.4.221' zijn. Raadpleeg de attribuutconfiguratie van uw IDP voor een lijst met mogelijke waarden.
- Voer deze waarde in bij het Koppelingsattribuut
- Klik op Opslaan.
- Wanneer een gebruiker nu voor het eerst via Shibboleth (SAML) inlogt, zoekt het Lumina-systeem met de waarde van het koppelingsattribuut naar een koppeling met een LTI-account. Als die wordt gevonden, wordt het aan Shibboleth gekoppelde account gekoppeld aan het bestaande, aan LTI gekoppelde account. Anders wordt, zoals gebruikelijk, een nieuw account geprovisioneerd. Alle aanmeldingen na de eerste blijven gekoppeld aan het Lumina-account dat bij de eerste aanmelding is aangemaakt of gevonden.
Gebruik
Zodra beide kanten zijn geconfigureerd en SAML SSO is geactiveerd, is het eenvoudig om te testen of alles correct is uitgevoerd.
- Ga naar het Lumina-domein van de organisatie (https://<organization>.yuja.com) en klik op Inloggen. De gebruiker zou nu moeten worden doorgestuurd naar de inlogpagina van de Shibboleth IDP-server.
- Voer geldige inloggegevens in en log in.
- Zodra de gebruiker is geauthenticeerd, zou hij of zij terug naar Lumina moeten worden doorgestuurd.
Aanvullende hulpmiddelen
De vingerafdruk van een certificaat afleiden
De vingerafdruk van het certificaat van de IDP wordt gebruikt voor extra beveiliging wanneer de SP een SAML-antwoord van de IDP verifieert. Volg de onderstaande instructies om de vingerafdruk van het certificaat af te leiden:
- Haal in de Google IDP-metadata het X509-certificaat op. Dit staat onder: <IDPSSODescriptor> →<KeyDescriptor use=”signing”> → <KeyInfo> → <X509Data> → <X509Certificate>
- Ga zodra u het certificaat hebt naar de volgende website: https://www.samltool.com/fingerprint.php.
- Plak het certificaat in het tekstvak “X509 cert”.
- Zorg ervoor dat “sha1” is geselecteerd als Algorithm.
- Klik op “Calculate Fingerprint”.
- Kopieer de gegenereerde “FingerPrint”-waarde. Dit is de waarde die in de database wordt gebruikt. De vingerafdruk moet een array van 20 bytes zijn voor “sha1”.
Handige Chrome-extensie voor het debuggen van SAML-tokens
Als u Chrome als webbrowser gebruikt, kunt u een handige SAML-extensie installeren via: https://chrome.google.com/webstore/detail/saml-chrome-panel/paijfdbeoenhembfhkhllainmocckace?hl=en. Open na de installatie gewoon de ontwikkelaarstools van de browser (F12) en klik op het tabblad SAML. Wanneer u nu een door de SP geïnitieerde aanmelding uitvoert, worden de SAML-tokens die door de browser worden verstuurd gedetailleerd weergegeven. Dit hulpmiddel kan zeer nuttig zijn bij het debuggen van SAML-verzoeken en -antwoorden.