SURFconext Cookbook Het koppelen van Alfresco aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 8 december 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030 - 2 305 305 [email protected] www.surfnet.nl ING Bank NL54INGB0005936709 KvK Utrecht 30090777 BTW NL 0089.60.173.B01 Het koppelen van Alfresco aan SURFconext Inhoudsopgave 1 Inleiding ........................................................................................................................................... 3 1.1 Benodigdheden ....................................................................................................................... 3 1.2 Stappenplan ............................................................................................................................ 3 2 Voorbereiding ................................................................................................................................. 4 2.1 Alfresco .................................................................................................................................... 4 2.2 SURFconext gebruiken als Service Provider (SP) .................................................................. 4 3 Aan de slag ..................................................................................................................................... 6 3.1 Voorbereiding .......................................................................................................................... 6 3.2 Shibboleth testen met het Do It Yourself (DIY) platform .......................................................... 6 3.3 SAML authenticatie in Alfresco implementeren ....................................................................... 7 3.4 Dienst naar productie brengen ................................................................................................ 7 3.5 Alfresco Updates ..................................................................................................................... 8 Deze publicatie is gelicenseerd onder een Creative Commons Naamsvermelding 3.0 Unported licentie Meer informatie over deze licentie vindt u op http://creativecommons.org/licenses/by/3.0/deed.nl Het koppelen van Alfresco aan SURFconext 1 Inleiding Met behulp van SURFconext is het mogelijk om op eenvoudige wijze (cloud)diensten beschikbaar te maken voor werknemers, onderzoekers, docenten en studenten. In deze handleiding wordt uitgelegd welke stappen een instelling moet maken om Alfresco te hosten en te koppelen aan SURFconext. Alfresco is binnen een organisatie breed te in te zetten. Iedere use-case waarbij gebruikers in een team samenwerken en content creëren is Alfresco in te zetten. Alfresco kan een belangrijke pijler van een Digitale Leer Werkomgeving (DLWO) zijn. Deze handleiding is geschreven voor IT architecten en ontwikkelaars. Basiskennis over het inrichten van een Linux server, webserver en PHP is verreist. 1.1 Benodigdheden • • 1.2 server (Ubuntu Linux, Apache, PHP); SSL Certificaat. Stappenplan 1. 2. 3. 4. 5. 6. voorbereiding; installeren Shibboleth; Shibboleth testen; Alfresco installeren; SAML authenticatie implementeren in Alfresco; de dienst naar de productieomgeving brengen. 3/8 Het koppelen van Alfresco aan SURFconext 2 Voorbereiding 2.1 Alfresco Alfresco is een flexibel Open Source Content Management programma met de stabiliteit van een enterprise platform. Hiermee is het een voordelig alternatief voor duurdere systemen zoals SharePoint en Filenet. Alfresco bestaat uit de onderdelen: • • • • document management; records management; web content management; collaboration. Meer informatie over Alfresco is te vinden op: www.alfresco.com. 2.2 SURFconext gebruiken als Service Provider (SP) SURFconext is een middleware laag die ervoor zorgt dat een gebruiker veilig toegang krijgt tot meerdere diensten. Deze diensten integreren naadloos met de bestaande online omgeving van de eigen instelling. SURFconext is het beste te vergelijken met een groot schakelpaneel waar aan de ene kant de authenticatie-systemen (IdP’s) van alle SURFnet aangesloten instellingen zijn gekoppeld en aan de andere kant de cloud- en instellingsdiensten. Dit schakelpaneel zorgt ervoor dat als een gebruiker probeert te authentiseren bij een dienst deze wordt doorgestuurd naar de authenticatie-pagina van zijn of haar eigen instelling. Indien er succesvol wordt geauthentiseerd krijgt de gebruiker toegang tot de betreffende dienst. SURFconext werkt met het ‘single sign on’ principe. Dit betekent eenmaal geauthentiseerd binnen SURFconext kan een gebruiker ook andere diensten gebruiken zonder opnieuw te hoeven inloggen. 2.2.1 SAML Het koppelen van diensten aan SURFconext vindt plaats via de Security Assertion Markup Language (SAML) standaard. Een aan te sluiten dienst dient deze standaard dan ook te ondersteunen. Als dienstaanbieder is het daarom noodzakelijk om SAML te implementeren door naast een dienst ook een SAML service provider te installeren. Deze is beschikbaar voor de meest voorkomende programmeertalen zoals Java, PHP en .NET. Daarnaast is het ook mogelijk om programmeertaal onafhankelijk een dienst aan te sluiten op SURFconext door een Shibboleth proxy voor een dienst te zetten. Afhankelijk van de dienst wordt er een passende SAML implementatie gekozen. Alfresco maakt gebruik van een Shibboleth proxy die de communicatie met SURFconext afhandelt. 2.2.2 Identity Provider Een identity provider (IdP) verstrekt gegevens over de identiteit van de gebruiker waardoor authenticatie van de gebruiker mogelijk is. Om als gebruiker toegang te krijgen tot een dienst moet er worden geauthentiseerd bij een IdP. Op deze manier kan worden gecontroleerd wie de betreffende persoon is en welke identiteiten bij deze 4/8 Het koppelen van Alfresco aan SURFconext persoon horen. Authentiseren gebeurt in de meeste gevallen middels een gebruikersnaam en wachtwoord. Iedere instelling die aangesloten is bij SURFnet heeft een eigen IdP, gekoppeld aan SURFconext. Om instellingsoverstijgend samen te kunnen werken is het belangrijk om te weten of de betreffende instellingen zijn aangesloten bij SURFconext. ! Meer informatie over IdP’s is te vinden op de volgende url: https://wiki.surfnet.nl/display/surfconextdev/Verbonden+Identity+Providers 2.2.3 Attributen Om een dienst te kunnen gebruiken moet bekend zijn van welke attributen de SURFconext aangesloten dienst gebruik maakt. Attributen zijn kenmerken van gebruikers, zoals e-mailadres, voornaam, achternaam en organisatie waarvoor iemand werkzaam is. ! Meer informatie over attributen is te vinden op de volgende url: https://wiki.surfnet.nl/display/surfconextdev/Attributes+in+SURFconext Nadat een gebruiker succesvol is geauthentiseerd, worden de vrijgegeven attributen beschikbaar gesteld aan de betreffende dienst. Een dienst kan deze informatie vervolgens gebruiken voor bijvoorbeeld het aanmaken van een gebruikersprofiel. Alfresco maakt gebruik van de volgende attributen: • • • • NameID (uniek id waaraan een gebruiker kan worden herkend); givenName (bevat de voornaam van een gebruiker); sn (bevat de achternaam van een gebruiker); mail (bevat het e-mailadres van een gebruiker). 5/8 Het koppelen van Alfresco aan SURFconext 3 Aan de slag 3.1 Voorbereiding Voordat Shibboleth en Alfresco kunnen worden geïnstalleerd, dient eerst een webserver te worden geïnstalleerd op het operating system (zoals bijvoorbeeld Apache). Daarnaast dient de verbinding beveiligd te worden met een officieel ondertekend SSL certificaat. Gegevens worden hierdoor versleuteld zodat alle informatie tijdens het ‘transport’ vertrouwelijk blijft en niet leesbaar is voor derden. 3.1.1 Installeren Shibboleth Na de installatie van de webserver kan worden begonnen met de installatie van de Shibboleth proxy. Shibboleth verzorgt de SAML connectie met SURFconext, de software zorgt er onder andere voor dat een gebruiker tijdens het authentiseren wordt doorgestuurd naar SURFconext en geeft na een succesvolle authenticatie de vrijgegeven attributen via de webserver door aan Alfresco. Shibboleth is een open source Single Sign-On applicatie. Omdat Shibboleth op het niveau van de http server functioneert, is er geen programmeertaal specifieke configuratie vereist. Daarom kan elke webapplicatie Shibboleth gebruiken als authenticatie proxy. ! Een installatiehandleiding van Shibboleth is te vinden via de url: https://wiki.surfnet.nl/display/surfconextdev/My+First+SP+-+Shibboleth 3.2 Shibboleth testen met het Do It Yourself (DIY) platform Als Shibboleth is geïnstalleerd kan deze worden getest. Dit kan door de dienst te laten aansluiten op de Do It Yourself (DIY) omgeving van SURFconext. Met behulp van deze omgeving kan worden ingelogd op de dienst en is het mogelijk om de connectie tussen SURFconext en de dienst te controleren op een correcte werking. Een aansluiting op de DIY-omgeving kan worden aangevraagd bij SURFconext-beheer door een email te sturen naar: [email protected]. De volgende gegevens van de betreffende dienst moeten worden aangeleverd bij SURFconextbeheer: • • • • • • • Naam van dienst in het Nederlands en Engels. Administratief contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Technisch contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Support contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Logo van de dienst (max. Afmetingen 500 x 300 px, png-formaat; transparant). Attributen die moeten worden vrijgegeven. URL met metadata van de betreffende dienst. 6/8 Het koppelen van Alfresco aan SURFconext 3.3 SAML authenticatie in Alfresco implementeren Om authenticatie via Shibboleth in Alfresco mogelijk te maken, moeten enkele aanpassingen binnen Alfresco worden uitgevoerd. Deze aanpassingen staan beschreven op de volgende website: https://github.com/Frankniesten/Alfresco-OpenConext. 3.4 Dienst naar productie brengen Indien de dienst klaar is voor gebruik, kan deze worden aangesloten op de productieomgeving van SURFconext. Dit kan worden aangevraagd bij SURFconext-beheer door een email te sturen naar: [email protected]. De volgende gegevens moeten daarbij worden aangeleverd: • • • • • • • • • • • • • • • • ! 3.4.1 Naam van de IDP die moet worden aangesloten op de dienst. Naam van dienst in het Nederlands en Engels. Omschrijving van de dienst in het Nederlands en Engels. Administratief contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Technisch contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Support contactpersoon o Voor- en achternaam o E-mailadres o Telefoonnummer Logo van de dienst (max. Afmetingen 500 x 300 px, png-formaat; transparant). OrganizationDisplayName: Displaynaam van de leverancier. OrganizationName: Formele naam van de leverancier. OrganizationURL: URL naar de website van de leverancier. URL naar de ‘end user agreement’. URL met support informatie over de dienst. Het formaat van het NameID. Attributen die moeten worden vrijgegeven Lijst met IdP’s die toegang moeten hebben. URL met metadata van de betreffende dienst . Meer informatie over het aansluitproces is te vinden op de website: https://wiki.surfnet.nl/display/surfconextdev/My+First+SP+-+Shibboleth Meerdere IdP’s koppelen Indien er meerdere IdP’s dienen te worden gekoppeld aan de instellingsdienst kan dit door de aanvraag te mailen naar SURFconext-beheer. Het is aan te bevelen om vooraf de instellingscontactpersoon van de betreffende instelling(en) te informeren over het aanstaande koppelingsverzoek. 7/8 Het koppelen van Alfresco aan SURFconext 3.5 Alfresco Updates Regelmatig worden er nieuwe versies van Alfresco uitgebracht. Deze releases bevatten naast, nieuwe functionaliteiten, ook beveiligingsupdates die er voor zorgen dat de dienst veilig blijft en er geen beveilingslekken ontstaan. Het wordt dan ook aangeraden om Alfresco regelmatig te updaten. Alfresco moet worden ge-üpdate volgens de procedure zoals deze door de ontwikkelaars is opgesteld. Vervolgens dient de koppeling met de Shibboleth proxy opnieuw geconfigureerd te worden. ! Meer informatie over het Alfresco update proces is te vinden op de website: http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Ftasks%2Fup grade-process.html. 8/8
© Copyright 2024 ExpyDoc