Installations/- och konfigurationsguide SIMPLESAML och SAMLAssertionService
Sambi
1. Installation SIMPLESAML
För installation av SimpleSAML och Apache httpd följ guiden för SkolFederationen:
https://fedwiki.atlassian.net/wiki/spaces/SKOL/pages/1605859/1.+SimpleSAMLphp+installation
2. Konfiguration
eHälsomyndigheten har valt att använda en statisk username/password-validering för att skapa olika typer av SAML-intyg.
2.1 Konfiguration en Identity Provider
För guiden för skolfederationen: https://fedwiki.atlassian.net/wiki/spaces/SKOL/pages/2326540/1.1.+SimpleSAMLphp+IdP
Gör därefter följande anpassningar:
2.1.1 Saml20-idp-hosted
För att modifiera den hostade IdP:n lägg till följande uppgifter i Er Idp. Editera fil metadata/saml20-idp-hosted.php
$metadata['__DYNAMIC:1__'] = array( |
'assertion.lifetime' sätter giltighetstiden på saml-intyget.
CustomIdp skall endast användas om man som aktör vill installera en IdP på en annan URL och den som SIMPLESAML som default skapar. Se Kapitel 3.2
2.1.2 Saml20-idp-remote
För att modifiera remote IdP:n lägg till följande uppgifter i Er Idp. Editera fil metadata/saml20-idp-remote.php
Om filen inte finns, skapa den genom att gå till https://localhost/simplesaml/saml2/idp/metadata.php?output=xhtml
'assertion.lifetime' sätter giltighetstiden på saml-intyget.
CustomIdp skall endast användas om man som aktör vill installera en IdP på en annan URL och den som SIMPLESAML som default skapar. Se Kapitel 3.2
2.1.2 Saml20-idp-remote
För att modifiera remote IdP:n lägg till följande uppgifter i Er Idp. Editera fil metadata/saml20-idp-remote.php
Om filen inte finns, skapa den genom att gå till https://localhost/simplesaml/saml2/idp/metadata.php?output=xhtml
Figur 1 Saml20-idp-remote innehåll
Klistra in innehållet som i figuren ovan. OBS! Figuren är ett exempel.
2.2 Konfiguration av Service provider
2.2.1 Saml20-sp-remote
För att modifiera remote IdP:n lägg till följande uppgifter i er Idp. Editera fil metadata/saml20-sp-remote.php.
Om filen inte finns skapa den genom att gå till https://localhost/simplesaml/module.php/saml/sp/metadata.php/default-sp?output=xhtml
Figur 2 Saml20-sp-remote innehåll
Klistra in innehållet som i figuren ovan. OBS! Figuren är ett exempel.
2.3 Konfiguration av CustomIdp fält
I de fall man sätter upp en IdP och SP som man sedan vill ladda upp på Sambi-federationens testmiljö kan man bortse från denna ändring.
CustomIdp skall endast användas om man som aktör vill installera en IdP på en annan URL och den som SIMPLESAML som default skapar.
Editera filen /var/simplesamlphp/modules/saml/lib/IdP/SAML2.php
Ändra raden
$a->setIssuer($idpMetadata->getString('entityid')); |
till
$a->setIssuer($idpMetadata->getString('customIdp')); |
2.4 Konfiguration av Authsources
Demon har valt att använda sig av user/password exempel som kommer med installationen av SimpleSAML.
Filen /var/simplesamlphp/config/authsources.php innehåller exempel på användare som eHälsomyndigheten lagt till. Dessa kommer att användas som roller.
De tillagda attributen är det som sedan kommer med en SAMLResponse.
<?php 'exampleauth:UserPass', 'SJUKSKOTERSKA:sambi' => array( 'BARNMORSKA:sambi' => array( |
2.5 Konfiguration av Federation
För guide till skolfederationen: https://fedwiki.atlassian.net/wiki/spaces/SKOL/pages/2326545/1.3.+Manage+the+Federation+Metadata
Använd SAMBI trial metadatafil istället för SkolFederationens metadata.
Ändra i filen config/config-metarefresh.php.
Följande uppgifter finns på Sambis hemsida https://www.sambi.se/teknik/:
- Trialmiljöns metadata: https://fed.sambi.se/trial/md
- Trialmiljöns certifikat: https://www.sambi.se/certifikat-for-metadata-sambi-trial
Vad federationsfunktionen kommer att göra är att skapa två filer; federation/saml20-idp-remote.php och federation/saml20-sp-remote.php baserat på metadatafilen.
2.5.1 Metadata till federationsoperatören SAMBI
För att kunna skicka en aktörs metadata till federationsoperatören SAMBI behövs inget medlemskap men en anmälan krävs.
Mer information finns att läsa på SAMBI:s hemsida https://www.sambi.se/teknik/metadata/lamna-nytt-metadata.
3. SAMLAssertionService
3.1 Start av SamlAssertionService
Kör kommando för att starta tjänsten.
java -jar SamlAssertionService-1.0.0.jar |
SAMLAssertionService är en Spring Boot applikation. Det applikationen gör är att ansluta sig emot IdP:n och authentiserar sig.
Efterföljande steg är att extrahera ut en SAML Assertion ifrån en SAML Response.
I applikationen finns även enhetstester som ansluter mot eHälsomyndighetens Service Provider. Applikationen konsumerar eHälsomyndighetens referens applikation.
Anslutning mot SamlAssertionService görs till exempel genom att köra direkt ifrån en browser.
3.2 Användning av enhetstester/exempel
SamlAssertionService har inbyggda testfall som anropar egen Spring Boot server för att hämta SAML Assertion.
SAML Assertion skickas in som en SoapHeader till eHälsomyndigheten Service Provider för validering.
| Version | Datum | Kommentar |
|---|---|---|
| 1.0 | 2019-02-08 | Ny |
/Bild%201%20Sambi.png)
/Bild%202%20Sambi.png)
/Bild%203%20Sambi.png)