Federation (=samtliga deltagande system litar på varandra)
Download
Report
Transcript Federation (=samtliga deltagande system litar på varandra)
Systemkategorisering Shibboleth V.0.6 Ibland kan det vara svårt att förstå vad som menas med ”Shibboleth” och vad det innebär att ”koppla sitt system till Shibboleth” Federation (=samtliga deltagande system litar på varandra)
g
loggnin
n om in
Begära
illbaka
paket t
nt! Data
Godkä
Shibboleth IDP-‐
programvara
Ditt system
Shibboleth SP-‐
programvara
Användare
ditt-‐system.lu.se
Idp.lu.se
Shibboleth IDP-‐
programvara
Idp.uu.se
Shibboleth SP-‐
programvara
annat system
annat-‐system.lu.se
1. Shibboleth är ett samlingsnamn för ett antal programvaror. 2. Leverantören heter ”Shibboleth consortium”, och programvarorna är open source. 3. Programvarornas huvuduppgift är att erbjuda Web Single Sign-‐on både inom en organisation och inom en hel grupp av organisationer. 4. Programvarorna är en implementation av den öppna standarden ”SAML 2.0” – Security Assertion Markup Language, version 2. 5. De komponenter vi använder är: a. Shibboleth Identity Provider (IDP), som är ett centralt administrerat server-‐program som sköter inloggning, och sedan ”går i god” för den aktuella användaren. b. Shibboleth Service Provider (SP), som begär inloggning av en IDP när det krävs, och sedan släpper in användaren till ditt system. Detta är den del som du behöver installera. 6. Du behöver inte alls använda programvaror från Shibboleth för att vara med. Huvudsaken är att de använder standarden SAML 2.0. 7. En mängd IDP:er och SP:ar kan bestämma sig för att samarbeta och lita på varandra. Detta kallas Federation. Den federation som är aktuell för LU:s del heter SWAMID och är ett samarbete medan universitet och högskolor i sverige. 8. När du ”kopplar ditt system till Shibboleth” ber du egentligen samtliga medlemmar inom federationen att lita på ditt system, samtidigt som ditt system i sin tur litar på alla andra medlemmar i federationen. 9. Ditt system kan välja att acceptera inloggningar från många olika IDP:er. Exempelvis kan en användare på Uppsala Universitet logga in via Uppsalas IDP, för att sedan släppas in i ditt system. Man kan tom låta användaren själv välja vilken IDP som ska användas. Finns IDP:n med i federationen så accepterar ditt system inloggningen. 10. Efter att inloggningen genomförts levereras ett paket med information om användaren till ditt system. Ditt system behöver därför inte i framtiden göra slagningar mot LDAP för att ta reda på namn, epostadress eller annan data. För att koppla ditt system till LU:s Shibboleth-‐miljö finns det ett antal saker du behöver göra 1. Kategorisera ditt system system.lu.se
Ändamål
Målgrupp
Säkerhetskrav
Entitetskategori
Ditt system kommer att få tillgång till attribut baserat på sitt användningsområde samt de säkerhetskrav det uppfyller. Därför måste du kategorisera ditt system. Användning Vad används systemet till? Vad är dess ändamål? Målgrupp När ditt system ingår i SWAMID-‐federationen och använder Shibboleth kan samtliga personer som har ett giltigt uid/lösen inom federationen i princip logga in i ditt system. Dvs samtliga anställda och studenter inom sveriges högskolevärld. För att begränsa tillgången till ditt system måste du därför ställa upp ett antal krav på vem som ska släppas in. Exempel på målgrupper kan vara: •
•
•
•
•
Hela högskole-‐sverige inklusive studenter Anställda inom LU Studenter inom LU Anställda inom en viss fakultet eller institution Anställda med en viss tilldelad behörighet (entitlement) Följande information kan användas för att begränsa målgruppen: •
•
•
•
”affiliation”: student/anställd/alumni etc Läroanstalt Organisatorisk information som tillhörighet till fakultet, institution, kostnadsställe Entitlement, dvs behörigheter som tilldelats i vår centrala katalog Attributbehov Begäran om inloggning
Idp.lu.se
Godkänt! Data om användaren:
uid
namn
epost
org
system.lu.se
När en användare har loggat in i ditt system får du ett ”paket” med data om den aktuella användaren ifrån Shibboleth. Dessa data kallas attribut. Normalt behövs bara några få enkla attribut, men ibland kan ett system ha speciella behov. Se vilka attribut som kan levereras här: •
•
•
SWAMID standardattribut (beroende på entitetskategori) § länk Lokala LU-‐attribut § länk Attribut med specialregler § norEduPersonNIN § Lu-‐uid Har du speciella behov så prata med oss. Säkerhetskrav Utbyte av metadata mellan IDP, SP och SWAMID säkras genom XML-‐signering och utbyte av signeringscertifikat. Detta gör att du kan lita på informationen du får den vägen (och vice versa). Däremot är data inte krypterad. Kommunikationen mellan användarens browser och olika IDP:er (t ex idp.lu.se) är däremot krypterad (https). Kommunikationen mellan användarens browser och ditt system kan vara okrypterad men vi avråder starkt från detta. Välj entitetskategori(er) Det finns lagar som styr hur personinformation får göras tillgänglig till olika system, bl a svenska personuppgiftslagen (PUL) och olika EU-‐direktiv. Beroende på ditt systems ändamål, användningsområde och målgrupp får du därför tillgång till olika typer av information. Detta styrs inom SWAMID av systemets ”entitetskategori”. •
BAS Den lägsta nivån. Systemet uppfyller inga krav på målgrupp, användningsområde och säkerhet alls. •
Research & Education (RE) För system som används för administration av-‐ och samarbete inom forskning och utveckling •
CoC Om systemet vill ”tala om” att det följer EU:s ”GEANT Data protection Code of Conduct”, kan det läggas i denna kategori. I övrigt samma som RE-‐kategorin. •
SFS För system som faller inom SFS1993:1153 System som hanterar antagning och registrering av studenter och studentmeriter. För system som riktar sig till målgrupper inom LU har du möjlighet att få tillgång till mycket mer information. Ett systems Entitets-‐id är dess UNIKA NAMN inom en FEDERATION
Unikt namn: https://system.lu.se/shibboleth
Roll: SP
Certifikat: MIIDXDCCABAgIEU2tfcTANBgk…
Entitetskategorier: RE, CoC
2. Namnge ditt system Hostnamn/url Ditt system behöver ett riktigt hostnamn för att få ett korrekt entitets-‐id. Har du inget sådant så måste du beställa ett (CNAME). Entitetsid Detta är ditt systems unika identifierare inom hela SWAMID-‐federationen, och därmed inom LU. Entitetsid ska se ut som en URL: ”https://mitt-‐system.lu.se/shibboleth” Obs. URL:en används egentligen inte som en riktig URL utan det är bäst att se den som ett slags välstrukturerat namn. Dvs ”https://” följt av ditt systems hostnamn följt av ”/shibboleth”. 3. Anmäl ditt system Gemensam
metadata
SWAMID
Alla medlemmar i SWAMID-‐federationen (alltså alla deltagande IDP:er och SP:ar) måste veta lite om varandra: entitetsid, roll (om de är SP eller IDP), entitetskategori, certifikat, kommunikationsvägar osv. Denna information kallas Metadata. All denna information har samlats i en central XML-‐fil som går att hämta på följande URL (titta gärna på den!): •
http://md.swamid.se/md/swamid-2.0.xml Efter att ditt system är anmält kommer dess metadata att finnas med i denna fil. Samtliga deltagande system läser och förlitar sig på denna gemensamma data. På så sätt kan andra deltagande system samarbeta med ditt. Det finns även en mindre omfattande variant som bara innehåller IDP-‐metadata: •
http://md.swamid.se/md/swamid-idp.xml Denna kommer ditt system att läsa in. Din garanti för att metadata går att lita på är att den signerats med SWAMID:s publika certifikat: •
http://md.swamid.se/md/md-signer.crt För att släppa in ditt system i federationen behöver vi följande information: • Systemnamn • Användning/ändamål • Målgrupp • Kontaktperson • Entitetsid • Specialbehov av attribut • Hem-‐url (alltså till systemets förstasida) • Certifikat för signering • SWAMID entitetskategori Anmäl ditt system så här Vad får du för feedback? 4. Se till att din Apache web server är ny och komplett •
•
•
Ska vara minst Apache 2.2 mod_ssh måste vara installerad och konfigurerad Du behöver ett officiellt server-‐certifikat för att kunna köra https. Beställ här: o http://www.ca.lu.se/ 5. Hämta och installera Shibboleth Service provider Shibboleth (programleverantören) rekommenderar att Shibboleth SP 2.5.3 (”current stable version”) används. Det bästa sättet att lära sig mer om att installera en Shibboleth Service Provider (SP) är att titta på SWAMID:s webinar om detta. Gå in på följande länk och välj sedan länken ”Webinar: inspelning”. (Obs, använder Adobe Connect): https://wiki.swamid.se/display/SWAMID/SWAMID+Webinar+2+2014 Det finns en instruktion för att installera en Sibboleth SP som du kan följa: •
https://portal.nordu.net/pages/viewpage.action?pageId=31201449 Se även: •
https://wiki.shibboleth.net/confluence/display/SHIB2/Installation 6. Hämta filer och mallar •
•
•
Ladda hem mall för konfigurationsfil shibboleth2.xml http://... Ladda hem mall för konfigurationsfil attribute-‐map.xml http://... Ladda hem SWAMID signer certifikat http://md.swamid.se/md/md-signer.crt 7. Konfigurera Skapa signeringsnyckel (sp-‐cert.pem och sp-‐key.pem) Lägg in följande data i mallen shibboleth2.xml: • DITT-‐SYSTEMS-‐HELA-‐ENTITETSID-‐INKL-‐HTTP • EGEN-‐NYCKEL-‐FILNAMN-‐INKL-‐SOKVAG • EGET-‐CERT-‐FILNAMN-‐INKL-‐SOKVAG • SWAMID-‐SIGN-‐CERT-‐FILNAMN-‐INKL-‐SOKVAG 8. Testa din installation När ditt system är anmält till SWAMID och finns med i SWAMID:s stora metadatafil kan du börja testa din installation. Gå till: •
https://<mitt-‐system.lu.se>/secure Denna url (/secure) är skyddad av din Shibboleth Service Provider, och du kommer därför att skickas till idp.lu.se för att logga in. Efter inloggningen skickas du tillbaks, men /secure innehåller ingenting så därför får du felet ”Not found”. Däremot är du nu inloggad. Ange sedan följande url: •
https://<mitt-‐system.lu.se>/Shibboleth.sso/Session Om allting är som det skall så visas information om din inloggnings-‐session och en lista med de attribut som du fick av idp.lu.se. Gratulerar, du är färdig!