Download publicatie

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